WO2015114871A1 - 鍵管理装置および鍵管理方法 - Google Patents

鍵管理装置および鍵管理方法 Download PDF

Info

Publication number
WO2015114871A1
WO2015114871A1 PCT/JP2014/073602 JP2014073602W WO2015114871A1 WO 2015114871 A1 WO2015114871 A1 WO 2015114871A1 JP 2014073602 W JP2014073602 W JP 2014073602W WO 2015114871 A1 WO2015114871 A1 WO 2015114871A1
Authority
WO
WIPO (PCT)
Prior art keywords
key
encryption
time
management device
update
Prior art date
Application number
PCT/JP2014/073602
Other languages
English (en)
French (fr)
Inventor
淳也 藤田
遠藤 浩通
山田 勉
訓 大久保
清水 勝人
Original Assignee
株式会社日立製作所
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 株式会社日立製作所 filed Critical 株式会社日立製作所
Publication of WO2015114871A1 publication Critical patent/WO2015114871A1/ja

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0891Revocation or update of secret information, e.g. encryption key update or rekeying

Definitions

  • the present invention relates to a security technology for a control system and components constituting the control system.
  • Cryptographic techniques such as cryptographic processing and digital signature are realized by keys held by each terminal. This key is data for controlling the procedure of the encryption algorithm, and is secretly shared for each terminal or network group.
  • Each terminal can implement encryption and decryption of data, creation and verification of digital signatures, etc. using a common encryption algorithm and secret shared key between terminals, resulting in improved security of each terminal and system it can.
  • a packet that controls a specific device may be altered by a malicious third party, and the device may execute unintended control processing.
  • security technology is also required in control systems.
  • control device includes an embedded processor and a low-dose memory from the viewpoint of development cost and thermal design.
  • the conventional security technology is designed for high-performance computers such as OA personal computers and Web servers. Applying the conventional security technology to a control device with many computational resource constraints causes a decrease in system availability.
  • Non-Patent Document 1 The technology of Non-Patent Document 1 is called IPsec (Security Architecture for Internet Protocol), and is a mechanism that realizes key update between terminals.
  • IPsec Security Architecture for Internet Protocol
  • the encryption key (common key) generated between devices is exchanged between devices using the Diffie-Hellman key exchange algorithm, and after both sides authenticate again, encrypted communication is performed using the exchanged key. Run the tunneling process to start.
  • a plurality of keys are shared in advance between devices, and a means for transmitting together with information for identifying an encryption key is provided in a transmission-side device. Also, means for determining a decryption key from the identification information is provided in the receiving side device.
  • Non-Patent Document 1 The Diffie-Hellman key exchange algorithm used in the technology of Non-Patent Document 1 handles a calculation using a large prime number, and therefore has a very large calculation amount. For this reason, the processing load per key renewal is very large, and when this is executed on the control device, the calculation resources of the control device are pressed and the real-time property of the control processing cannot be guaranteed.
  • Non-Patent Document 1 on the premise of P2P communication cannot realize performance that satisfies the requirements of the control system.
  • Patent Document 1 The technology of Patent Document 1 always holds multiple versions of keys in each device, and includes the version information of the encryption key used for encryption in the transmission data. On the receiving side, the encryption key version information included in the received data is referenced and decrypted with the corresponding key.
  • Patent Document 1 causes an increase in communication load due to communication with the key management server and key distribution processing, and an increase in processing load on each device associated with the encryption key decryption process during reception.
  • the configuration using the key management server is not desirable from the viewpoint of the maintenance cost of the key management server and the network load accompanying the occurrence of communication.
  • the present invention provides a key management device that allows each device to autonomously execute key update and generation management in a device and a system that perform control communication, such as a controller and a control server.
  • the present application includes a plurality of means for solving the above-described problems.
  • an encryption key used for data encryption or decryption which is a plurality of encryption keys that are sequentially updated at a predetermined timing.
  • a storage unit for storing information, generation information including information indicating the update order of the encryption key and the current key to be used for encryption, and the generation information is referred to when data is transmitted.
  • Extracting the current key from the plurality of encryption keys performing encryption processing on the transmission data using the extracted current key, attaching the identification information of the current key used for encryption to the transmission data,
  • the identification information of the encryption key used for encryption is extracted from the received communication packet, and the encryption key indicated by the identification information is obtained from the current key Yes, until the number of updates Is determined by referring to the generation information to determine whether the encryption key is within the range up to a predetermined number of updates, and when it is within the range, decrypting the received data using the encryption key, And a processing unit to be executed.
  • the present invention can provide a key management device in which each device can autonomously execute key update and generation management in devices and systems that perform control communication, such as controllers and control servers.
  • FIG. The figure which shows the flowchart of the key switch process in the transmission side apparatus 100 and the reception side apparatus 200.
  • FIG. The figure which shows the generation update process of the key in the encryption key list
  • a device 100 shown in FIG. 1 is a transmission-side device among devices to which the present invention is applied.
  • a device 200 shown in FIG. 2 is a receiving side device among devices to which the present invention is applied.
  • the function on the transmission side and the function on the reception side will be described separately with reference to FIGS. 1 and 2. In practice, these functions are executed at the time of transmission and reception in one apparatus.
  • FIG. 1 is a diagram showing a transmission side device.
  • the transmission-side apparatus 100 to which the present invention is applied includes an encryption key table 110 that manages key information and key data of three or more generations having IDs for which key usage generations and expiration dates are defined, and data to be encrypted.
  • An encryption target data holding unit 120 that acquires and buffers the data, and a current key acquisition unit 130 that acquires a key to be encrypted from the encryption key table 110 when the encryption target data holding unit 120 receives the data;
  • a generation management unit 140 that rewrites generation information in the encryption key table 110, an internal clock 150 that is a unique clock inside the apparatus, and an encryption key table 110
  • the expiration date just registered in the internal clock 150 is compared with the internal clock 150, and if the expiration date has expired, an update instruction is notified to notify the generation management unit 140 of an update command.
  • a key used for encryption is acquired from the encryption target data holding unit 120 and the current key acquisition unit 130, information for identifying the encryption key is added to the header information, encryption processing is executed, and the data is transmitted to the external device.
  • an encryption processing unit 170 is included in the encryption key table 110.
  • the encryption key table 110 has a sufficient amount of keys until the next complete stop of the apparatus, and shares the key list in advance.
  • the sufficient amount means the number of keys including spare keys to be held in consideration of unscheduled update processing.
  • the number of entries in the encryption key table 110 is M or more because the number of keys held as a spare is included.
  • the number of keys held as a spare is determined according to the memory resource of the apparatus into which the present invention is introduced.
  • the key list included in the encryption key table 110 is shared between devices by a secure method. This method is performed online or offline. For example, a method of writing key list information at the same time as writing a soft image to each device, a method of encrypting a newly generated key list using an existing encryption key while control processing is not being executed, and transmitting it There is.
  • FIG. 2 is a diagram showing a receiving-side device.
  • the receiving apparatus 200 to which the present invention is applied includes a decryption key table 210 that manages key information and key data of three or more generations having IDs for which a key generation and an expiration date are defined, and buffers the obtained encrypted data
  • the received data holding unit 220 and the received data holding unit 230 receive the data
  • the ID of the key included in the header of the encrypted data is acquired
  • the decryption key acquisition unit acquires the key used for the decryption from the decryption key table 210 230
  • a generation management unit 240 that rewrites generation information in the encryption key table 210 when an update command is received or a specific key is revoked, an internal clock 250 that is a unique clock inside the apparatus,
  • a key for notifying the generation management unit 240 of an update command when the expiration date registered in the decryption key table 210 is compared with the internal clock 250 and the expiration date has expired.
  • the update permission determination unit 260 detects that the decryption key has been changed, the internal clock correction unit 270 corrects the internal clock 250 based on the change time, the decryption data holding unit 220, and the decryption acquisition unit 230 for decryption.
  • a decryption processing unit 280 for acquiring a key to be used and executing decryption processing to restore the encrypted data.
  • the number of entries in the decryption key table 210 is the same as the number of entries in the encryption key table 110. Also, it is assumed that the key ID is uniquely associated with the encryption key or the decryption key.
  • the internal clock correction unit 270 acquires the reception time and the expiration date in the decryption key table 210 To calculate the error of the internal clock of the device itself. The calculated error is reflected in the internal clock 250. The internal clock 250 corrects the time based on the received error information.
  • FIG. 3 shows a flowchart at the time of transmission of encrypted data in the transmission side apparatus 100.
  • the encryption target data holding unit 120 is always waiting for data to be encrypted.
  • the current key acquisition unit 130 detects that the encryption target data holding unit 120 has received the data, and acquires an encryption key whose generation is “current key” (S310).
  • encryption key generation attribute values There are five types of encryption key generation attribute values: “unusable”, “old key”, “current key”, “next key”, “unused”, and “unusable”. Indicates that the encryption key cannot be used, “old key” indicates the key that was used before switching to the encryption key currently in use, and “current key” indicates the key that is currently being used as the encryption key. , “Next key” indicates a key that becomes the current key when the current key is switched next, and “unused” indicates that the key is unused as an encryption key and is not in any of the four attributes.
  • the current key acquisition unit 130 acquires the current key
  • the current key and encryption target data are transferred to the encryption processing unit 170, and encryption processing is executed (S320).
  • Data is divided according to the network MTU (Maximum Transmission Unit) value.
  • the key ID used as the current key is assigned as a header to generate encrypted packet data (S330). After the packet data is generated, a header according to the protocol stack of the network is added and transmitted to another device.
  • Fig. 4 shows a specific packet generation image.
  • the plaintext data 400 divided according to the MTU value is converted into encrypted data 410 by encryption processing.
  • the encrypted data 410 is provided with the ID information (421) of the current key used for encryption as a header.
  • a header such as an IP (Internet Protocol) header is added and transmitted to the outside according to the header addition processing of the communication protocol.
  • IP Internet Protocol
  • an area in the header of the communication protocol for ID assignment it is possible to use an area in the header of the communication protocol for ID assignment.
  • a reserved part of the IP header, etc. can be used that is not used in normal communication.
  • Fig. 5 shows a flowchart for executing key generation update.
  • the key generation update process is periodically called to acquire the time of the internal clock (S510), to acquire the expiration date of the currently used encryption key (current key) (S520), and whether to update the generation.
  • the validity check (S530) is performed by the update availability determination unit 140, and the generation management unit 140 executes generation update (S540).
  • the expiration date of the current key is managed as time information or remaining time. When managed as time information, it is determined whether or not the expiration date has been exceeded by comparing the time with the internal clock. When managed as remaining time, the elapsed time from the previous time acquisition is acquired, and the difference from the remaining time of the current key is obtained. If the difference is 0 or less, it is determined that the expiration date has expired.
  • the key generation update process is determined according to the lifetime of the encryption key, that is, the length of the encryption key.
  • update key determination unit 160 determines that the expiration date has expired, it performs generation update.
  • FIG. 6 is a diagram showing an image of generation update processing.
  • the attribute value of the key assigned as the old key is disabled, the attribute value of the current key is the old key, the attribute value of the next key is the current key, and the unused key One of the attribute values is used as the next key. It is assumed that the order in which unused keys are assigned is determined in advance between the devices.
  • the above key generation update processing is executed in the same manner in the receiving-side apparatus 200.
  • FIG. 7 shows a flowchart when the receiving device 200 receives the encrypted packet.
  • the received data holding unit 220 in the receiving side apparatus 200 buffers the packet data, and the decryption key acquiring unit 230 acquires the key ID information included in the packet (S710). After obtaining the ID, the decryption key obtaining unit 230 obtains the key corresponding to the ID from the decryption key table 210 and confirms the generation attribute value (S720).
  • the received data is discarded (S730, S780). If the attribute value is the old key, the expiration date shown in FIG. 6 is confirmed. If the expiration date of the old key has expired, the received data is discarded (S790).
  • decryption processing is executed (S740).
  • the time is acquired and the internal clock correction process is executed (S750, S760).
  • This time correction optimizes the time error in the network and eliminates the need for redundant processing such as time synchronization processing using NTP (Network Time Protocol) or the like.
  • Fig. 8 shows the timing chart of the correction process.
  • apparatus X transmits an encrypted packet
  • apparatus Y receives an encrypted packet.
  • Device X first performs generation update, and generates and transmits an encrypted packet with a key whose ID is 03.
  • the device Y receives the packet encrypted with the key with ID 03 at the time before its own generation switching, and detects the difference in update time with the device X.
  • the reception time of the packet encrypted with the next key is compared with the expiration date of the current key, and the difference is calculated. By reflecting this difference on its own internal clock or the expiration date of the current key, an error in the key update time between devices is corrected.
  • This correction process can guarantee that the error does not exceed a certain value even if the expiration date of the old key is a constant value, and can realize autonomous key generation management in a long-term maintenance-free manner.
  • FIG. 1 A timing chart showing the functions realized by the above processing is shown in FIG.
  • FIG. 9 is an example showing a flow when each device autonomously executes a key generation update process between the device X and the device Y.
  • the current key IDs of the devices X and Y are 02, and are incremented by 1 each time a generation update occurs.
  • Each device has an independent key update timing, and the key generation is updated at the timing shown in FIG.
  • the device X first performs a key generation update.
  • this generation update the ID of the current key is changed from 02 to 03, and the ID of the next key is changed from 03 to 04.
  • the device X transmits the cipher with the key whose ID is 03 which is the new current key.
  • the device Y that has received the key encrypted with the key whose ID is 03 decrypts the encrypted data with the key whose ID is 03 registered as the next key. Then, correction of the internal clock is executed, and generation update is executed immediately.
  • the validity period of the old key (ID: 02) is provided for a certain period of time. Only during this period, the encrypted data encrypted with the old key can be decrypted.
  • the device Y executes the generation update process first, and when the device X transmits the encrypted data encrypted with the encryption key (ID: 03) before the generation update to the device Y, the device Y Decrypt with old key (ID: 03). The device Y invalidates the old key (ID: 03) after a certain period.
  • the device Y encrypts it with the current key (ID: 04) and transmits it to the device X.
  • the device X When the device X receives a packet encrypted with the key whose key ID is 04, the device X performs the decryption process with the key registered as the next key, and performs the generation update. After the generation update is executed, the old key is validated for a certain period and then invalidated.
  • the first example is a method of setting the decoding period to a fixed value.
  • This method is a method in which a sufficient time for completing the key update of all devices in the network is set as a fixed value, and the fixed value is assigned as the expiration date of the old key when the generation is updated. Although it is a simple method, it is necessary to determine the fixed value at the time of system design.
  • the second example is a method of counting the number of devices to be transmitted with a key having identification information corresponding to the current key as seen from the device after generation switching, and invalidating the old key when the number exceeds the specified number. .
  • a device that communicates for each control cycle is unique, and this method is effective.
  • FIG. 10 is a diagram showing a flowchart of one method for limiting the expiration date of the old key. This process is executed by the generation management unit 240.
  • This process is called every time an encrypted packet encrypted with a key registered as a current key as seen from a certain device is received after generation update is completed, and the source of the encrypted packet is specified (S1010). Is new (S1020). If it is determined to be new, the number of devices using the current key (the number of devices using the current key) is counted (S1030). If this number exceeds the specified number, it is assumed that communication using the old key has been completed, and the old key is invalidated (S1040, S1050). As a result, since the old key can be invalidated after confirming the key update of all the devices to be communicated when viewed from the own device, the time allowed for decryption with the old key can be limited to the optimum time.
  • the number of old key using devices is counted.
  • the number is not limited to the number of devices, but may be determined by information identifying the device such as the device address.
  • the third method is to extend the expiration date of the old key for a certain period every time an encrypted packet using the old key is received.
  • This method is a method of receiving an encrypted packet using an old key, extending a period during which decryption is permitted for a certain fixed period, and repeating it until there is no reception.
  • the extension period added by this method may have an upper limit.
  • the fixed period of the first method and the third method shown above may be changed. This determines the value of the period during which the old key is invalidated from the state of communication using the old key during system operation. In this method, the result of the previous generation update process can be reflected, and the time for automatically invalidating the old key can be optimized.
  • the application form of the present invention can be applied not only to the inside of the apparatus but also as a dedicated module for connecting between networks outside the apparatus.
  • FIG. 11 shows an application example.
  • a dedicated chip 1110 including dedicated hardware or SoC (System on Chip) on which the processing blocks shown in the transmitting device 100 and the receiving device 200 are mounted is provided between the communication interfaces 1120.
  • SoC System on Chip
  • the communication interface 1120 is used for general purposes such as Ethernet (registered trademark) or serial communication.
  • the internal configuration of the dedicated chip 1110 is shown in FIG.
  • the encrypted data transmission processing unit 1210 includes each processing unit of the present invention included in the transmission-side device 100 illustrated in FIG.
  • the encrypted data reception processing unit 1220 includes each processing unit of the present invention included in the reception processing device 200 illustrated in FIG.
  • only the internal clock may have a configuration that either one of the encryption data transmission processing unit 1210 and the encryption data reception processing unit 1220 has, or a configuration that has the configuration outside the encryption data transmission processing unit 1210 and the encryption data reception processing unit 1220. Good.
  • the encryption key / decryption key table 1230 has a configuration in which the encryption key table 110 and the decryption key table 210 are combined.
  • the encryption key / decryption key table 1230 is referenced and managed by both the encrypted data transmission processing unit 1210 and the encrypted data reception processing unit 1220.
  • the function of the present invention can be easily realized for an existing apparatus.
  • the present invention can provide a function of adjusting the use start period of the next key in addition to adjusting the use end period of the previous key.
  • the next key can be decrypted simultaneously with the start of use of the current key. Since the next key itself is not used for encryption and a ciphertext sample cannot be obtained, the security risk is low compared to the old key and the current key.
  • Fig. 13 shows the effect of adjusting the next key usage start period.
  • both devices are set with a key with ID 02 as the current key and a key with ID 03 as the next key.
  • the next key (ID: 03) is not permitted to be decrypted when the key with ID 02 is set as the current key, and the next key is used when the predetermined time comes before the scheduled time for the next generation update. Allow decryption.
  • This predetermined time is a time that takes into account the time when generation update is started even for one device in the network.
  • the attacker 1310 performs a brute force attack of the encryption key and succeeds in generating an illegal packet 1320 encrypted or signed with the next key. However, since it is a period during which decoding is not permitted, the device Y does not accept the illegal packet 1320.
  • the first example is a method in which a predetermined time during which the next key can be decrypted is a fixed value.
  • This method is a simple method and is effective when it is guaranteed that the error of the internal clock of each device is within a predetermined range.
  • the second example is a method of determining a period during which the decryption of the next key is permitted from the time when the first encrypted packet encrypted with the next key is received at the time of the previous generation update start process.
  • generation update processing also tends to be periodic, and the time difference from the previous generation update start period is not so large.
  • the decryption permission period with the next key is initially set longer, and an optimized decryption permission period is acquired after the second generation update (FIG. 14).
  • a packet 1410 in FIG. 14 is the first packet received from the encrypted packet encrypted with the next key, and a period 1420 indicates a period in which the usable period of the next key is limited due to optimization.
  • the internal clock 250 can be corrected simultaneously via the internal clock correction unit 270. By doing so, the error of the internal clock can be reduced between the devices.
  • the system includes a plurality of devices that transmit or receive control information, and each device has identification information (hereinafter referred to as an ID) in which a key usage generation and an expiration date are defined. Own multiple keys.
  • the transmitting side device assigns the ID of the encryption key to the data at the time of data encryption, and the receiving side device decrypts it with the key corresponding to the ID at the time of data reception.
  • each device has at least three generations of keys, and when encrypting the key, it encrypts and transmits with the middle generation key of the three generations.
  • the receiving side permits decryption only from the intermediate generation to the keys of the previous and next generations.
  • the system of this embodiment does not require a special server for managing the encryption key, and even when each device autonomously updates the encryption key, it prevents the occurrence of a period during which communication cannot be performed due to a key mismatch and is secure.
  • a system can be provided.
  • each device has an internal clock, and this clock is used to manage the expiration date of the encryption key. Furthermore, as viewed from the intermediate generation key, the period during which the previous and next generation keys are valid is limited.
  • this invention is not limited to the above-mentioned Example, Various modifications are included.
  • the above-described embodiments have been described in detail for easy understanding of the present invention, and are not necessarily limited to those having all the configurations described.
  • a part of the configuration of one embodiment can be replaced with the configuration of another embodiment, and the configuration of another embodiment can be added to the configuration of one embodiment.
  • Each of the above-described configurations, functions, processing units, processing means, and the like may be realized by hardware by designing a part or all of them with, for example, an integrated circuit.
  • Each of the above-described configurations, functions, and the like may be realized by software by interpreting and executing a program that realizes each function by the processor.
  • Information such as programs, tables, and files for realizing each function can be stored in a recording device such as a memory, a hard disk, or a solid state drive (SSD), or a recording medium such as an IC card, an SD card, or a DVD.
  • the control lines and information lines indicate what is considered necessary for the explanation, and not all the control lines and information lines on the product are necessarily shown. Actually, it may be considered that almost all the components are connected to each other.
  • transmission side device 110 encryption key table 120: encryption target data holding unit 130: current key acquisition unit 140: generation management unit 150: internal clock 160: update availability determination unit 170: encryption processing unit 200: reception side device 210 : Decryption key table 220: Received data holding unit 230: Decryption key acquisition unit 240: Generation management unit 250: Internal clock 260: Update availability determination unit 270: Internal clock correction unit 280: Decryption processing unit 400: Plain text data to be encrypted 410: Encrypted data obtained by encrypting plaintext data 400 420: Payload data obtained by adding the current key ID to the encrypted data 400 430: Packet data generated from the payload data 420 1110: Dedicated chip that implements the function of the present invention 1120: Controller communication interface 1210: Encryption data transmission processing unit 1220 in the dedicated chip 1110: Encryption data reception processing unit 1230 in the dedicated chip 1110: Encryption in the dedicated chip 1110 Encryption key / decryption key table 1310: Attacker

Abstract

 本発明は、鍵の更新や世代管理を各装置が自律的に、実行することができる鍵管理装置を提供することを課題とする。この課題を解決するために、所定のタイミングで順次更新される複数の暗号鍵の情報と、前記暗号鍵の更新順序及び現在暗号化に用いるべき現鍵がいずれであるかを示す情報を含む世代情報と、を記憶する記憶部と、データ送信時には、前記世代情報を参照して前記複数の暗号鍵から前記現鍵を抽出し、抽出した前記現鍵用いて送信データに暗号処理を実行し、暗号化に用いた前記現鍵の識別情報を送信データに付して通信パケットを生成して他の装置へ送信する処理と、データ受信時には、受信データの暗号化に用いた暗号鍵が、前記現鍵から所定の更新回数前まで、あるいは、所定の更新回数後までの範囲内の暗号鍵であるか判別し、範囲内であった場合に受信データを復号化する処理と、を実行する処理部と、を備える。

Description

鍵管理装置および鍵管理方法
 本発明は、制御システム、および制御システムを構成するコンポーネント向けのセキュリティ技術に関する。
 情報処理装置向けセキュリティ技術として、鍵管理技術がある。
 暗号処理やデジタル署名など暗号技術は、各端末が保持する鍵によって実現される。この鍵は、暗号アルゴリズムの手続きを制御するデータであり、各端末やネットワークグループ毎で秘密に共有される。
 各端末は、端末間で共通の暗号アルゴリズムと秘密に共有された鍵によって、データの暗号化や復号、デジタル署名の作成や検証などを実現でき、結果的に各端末やシステムのセキュリティを向上化できる。
 一方、鍵は適切に管理されなければ、これらセキュリティ技術の安全性が低下する恐れがある。
 一つの暗号鍵を長期間使用していると、何らかの手段で悪意ある第三者に鍵を解読されるリスクが高くなり、セキュリティ低下に繋がる。すなわち、高い安全性を維持するためには、定期的に鍵を更新する必要がある。その一方、鍵の更新を含めた鍵管理を人手で実施することは、管理コストが増大する原因となる。
 したがって、鍵を自動的かつ定期的に更新する鍵管理技術が必要となる。
 近年、電力やガスなどのインフラを支える産業制御システムや、システムを構成する制御サーバやコントローラなどの制御装置(以下、装置)において、セキュリティ対策が注目されている。
 たとえば、特定装置を制御するパケットが、悪意ある第三者により改ざんされ、意図しない制御処理をその装置が実行する恐れがある。このような脅威に対応するため、制御システムにおいても、セキュリティ技術が求められる。
 一方、従来の制御システムやシステムを構成する装置は、セキュリティ対策を意図した設計をされていなかったため、拡張性に乏しい。たとえば、制御装置は、開発コストや熱設計の観点から、組み込みプロセッサや低用量メモリから構成されている。
 従来のセキュリティ技術は、OAパソコンやWebサーバなどの高性能コンピュータ向けに設計されており、計算資源の制約が多い制御装置で従来のセキュリティ技術を適用することは、システム可用性の低下を招く。
 以上を踏まえ、処理性能が低い制御装置向けのセキュリティ技術を開発する必要がある。
 非特許文献1の技術は、IPsec(Security Architecture for Internet Protocol)と呼ばれ、端末間で鍵更新を実現する仕組みである。この技術は、各装置間で生成した暗号化鍵 (共通鍵)を、Diffie-Hellman鍵交換アルゴリズムにより装置間で鍵を交換し、再度双方で認証したのちに、交換後の鍵で暗号通信を開始するためのトンネリング処理を実行する。
 特許文献1の技術は、事前に複数の鍵を装置間で共有し、暗号化鍵を識別する情報とともに送信する手段を送信側装置に設ける。また、識別情報から解読鍵を決定する手段を受信側装置に設ける。
特開2005-159780公報
RFC 4301 "Security Architecture for Internet Protocol"(2005)
 (非特許文献1)非特許文献1の技術で用いられるDiffie-Hellman鍵交換アルゴリズムは、巨大な素数を用いた計算を扱うため、計算量が非常に大きい。そのため、鍵更一回あたりの処理負荷は非常に大きく、これを制御装置上で実行した場合、制御装置の計算資源を圧迫し、制御処理のリアルタイム性を保証できない。
 加えて、交換した鍵を用いた再認証の実行時間も含めると、鍵交換開始から暗号通信開始までの時間が非常に長くなる。この間、暗号通信を実行することができず、制御通信のリアルタイム性までも保証できない。
 また、制御システム内ネットワークは、ブロードキャストを多用しており、P2P通信を前提とした非特許文献1の技術では、制御システムの要件を満足する性能を実現できない。
 (特許文献1)特許文献1の技術は、各装置で常に複数バージョンの鍵を保有し、送信データに暗号化に使用した暗号鍵のバージョン情報を含める。受信側では、受信データに含まれる暗号鍵バージョン情報を参照し、対応する鍵で復号する。
 特許文献1の技術によると、暗号鍵更新に伴う鍵不一致をなくし、鍵更新に伴うダウンタイム低減や通信データ漏れを防止できる。
 しかし、特許文献1の技術は、鍵管理サーバとの通信や鍵配送処理による通信負荷増大や、受信時の暗号鍵復号処理に伴う各装置の処理負荷増大を招く。
 また、鍵管理サーバがダウンした場合や、鍵管理サーバと装置間の通信が何らかの原因で途絶えた場合、鍵の適切な管理を維持できない。加えて、鍵管理サーバの維持コストや、通信発生に伴うネットワーク負荷の観点から、鍵管理サーバを用いた構成は望ましくない。
 以上を踏まえ、本発明は、コントローラや制御サーバなど、制御通信を行う装置およびシステムにおいて、鍵の更新や世代管理を各装置が自律的に、実行することができる鍵管理装置を提供する。
 上記課題を解決するために、例えば特許請求の範囲に記載の構成を採用する。 
 本願は上記課題を解決する手段を複数含んでいるが、その一例を挙げるならば、データの暗号化又は復号化に用いる暗号鍵であって、所定のタイミングで順次更新される複数の暗号鍵の情報と、前記暗号鍵の更新順序及び現在暗号化に用いるべき現鍵がいずれであるかを示す情報を含む世代情報と、を記憶する記憶部と、データ送信時には、前記世代情報を参照して前記複数の暗号鍵から前記現鍵を抽出し、抽出した前記現鍵用いて送信データに暗号処理を実行し、暗号化に用いた前記現鍵の識別情報を送信データに付して通信パケットを生成して他の装置へ送信する処理と、データ受信時には、受信した通信パケットから暗号化に用いた暗号鍵の識別情報を抽出し、当該識別情報が示す暗号鍵が、前記現鍵から所定の更新回数前まで、あるいは、所定の更新回数後までの範囲内の暗号鍵であるか前記世代情報を参照して判別し、範囲内であった場合に当該暗号鍵を用いて受信データを復号化する処理と、を実行する処理部と、を備えることを特徴とする。
 本発明は、コントローラや制御サーバなど、制御通信を行う装置およびシステムにおいて、鍵の更新や世代管理を各装置が自律的に、実行することができる鍵管理装置を提供することができる。
本発明における送信側装置100の構成を示す図。 本発明における受信側装置200の構成を示す図。 送信側装置100における暗号データ送信処理のフローチャートを示す図。 平文データ400を暗号パケット430へ変換するイメージを示す図。 送信側装置100、および受信側装置200における鍵切り替え処理のフローチャートを示す図。 暗号化鍵リスト110における鍵の世代更新処理を示す図。 受信側装置200における暗号データ受信処理のフローチャートを示す図。 二装置間で鍵の更新時刻を補正するタイミングチャートを示す図。 二装置間で鍵を世代更新する際の、暗号化鍵および復号鍵の切り替えるタイミングチャートを示す図。 旧鍵の有効期限を制限する一方式のフローチャートを示す図。 本発明の一適用例を示す図。 本発明を実装した専用チップ1110の構成を示す図。 本発明の効果例をタイミングチャートで示す図。 本発明の作用をタイミングチャートで示す図。
 以下、図面を用いて本発明を説明する。
  (構成の説明)
 図1および図2は、本発明を適用した装置の構成例である。
 図1に示す装置100は、本発明を適用した装置の内、送信側装置である。一方、図2に示す装置200は、本発明を適用した装置の内、受信側装置である。以下、図1及び図2を用いて、送信側の機能と受信側の機能とを分けて説明するが、実際には、これらは1つの装置内で送信時,受信時に実行される。
 図1は、送信側装置を示した図である。本発明を適用した送信側装置100は、鍵の使用世代および有効期限が定められたIDを有する三世代以上の鍵情報と鍵データを管理する暗号化鍵テーブル110と、暗号対象となるデータを取得し、そのデータをバッファリングする暗号対象データ保持部120と、暗号対象データ保持部120がデータを受け取った際、暗号化鍵テーブル110から暗号化すべき鍵を取得する現鍵取得部130と、更新指令を受け取ったときや特定の鍵を無効化するときに、暗号化鍵テーブル110内の世代情報を書き換える世代管理部140と、装置内部の固有時計である内部時計150と、暗号鍵テーブル110に登録さえた有効期限と内部時計150とを比較し、有効期限が満了している場合、更新指令を世代管理部140に通知する鍵更新可否判断部160と、暗号対象データ保持部120と現鍵取得部130から暗号化に用いる鍵を取得し、ヘッダ情報に暗号化鍵を識別する情報を付与し、暗号処理を実行して外部装置へ送信する暗号処理部170とを有する。
 暗号化鍵テーブル110は、装置を次に完全停止するまでの十分量の鍵を有し、その鍵一覧を事前に共有する。ここで十分量とは、予定外の更新処理発生を踏まえ、保持する予備の鍵を含めた鍵の数を意味する。
 たとえば、次にシステムがサービス提供を停止までに必要な鍵の更新回数をMとした場合、暗号鍵テーブル110のエントリ数は、予備として保持する鍵数を含めるため、M以上となる。予備として保持する鍵数は、本発明を導入する装置のメモリ資源に応じて決定する。
 暗号化鍵テーブル110が有する鍵一覧は、安全な方法によって装置間で共有される。この方法は、オンラインまたはオフラインで実施する。たとえば、各装置にソフトイメージを書き込むときと同時に、鍵一覧情報を書き込む方法や、制御処理未実施中に既存の暗号化鍵を用いて新規生成した鍵一覧を暗号化し、それを送信する方法などがある。
 図2は、受信側装置を示した図である。本発明を適用した受信側装置200は、鍵の使用世代および有効期限が定められたIDを有する三世代以上の鍵情報と鍵データを管理する復号鍵テーブル210と、取得した暗号データをバッファリングする受信データ保持部220と、受信データ保持部230がデータを受け取った際、暗号データのヘッダに含まれる鍵のIDを取得し、復号鍵テーブル210から復号に用いる鍵を取得する復号鍵取得部230と、更新指令を受け取ったときや、特定の鍵を無効化するときに、暗号化鍵テーブル210内の世代情報を書き換える世代管理部240と、装置内部の固有時計である内部時計250と、復号鍵テーブル210に登録さえた有効期限と内部時計250とを比較し、有効期限が満了している場合、更新指令を世代管理部240に通知する鍵更新可否判断部260と、復号鍵が変更されたことを検知し、変更時刻をもとに内部時計250を補正する内部時計補正部270と、復号データ保持部220と復号取得部230から復号に用いる鍵を取得し、復号処理を実行して暗号データを復元する復号処理部280とを有する。
 復号鍵テーブル210のエントリ数は、暗号化鍵テーブル110のエントリ数と同値とする。また、鍵のIDから一意に暗号化鍵または復号鍵と関連付けされているものとする。
 内部時計補正部270は、復号鍵取得部230が復号鍵テーブル210から取得した復号鍵が、装置200が現在使用する復号鍵と異なる場合、受信時刻を取得し、復号鍵テーブル210内の有効期限と比較することで自装置の内部時計の誤差を算出する。算出した誤差は、内部時計250へ反映される。内部時計250は、受け取った誤差情報をもとに時刻を補正する。
 (処理概要説明)
 以下、本発明の具体的な処理を説明する。
 図3に、送信側装置100における暗号データ送信時のフローチャートを示す。
 暗号対象データ保持部120は、常時暗号対象となるデータを待ち受ける状態にある。現鍵取得部130は、暗号対象データ保持部120がデータを受信したことを検知し、世代が「現鍵」である暗号化鍵を取得する(S310)。
 暗号化鍵の世代属性値は、鍵の使用状況に応じて、「使用不可」、「旧鍵」、「現鍵」、「次鍵」、「未使用」の五種類あり、「使用不可」は、暗号化鍵として使用不可能な状態、「旧鍵」は、現在使用中の暗号化鍵に切り替える前に使用していた鍵、「現鍵」は、暗号化鍵として現在使用中の鍵、「次鍵」は、現鍵の次に切り替えた時に現鍵となる鍵、「未使用」は、暗号化鍵として未使用で、前記四属性のいずれの状態でないものを示す。
 現鍵取得部130が現鍵取得した後、現鍵および暗号対象データを暗号処理部170へ転送し、暗号処理を実行する(S320)。データは、ネットワークのMTU(Maximum Trasmission Unit)値に従って分割される。
 暗号処理完了後、現鍵として使用した鍵のIDをヘッダとして付与し、暗号パケットデータを生成する(S330)。パケットデータの生成後、ネットワークのプロトコルスタックに従ったヘッダを付与し、他装置へ送信される。
 具体的なパケット生成イメージを図4に示す。MTUの値に従って分割された平文データ400は、暗号処理によって暗号データ410に変換される。暗号データ410は、暗号化に用いた現鍵のID情報(421)がヘッダとして付与される。外部送信時は、通信プロトコルのヘッダ付与処理に従い、IP(Internet Protocol)ヘッダなどのヘッダが付与されて外部へ送信される。
 なお、ID付与は、通信プロトコルのヘッダ内の領域を用いることが可能である。たとえば、IPヘッダの予約値など、通常の通信で使用されない部分などを利用できる。
 図5に、鍵の世代更新実行時のフローチャートを示す。
 鍵の世代更新処理は、周期的に呼び出され、内部時計の時刻取得(S510)、現在使用中の暗号化鍵(現鍵)の有効期限の取得(S520)、および世代更新をすべきか否かの有効性の確認(S530)を更新可否判断部140で行い、世代管理部140にて、世代更新を実行する(S540)。
 現鍵の有効期限は、時刻情報、または残時間として管理される。時刻情報として管理される場合、内部時計と時刻を比較することで有効期限超過有無を判定する。残時間として管理される場合、前回時刻取得時からの経過時間を取得し、現鍵の残時間と差分をとる。その差分が0以下であれば、有効期限切れと判断する。また、鍵の世代更新処理は、暗号化鍵の寿命、すなわち、暗号化鍵の長さに応じて決められる。
 更新鍵判断部160が、有効期限切れと判断した場合、世代更新を実行する。
 図6は、世代更新処理のイメージを示した図である。
 図に示すように、世代更新処理を実行すると、旧鍵として割り当てられた鍵の属性値を使用不可とし、現鍵の属性値を旧鍵、次鍵の属性値を現鍵、未使用の鍵のうち一本の属性値を次鍵とする。未使用の鍵が割り当てられる順序は、各装置間で事前に定められているものとする。
 このうち、新たに旧鍵として属性値が割り当てられたものは、その中でさらに有効期限は設定される。この有効期限は、ネットワーク全体で鍵更新が完了する十分時間を考慮し、決定される。 こうすることで、期限切れとなった旧鍵を早めに破棄でき、セキュリティ強度を維持できる。
 以上の鍵世代更新処理は、受信側装置200でも同様に実行される。
 図7に、受信側装置200の暗号パケット受信時のフローチャートを示す。
 暗号パケット受信時、受信側装置200内の受信データ保持部220で、パケットデータがバッファされ、復号鍵取得部230にて、パケットに含まれる鍵のID情報を取得する(S710)。ID取得後、復号鍵取得部230は、復号鍵テーブル210から、IDに該当する鍵を取得し、世代の属性値を確認する(S720)。
 世代の属性値が旧鍵、現鍵、次鍵のいずれにも該当しない場合、受信データを破棄する(S730、S780)。属性値が旧鍵である場合、図6に示した有効期限を確認し、旧鍵の有効期限が切れている場合、受信データを破棄する(S790)。
 属性値が現鍵、または次鍵の場合や、旧鍵で有効期限内である場合、復号処理を実行する(S740)。
 また、復号鍵が次鍵である場合、時刻を取得し、内部時計の補正処理を実行する(S750、S760)。この時刻補正により、ネットワーク内の時刻誤差が最適化され、NTP(Network Time Protocol)などを用いた時刻同期処理など、冗長な処理が不要となる。
 補正処理のタイミングチャートを図8に示す。本発明を適用した装置Xと装置Yがあり、装置Xが暗号パケットを送信、装置Yが暗号パケットを受信する場合を考える。装置Xが先に世代更新を実行し、IDが03の鍵で暗号パケットを生成し送信する。装置Yでは、自身の世代切り替え前の時刻にIDが03の鍵で暗号化されたパケットを受信し、装置Xとの更新時間の差分を検知する。そして、次鍵で暗号化されたパケットの受信時刻と、現鍵の有効期限とを比較し、差分を算出する。この差分を自身の内部時計、もしくは現鍵の有効期限へ反映させることで、装置間の鍵更新時間の誤差を補正する。
 この補正処理によって、旧鍵の有効期限を一定値としても、誤差が一定値を超えないことを保障でき、自律的な鍵の世代管理をメンテナンスフリーで長期的に実現できる。
 復号完了後、鍵のIDなどの不要なデータを破棄し、平文データを必要とするアプリケーションなどへ受け渡す(S770)。
 以上の処理が実現する機能を表したタイミングチャートを図9に示す。
 図9は、装置Xおよび装置Y間における鍵世代の更新処理を各装置が自律的に実行する時のフローを示す例である。この例では、装置Xおよび装置Yの現鍵IDは02とし、世代更新が発生する度に1ずつ加算されるものとする。
 また、各装置は、独立した鍵の更新タイミングを有しており、図9に示すタイミングで鍵の世代更新を実行するものとする。
 図9の例では、装置Xが先に鍵の世代更新を実行する。この世代更新では、現鍵のIDは02から03、次鍵のIDは03から04へ変更される。装置Xは、世代更新の実行後、新たに現鍵となったIDが03の鍵で暗号を送信する。
 IDが03の鍵で暗号化された鍵を受信した装置Yは、次鍵として登録されているIDが03の鍵で当該暗号データを復号する。そして、内部時計の補正を実行し、直ちに世代更新を実行する。
 装置X、装置Yともに世代更新実行後、旧鍵(ID:02)の有効期間を一定時間設ける。
この期間中に限り、旧鍵で暗号化された暗号データを復号可能とする。
 一定時間経過し、装置Yが先に世代更新処理を実行し、装置Xが世代更新前の暗号化鍵(ID:03)で暗号化した暗号データを装置Yへ送信した場合、装置Yは、旧鍵(ID:03)で復号する。装置Yは、一定期間経過後、旧鍵(ID:03)を無効化する。
 この後、装置Yから装置Xへ暗号パケット送信する場合、装置Yは現鍵(ID:04)で暗号化し、装置Xへ送信する。
 (旧鍵の利用制限)
 装置Xは、鍵のIDが04の鍵で暗号化されたパケットを受信した場合、次鍵として登録されてある鍵で復号処理を実行し、世代更新を実行する。世代更新実行後、旧鍵を一定時間有効化し、その後無効化する。
 以上の処理によって、本発明が意図する効果を実現できる。
 以下、旧鍵での復号処理を許可する期間について述べる。
 第一の例は、復号期間を固定値にする方法である。
 この方法は、ネットワーク内の全装置の鍵更新完了する十分時間を固定値として設定し、世代更新時は、旧鍵の有効期限として、その固定値を割り当てる方式である。簡便な方式であるが、その固定値をシステム設計時に定める必要がある。
 第二の例は、世代切り替え実行後の装置からみて現鍵に対応する識別情報をもつ鍵で送信する装置数をカウントし、その数が規定数超えたところで旧鍵を無効化する方式である。特に制御システムでは、制御周期毎で通信する装置が一意化される傾向があり、この方法は効果的である。
 図10は、旧鍵の有効期限を制限する一方式のフローチャートを示す図である。この処理は世代管理部240にて実行される。
 この処理は、世代更新完了後において、ある装置からみて現鍵として登録されている鍵で暗号化された暗号パケットを受信する毎に呼び出され、暗号パケット送信元を特定し(S1010)、送信元が新規であるか判定する(S1020)。新規と判定された場合、現鍵を利用した装置の台数(現鍵利用装置数)をカウントする(S1030)。この利用台数が、規定数以上を超えた場合、旧鍵を利用した通信は完了したものとみなし、旧鍵を無効化する(S1040、S1050)。これによって、自装置から見て通信対象となる全ての装置の鍵更新を確認した後に、旧鍵を無効化できるため、旧鍵による復号化を許容する時間を最適な時間に制限できる。
 また、この例では、旧鍵利用装置数をカウントしたが、装置数に限らず、装置のアドレスなど、装置を識別する情報で判別してもよい。
 第三の方法は、旧鍵を使用した暗号パケットの受信毎で、旧鍵の有効期限を一定期間延長する方法である。
 この方法は、 旧鍵を利用した暗号パケットを受信して、ある固定期間だけ復号を許可する期間を延長し、それを受信がなくなるまで繰り返す方式である。 また、この方法によって加算される延長期間は、上限を設けてもよい。
 上記に示した第一の方法および第三の方法の固定期間を変動させてもよい。これは、システム動作時、旧鍵を用いた通信の状況から、旧鍵を無効化する期間の値を決定するものである。この方法では、前回の世代更新処理の結果を反映でき、自動的に旧鍵を無効化すべき時間を最適化できる。
 この発明の適用形態は、装置内部に実装するだけでなく、装置外部でネットワーク間接続する専用モジュールとしても適用できる。
 図11に適用例を示す。この例では、送信側装置100および受信側装置200に示した処理ブロックを実装した専用ハードウェアやSoC(System on Chip)を含む専用チップ1110を通信インタフェース1120間に設ける構成である。ここで通信インタフェース1120は、Ethernet(登録商標)やシリアル通信など、汎用的に利用されるものとする。
 専用チップ1110の内部構成を図12に示す。
 暗号データ送信処理部1210は、図1に示した送信側装置100が有する本発明の各処理部を内部に有する。同様に、暗号データ受信処理部1220は、図2に示した受信処理装置200が有する本発明の各処理部を内部に有する。ただし、内部時計に限り、暗号データ送信処理部1210、または暗号データ受信処理部1220のいずれか一方が有する構成、もしくは暗号データ送信処理部1210、および暗号データ受信処理部1220の外部に有する構成でもよい。
 暗号化鍵・復号鍵テーブル1230は、暗号化鍵テーブル110および復号鍵テーブル210が結合した構成である。暗号化鍵・復号鍵テーブル1230は、暗号データ送信処理部1210、および暗号データ受信処理部1220の双方から参照、管理される。
 この構成によると、既存の装置に対して、容易に本発明の機能を実現できる。
 (次鍵の利用制限)
 本発明は、前鍵の利用終了期間を調節するほか、次鍵の利用開始期間を調整する機能を提供できる。
 本発明の構成によると、現鍵を使用開始と同時に次鍵は復号可能となる。次鍵は、それ自身は暗号化として用いられず、暗号文サンプルを得ることができないため、旧鍵や現鍵と比べ、セキュリティ上のリスクは低い。
 しかし、次鍵を用いた暗号通信が可能な期間中は、復号可能な鍵のパターン数が増えてしまうため、総当たり攻撃などの被害を受ける確率が少なからず増加する。たとえば、現鍵のみを復号許可する構成と比べて、現鍵および次鍵の両方を復号許可する構成は、総当たり攻撃の被害を受ける確率は二倍高い。
 この課題に対し、次鍵の利用開始期間を調整することで、総当たり攻撃を受ける被害を最小化できる。具体的には、次鍵に関して、利用開始期間を設けることで、本効果を実現できる。
 次鍵の利用開始期間を調整したときの効果について、図13にイメージを示す。
 図13の例では、双方の装置は現鍵としてIDが02の鍵、次鍵としてIDが03の鍵が設定されている。次鍵(ID:03)は、IDが02の鍵が現鍵として設定された時点で、復号許可はないものとし、次の世代更新の予定時刻の所定時間前になったとき、次鍵による復号を許可する。 
 この所定時間は、ネットワーク内の装置のうち、1台でも世代更新を開始する時刻を考慮した時間とする。
 図13の例の場合、次鍵利用可能になる前に、攻撃者1310が暗号鍵の総当たり攻撃を仕掛け、次鍵によって暗号化、もしくは署名された不正パケット1320の生成に成功した場合であっても、復号を許可しない期間であるため、装置Yは不正パケット1320を受理しない。
 この構成により、鍵の不一致期間の発生を防ぎつつ、総当たり攻撃などのセキュリティリスクを最小化できる。 
 次鍵による復号を許可する期間を定める方法例を以下に示す。
 第一の例は、次鍵が復号可能となる所定時間を固定値とする方法である。
 これは、ネットワーク内のいずれかの装置が世代更新を実行し、世代更新前に次鍵である鍵を用いた暗号文を送信開始する時間を予測できる場合、その時間を固定値とする。
 この方法は簡素な方式であり、各装置の内部時計の誤差が所定範囲以内であることが保証される場合において、効果的である。
 第二の例は、前回の世代更新開始処理時において、最初に次鍵で暗号化された暗号パケットを受信した時間から、次鍵の復号を許可する期間を決定する方式である。
 制御システムのような周期的な処理を実行するシステムの場合、世代更新処理も周期的になる傾向があり、前回の世代更新開始期間からの時間差はそれほど大きくない。
 この例の応用として、初期は次鍵による復号許可期間を長めに設定し、二回目の世代更新以降、最適化された復号許可期間を取得する(図14)。図14におけるパケット1410は、次鍵で暗号化された暗号パケットのうち、最初に受信したもの、期間1420は、最適化されたことによって次鍵の利用可能期間が制限された期間を示す。
 また、この所定時間内に次鍵を用いて暗号化されたデータを受信した際、同時に内部時計補正部270を介して内部時計250を補正することもできる。こうすることで、各装置間で内部時計の誤差を小さくできる。
 以上の方式を採用することで、よりセキュリティを向上化できる。
 (旧鍵、および次鍵双方の利用制限)
 以上に示した旧鍵および次鍵の利用期限を制限する構成を双方採用することで、復号可能な鍵を最小化することができ、制御システムのセキュリティをより向上化できる。
 以上のとおり、本実施例では、制御情報を送信または受信する複数の装置からなるシステムであって、各装置は、鍵の使用世代および有効期限が定められた識別情報(以下、ID)を有する複数の鍵を所有する。送信側装置は、データ暗号化時、暗号鍵のIDをデータに付与し、受信側装置は、データ受信時、IDに対応する鍵で復号する。
 そして、各装置が持つ鍵の世代は少なくとも三世代有し、鍵の暗号化する場合、三世代のうち中間世代の鍵で暗号化して送信する。受信側は、中間世代から、ちょうど前後世代の鍵に限り、復号を許可する。
 これによって、本実施例のシステムでは、暗号鍵を管理する特別なサーバを要することなく、各装置が自律的に暗号鍵の更新した場合においても、鍵不一致により通信できない期間の発生を防ぎセキュアなシステムを提供することができる。
 また上記構成に加え、各装置は内部時計を有しており、この時計を用いて暗号鍵の有効期限を管理する。さらには、中間世代の鍵から見て、ちょうど前後世代の鍵を有効にする期間を制限する。
 これによって、有効な鍵数およびそれらの有効期限を最小化できるため、セキュリティを向上化できる。 なお、本発明は上記した実施例に限定されるものではなく、様々な変形例が含まれる。例えば、上記した実施例は本発明を分かりやすく説明するために詳細に説明した ものであり、必ずしも説明した全ての構成を備えるものに限定されるものではない。また、ある実施例の構成の一部を他の実施例の構成に置き換えることが可能であり、また、ある実施例の構成に他の実施例の構成を加えることも可能である。また、各実施例の構成の一部について、他の構成の追加・削除・置換をすることが可能である。
 また、上記の各構成、機能、処理部、処理手段等は、それらの一部又は全部を、例えば集積回路で設計する等によりハードウェアで実現してもよい。また、上記の各構成、機能等は、プロセッサがそれぞれの機能を実現するプログラムを解釈し、実行することによりソフトウェアで実現してもよい。各機能を実現するプログラム、テーブル、ファイル等の情報は、メモリや、ハードディスク、SSD(Solid State Drive)等の記録装置、または、ICカード、SDカード、DVD等の記録媒体に置くこと ができる。
また、制御線や情報線は説明上必要と考えられるものを示しており、製品上必ずしも全ての制御線や情報線を示しているとは限らない。実際には殆ど全ての構成が相互に接続されていると考えてもよい。
100:送信側装置
110:暗号化鍵テーブル
120:暗号対象データ保持部
130:現鍵取得部
140:世代管理部
150:内部時計
160:更新可否判断部
170:暗号処理部
200:受信側装置
210:復号鍵テーブル
220:受信データ保持部
230:復号鍵取得部
240:世代管理部
250:内部時計
260:更新可否判断部
270:内部時計補正部
280:復号処理部
400:暗号化対象の平文データ
410:平文データ400を暗号化した暗号データ 
420:暗号データ400に現鍵IDを付与したペイロードデータ
430:ペイロードデータ420から生成されたパケットデータ 
1110:本発明の機能を実装した専用チップ
1120:制御装置の通信インタフェース
1210:専用チップ1110内の暗号データ送信処理部
1220:専用チップ1110内の暗号データ受信処理部
1230:専用チップ1110内の暗号化鍵・復号鍵テーブル
1310:不正パケットを送信する攻撃者
1320:不正パケット
1410:受信側装置において次鍵で暗号化されたパケットデータ430
1420:最適化により削減された次鍵の復号許可期間
装置X,装置Y:本発明を適用した鍵管理装置 
Sxxx:フローチャート内の処理ステップ 

Claims (12)

  1.  データの暗号化又は復号化に用いる暗号鍵であって、所定のタイミングで順次更新される複数の暗号鍵の情報と、前記暗号鍵の更新順序及び現在暗号化に用いるべき現鍵がいずれであるかを示す情報を含む世代情報と、を記憶する記憶部と、
     データ送信時には、前記世代情報を参照して前記複数の暗号鍵から前記現鍵を抽出し、抽出した前記現鍵用いて送信データに暗号処理を実行し、暗号化に用いた前記現鍵の識別情報を送信データに付して通信パケットを生成して他の装置へ送信する処理と、
     データ受信時には、受信した通信パケットから暗号化に用いた暗号鍵の識別情報を抽出し、当該識別情報が示す暗号鍵が、前記現鍵から所定の更新回数前まで、あるいは、所定の更新回数後までの範囲内の暗号鍵であるか前記世代情報を参照して判別し、範囲内であった場合に当該暗号鍵を用いて受信データを復号化する処理と、を実行する処理部と、を備える鍵管理装置。
  2.  請求項1に記載の鍵管理装置において、
     前記暗号鍵の情報は、通信を行う他の装置と共有化されており、暗号化に用いる暗号化鍵と、復号化に用いる復号鍵とが対応付けて記憶されることを特徴とする鍵管理装置。
  3.  請求項1に記載の鍵管理装置において、
     前記世代情報には、前回の暗号鍵更新時まで暗号化に用いていた旧鍵及び次回の暗号鍵更新後に暗号化に用いる次鍵がいずれであるかを示す情報が含まれ、
     前記処理部は、自装置内の内部時計を基準として、使用していない前記暗号鍵を新規に前記次鍵に割り当てて暗号鍵の更新を行うことを特徴とする鍵管理装置。
  4.  請求項3に記載の鍵管理装置において、
     受信データの暗号化に用いた暗号鍵が、前記次鍵であった場合には自装置の前記暗号鍵の更新を実行することを特徴とする鍵管理装置。
  5.  請求項3に記載の鍵管理装置において、
     受信データの暗号化に用いた暗号鍵が、前記旧鍵または前記次鍵であった場合には、当該受信データの受信時刻に基づいて時装置内の前記内部時計を補正することを特徴とする鍵管理装置。
  6.  請求項3に記載の鍵管理装置において
     前記旧鍵には、有効期限が定められており、受信データの暗号化に用いた暗号鍵が前記旧鍵であった場合には、さらに前記旧鍵が前記有効期限内であった場合に当該暗号鍵を用いて受信データを復号化することを特徴とする鍵管理装置。
  7.  請求項6に記載の鍵管理装置において
     前記暗号鍵の更新によって、前記現鍵が前記旧鍵へ割当てられると所定の前記有効期限を当該旧鍵へ定めることを特徴とする鍵管理装置。
  8.  請求項6に記載の鍵管理装置において、
     規定台数以上の装置から、前記現鍵を用いて暗号された受信データを受信した場合には、前記旧鍵による復号を無効化することを特徴とする鍵管理装置。
  9.  請求項3に記載の鍵管理装置において、
     前記次鍵は、次回の鍵更新予定時刻より一定時間前から、次回の鍵更新予定時刻までの時間帯に限り復号する権限が与えられ、
     前記一定時間は、当該鍵管理装置を含むネットワークやシステムの構成情報、またはシステムの処理実行周期から決定されることを特徴とする鍵管理装置。
  10.  請求項9に記載の鍵管理装置において、
     前記次鍵は、次回の鍵更新予定時刻より特定の時間前から、次回の鍵更新予定時刻までの時間帯に限り復号権限が与えられ、
     前記特定の時間は、前回の鍵更新処理完了時の時刻と、その後最初に前記次鍵で復号可能な通信パケットを受信した時刻との差から、決定されることを特徴とする鍵管理装置。
  11.  請求項10に記載の鍵管理装置において、
     前記次鍵は、次回の鍵更新予定時刻より特定の時間前から、次回の鍵更新予定時刻までの時間帯に限り復号権限が与えられ、
     前記特定の時間は、前回の鍵更新処理完了時の時刻と、その後最初に前記次鍵で復号可能な通信パケットを受信した時刻との差から、次回鍵更新時において、次鍵で復号可能な通信パケットを受信する時刻を割り出し、当該時刻と次回の鍵更新予定時刻の時間差分が、現在設定されている前記特定の時間より短い場合に限り、前記時間差分を前記特定の時間として設定することを特徴とする鍵管理装置。
  12.  データの暗号化又は復号化に用いる暗号鍵であって、所定のタイミングで順次更新される複数の暗号鍵の情報と、前記暗号鍵の更新順序及び現在暗号化に用いるべき現鍵がいずれであるかを示す情報を含む世代情報と、を用いて、
     データ送信時には、前記世代情報を参照して前記複数の暗号鍵から前記現鍵を抽出し、抽出した前記現鍵用いて送信データに暗号処理を実行し、暗号化に用いた前記現鍵の識別情報を送信データに付して通信パケットを生成して他の装置へ送信する処理と、
     データ受信時には、受信した通信パケットから暗号化に用いた暗号鍵の識別情報を抽出し、当該識別情報が示す暗号鍵が、前記現鍵から所定の更新回数前まで、あるいは、所定の更新回数後までの範囲内の暗号鍵であるか前記世代情報を参照して判別し、範囲内であった場合に当該暗号鍵を用いて受信データを復号化する処理と、を行う鍵管理方法。
PCT/JP2014/073602 2014-01-30 2014-09-08 鍵管理装置および鍵管理方法 WO2015114871A1 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2014-015044 2014-01-30
JP2014015044A JP6043738B2 (ja) 2014-01-30 2014-01-30 鍵管理装置および鍵管理方法

Publications (1)

Publication Number Publication Date
WO2015114871A1 true WO2015114871A1 (ja) 2015-08-06

Family

ID=53756471

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2014/073602 WO2015114871A1 (ja) 2014-01-30 2014-09-08 鍵管理装置および鍵管理方法

Country Status (2)

Country Link
JP (1) JP6043738B2 (ja)
WO (1) WO2015114871A1 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017085559A (ja) * 2015-10-30 2017-05-18 パロ アルト リサーチ センター インコーポレイテッド 制限帯域幅を有するチャネルにおける効率的かつ強秘匿性の対称暗号化のためのシステムおよび方法
CN113517983A (zh) * 2021-05-20 2021-10-19 支付宝(杭州)信息技术有限公司 生成安全计算密钥、进行安全计算的方法及装置

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
MY181840A (en) * 2016-11-04 2021-01-08 Thomson Licensing Devices and methods for client device authentication
CN112912847B (zh) 2018-11-09 2022-10-04 华为技术有限公司 空中下载升级的方法及相关装置
JP7300845B2 (ja) * 2019-02-15 2023-06-30 三菱重工業株式会社 制御装置、産業用制御システムおよび暗号鍵寿命延長方法

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002290396A (ja) * 2001-03-23 2002-10-04 Toshiba Corp 暗号鍵更新システムおよび暗号鍵更新方法
JP2007104310A (ja) * 2005-10-04 2007-04-19 Hitachi Ltd ネットワーク装置、ネットワークシステム及び鍵更新方法
JP2010087888A (ja) * 2008-09-30 2010-04-15 Onkyo Corp 暗号鍵配信システム、暗号鍵配信サーバ、コンテンツ配信サーバ、及びクライアント
JP2010098597A (ja) * 2008-10-17 2010-04-30 Fujitsu Ltd 通信装置、通信方法及び通信プログラム
US8245037B1 (en) * 2009-02-17 2012-08-14 Amazon Technologies, Inc. Encryption key management

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002290396A (ja) * 2001-03-23 2002-10-04 Toshiba Corp 暗号鍵更新システムおよび暗号鍵更新方法
JP2007104310A (ja) * 2005-10-04 2007-04-19 Hitachi Ltd ネットワーク装置、ネットワークシステム及び鍵更新方法
JP2010087888A (ja) * 2008-09-30 2010-04-15 Onkyo Corp 暗号鍵配信システム、暗号鍵配信サーバ、コンテンツ配信サーバ、及びクライアント
JP2010098597A (ja) * 2008-10-17 2010-04-30 Fujitsu Ltd 通信装置、通信方法及び通信プログラム
US8245037B1 (en) * 2009-02-17 2012-08-14 Amazon Technologies, Inc. Encryption key management

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017085559A (ja) * 2015-10-30 2017-05-18 パロ アルト リサーチ センター インコーポレイテッド 制限帯域幅を有するチャネルにおける効率的かつ強秘匿性の対称暗号化のためのシステムおよび方法
CN113517983A (zh) * 2021-05-20 2021-10-19 支付宝(杭州)信息技术有限公司 生成安全计算密钥、进行安全计算的方法及装置
CN113517983B (zh) * 2021-05-20 2023-10-20 支付宝(杭州)信息技术有限公司 生成安全计算密钥、进行安全计算的方法及装置

Also Published As

Publication number Publication date
JP6043738B2 (ja) 2016-12-14
JP2015142301A (ja) 2015-08-03

Similar Documents

Publication Publication Date Title
CN110636062B (zh) 设备的安全交互控制方法、装置、电子设备及存储介质
EP3453135B1 (en) System and method for encryption and decryption based on quantum key distribution
Dawson et al. SKMA-A key management architecture for SCADA systems
JP5634427B2 (ja) 鍵生成装置、鍵生成方法およびプログラム
JP6573880B2 (ja) 更新プログラム及び方法、及び、管理プログラム及び方法
EP2677682A1 (en) Key management system
JP6043738B2 (ja) 鍵管理装置および鍵管理方法
CN106790223B (zh) 一种数据传输的方法和设备及其系统
JP2007082216A (ja) 一対一でデータを安全に送受信する方法及び装置
JP5668191B2 (ja) 暗号化データ管理装置、暗号化データ管理方法及び暗号化データ管理プログラム
WO2012011254A1 (ja) 情報処理装置、コントローラ、鍵発行局、無効化リスト有効性判定方法および鍵発行方法
US8948397B2 (en) Major management apparatus, authorized management apparatus, electronic apparatus for delegated key management, and key management methods thereof
EP2954639A1 (en) Method and apparatus for embedding secret information in digital certificates
JP7292263B2 (ja) デジタル証明書を管理するための方法および装置
CN103686717A (zh) 一种物联网传感系统的密钥管理方法
JP2013026747A (ja) 情報処理装置、サーバ装置およびプログラム
CN104125239A (zh) 一种基于数据链路加密传输的网络认证方法和系统
JP5133850B2 (ja) ストレージノード用再暗号化システム及びネットワークストレージ
JP6366883B2 (ja) 属性連携装置、転送システム、属性連携方法及び属性連携プログラム
KR20130051636A (ko) M2m 환경에서의 상호 인증 및 보안 방법
CN116155491B (zh) 安全芯片的对称密钥同步方法及安全芯片装置
JP2006279269A (ja) 情報管理装置、情報管理システム、ネットワークシステム、ユーザ端末、及びこれらのプログラム
JP4995667B2 (ja) 情報処理装置、サーバ装置、情報処理プログラム及び方法
JP5491713B2 (ja) 暗号化装置、暗号化プログラム及び方法
JP5691549B2 (ja) ポリシ管理サーバ装置、サーバ装置、クライアント装置、及びこれらを有する暗号アルゴリズム切換システム

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 14880797

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 14880797

Country of ref document: EP

Kind code of ref document: A1