[go: up one dir, main page]

WO2013076848A1 - 暗号通信システム及び暗号処理装置及びコンピュータプログラム及び暗号通信方法 - Google Patents

暗号通信システム及び暗号処理装置及びコンピュータプログラム及び暗号通信方法 Download PDF

Info

Publication number
WO2013076848A1
WO2013076848A1 PCT/JP2011/077077 JP2011077077W WO2013076848A1 WO 2013076848 A1 WO2013076848 A1 WO 2013076848A1 JP 2011077077 W JP2011077077 W JP 2011077077W WO 2013076848 A1 WO2013076848 A1 WO 2013076848A1
Authority
WO
WIPO (PCT)
Prior art keywords
temporary key
unit
key generation
communication device
generation data
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Ceased
Application number
PCT/JP2011/077077
Other languages
English (en)
French (fr)
Inventor
晃由 山口
信博 小林
ユミコ 村上
佐藤 恒夫
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric Corp
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 Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Priority to CN201180075018.2A priority Critical patent/CN103947150A/zh
Priority to PCT/JP2011/077077 priority patent/WO2013076848A1/ja
Publication of WO2013076848A1 publication Critical patent/WO2013076848A1/ja
Anticipated expiration legal-status Critical
Ceased legal-status Critical Current

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/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0819Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
    • H04L9/083Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) involving central third party, e.g. key distribution center [KDC] or trusted third party [TTP]
    • 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/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0869Generation of secret information including derivation or calculation of cryptographic keys or passwords involving random numbers or seeds

Definitions

  • the present invention relates to an encryption communication system in which a plurality of devices perform encryption communication.
  • encryption communication is used to prevent wiretapping and tampering by a third party.
  • a communication method that can be easily wiretapped such as Internet communication or wireless communication
  • encryption communication is used to prevent wiretapping and tampering by a third party.
  • it is necessary to share a key used between the transmission side and the reception side, and it is necessary to prevent the shared key from leaking to the outside.
  • An object of the present invention is to make it easy to share and change a key used for encrypted communication, for example.
  • An encryption communication system includes: In a cryptographic communication system comprising a management device, a first cryptographic communication device, and a second cryptographic communication device,
  • the management device includes a master key storage unit and a temporary key generation unit
  • the master key storage unit of the management device stores a first master key
  • the temporary key generation unit of the management device generates a first temporary key using the first master key stored in the master key storage unit of the management device and the temporary key generation data
  • the first encryption communication device includes a temporary key generation data notification unit and an encryption communication unit
  • the temporary key generation data notifying unit of the first encryption communication device is configured to transfer the temporary key generation data used by the temporary key generation unit of the management device to generate the first temporary key to the second encryption Notify the communication device
  • the cryptographic communication unit of the first cryptographic communication device performs cryptographic communication with the second cryptographic communication device using the first temporary key generated by the temporary key generation unit of the management device
  • the second cryptographic communication device includes a master key storage unit, a temporary key generation data verification unit, a
  • the temporary key generation data verification unit of the second encryption communication device determines whether the temporary key generation data notified from the temporary key generation data notification unit of the first encryption communication device is valid. Judgment, When the temporary key generation data notified from the temporary key generation data notifying unit of the first cryptographic communication device is valid, the temporary key generation unit of the second cryptographic communication device is valid.
  • the temporary key generation data verification unit determines, the second master key stored in the master key storage unit of the second encryption communication device and the temporary key generation data of the second encryption communication device
  • the first temporary key that is the same as the first temporary key generated by the temporary key generation unit of the management device using the temporary key generation data determined to be valid by the verification unit or the first temporary key
  • the cryptographic communication unit of the second cryptographic communication device uses the second temporary key generated by the temporary key generation unit of the second cryptographic communication device to perform cryptographic communication with the first cryptographic communication device. It is characterized by doing.
  • the second cryptographic communication apparatus Since the second cryptographic communication apparatus generates a temporary key using the temporary key generation data notified from the first cryptographic communication apparatus, the first cryptographic communication apparatus and the second cryptographic communication apparatus are the same or correspond to each other. You can use the temporary key for encrypted communication. This makes it easy to share or change the temporary key.
  • FIG. 1 is a system configuration diagram illustrating an example of an overall configuration of a cryptographic communication system 800 according to Embodiment 1.
  • FIG. 2 is a hardware configuration diagram illustrating an example of hardware resources of a management apparatus 100, an encryption communication apparatus 200, and an encryption communication apparatus 300 according to Embodiment 1.
  • FIG. 3 is a block configuration diagram illustrating an example of functional blocks of the management apparatus 100 according to the first embodiment.
  • FIG. 3 is a block configuration diagram illustrating an example of functional blocks of the cryptographic communication device 200 according to the first embodiment.
  • FIG. 3 is a block configuration diagram illustrating an example of functional blocks of the cryptographic communication device 300 according to the first embodiment.
  • FIG. 6 is a flowchart showing an example of a flow of initialization processing S601 in the first embodiment.
  • FIG. 6 is a flowchart showing an example of a flow of update processing S602 in the first embodiment.
  • FIG. 6 is a flowchart showing an example of a flow of temporary key notification processing S603 in the first embodiment.
  • FIG. 4 is a flowchart showing an example of the flow of cryptographic communication processing S604 in the first embodiment.
  • FIG. 10 is a diagram illustrating an example of an overall configuration of an automatic meter reading system 801 according to a third embodiment.
  • FIG. 10 is a diagram illustrating an example of functional blocks of the management server 101 according to the third embodiment.
  • FIG. 9 shows an example of functional blocks of a mobile terminal 201 in Embodiment 3.
  • FIG. 10 is a diagram illustrating an example of functional blocks of a meter-reading meter 301 according to a third embodiment.
  • FIG. 10 is a diagram illustrating an example of detailed functional blocks of a key information management unit 161 in the management server 101 according to the third embodiment.
  • FIG. 10 is a diagram illustrating an example of detailed functional blocks of a management server communication unit 221 in the portable terminal 201 according to the third embodiment.
  • FIG. 10 is a diagram illustrating an example of detailed functional blocks of a meter reading meter communication unit 291 in the portable terminal 201 according to the third embodiment.
  • FIG. FIG. 10 is a flowchart showing an example of a flow of temporary key notification processing S603 in the third embodiment.
  • FIG. 11 is a flowchart showing an example of the flow of cryptographic communication processing S604 in the third embodiment.
  • FIG. 10 is a system configuration diagram illustrating an example of an overall configuration of an encryption communication system 800 according to a fourth embodiment.
  • FIG. 6 is a system configuration diagram illustrating an example of an overall configuration of an encryption communication device 500 according to a fourth embodiment.
  • FIG. 20 is a flowchart showing an example of a flow of initialization processing S601 in the fourth embodiment.
  • FIG. 20 is a flowchart showing an example of a flow of update processing S602 in the fourth embodiment.
  • FIG. 18 is a flowchart showing an example of the flow of cryptographic communication processing S604 in the fourth embodiment.
  • FIG. 10 is a system configuration diagram illustrating an example of an overall configuration of an encryption communication system 800 according to a fourth embodiment.
  • FIG. 6 is a system configuration diagram illustrating an example of an overall configuration of an encryption communication device 500 according to a fourth embodiment.
  • FIG. 20 is a flow
  • FIG. 10 shows an example of the overall configuration of an automatic meter reading system 801 in a fifth embodiment.
  • FIG. 10 is a diagram illustrating an example of functional blocks of a meter-reading meter 301 according to a fifth embodiment.
  • FIG. 18 is a block configuration diagram illustrating an example of functional blocks of the management apparatus 100 according to the sixth embodiment.
  • FIG. 20 is a block configuration diagram illustrating an example of functional blocks of an encryption communication device 200 according to a sixth embodiment.
  • FIG. 18 is a block configuration diagram illustrating an example of functional blocks of an encryption communication device 300 according to a sixth embodiment.
  • FIG. 25 is a flowchart showing an example of the flow of temporary key notification processing S603 in the sixth embodiment.
  • FIG. 19 is a flowchart showing an example of the flow of cryptographic communication processing S604 in the sixth embodiment.
  • FIG. 18 is a block configuration diagram illustrating an example of functional blocks of an encryption communication device 200 according to a seventh embodiment.
  • FIG. 20 is a flowchart showing an example of the flow of cryptographic communication processing S604 in the seventh embodiment.
  • FIG. 20 is a diagram illustrating an example of functional blocks of the management server 101 according to the eighth embodiment.
  • FIG. 20 shows an example of functional blocks of a portable terminal 201 in Embodiment 8.
  • FIG. 18 shows an example of functional blocks of a meter-reading meter 301 in the eighth embodiment.
  • FIG. 20 is a diagram illustrating an example of detailed functional blocks of a reset packet generation unit 166 in the management server 101 according to the eighth embodiment.
  • FIG. 20 is a diagram illustrating an example of detailed functional blocks of a portable terminal communication unit 391 in the meter-reading meter 301 according to the eighth embodiment.
  • FIG. 19 is a flowchart showing an example of the flow of reset packet notification processing S605 in the eighth embodiment.
  • FIG. 19 is a flowchart showing an example of the flow of generation number reset processing S606 in the eighth embodiment.
  • Embodiment 1 FIG. The first embodiment will be described with reference to FIGS.
  • FIG. 1 is a system configuration diagram showing an example of the overall configuration of the cryptographic communication system 800 in this embodiment.
  • the cryptographic communication system 800 includes, for example, a management device 100, a cryptographic communication device 200, and a cryptographic communication device 300.
  • the management device 100 (encryption processing device) stores a master key.
  • the management device 100 generates a temporary key using the stored master key.
  • the cryptographic communication device 200 (cryptographic processing device) communicates with the management device 100 using a secure method, and acquires the temporary key generated by the management device 100.
  • the cryptographic communication device 200 performs cryptographic communication with the cryptographic communication device 300 using the acquired temporary key.
  • the cryptographic communication device 300 (cryptographic processing device) stores a master key.
  • the master key stored in the encryption communication device 300 may be the same master key as the master key stored in the management device 100, or a master key corresponding to the master key stored in the management device 100. It may be.
  • the cryptographic communication device 300 generates a temporary key using the stored master key.
  • the temporary key generated by the encryption communication device 300 may be the same temporary key as the temporary key generated by the management device 100, or may be a temporary key corresponding to the temporary key generated by the management device 100.
  • the cryptographic communication device 300 performs cryptographic communication with the cryptographic communication device 200 using the temporary key generated by itself.
  • FIG. 2 is a hardware configuration diagram illustrating an example of hardware resources of the management apparatus 100, the encryption communication apparatus 200, and the encryption communication apparatus 300 in this embodiment.
  • the management device 100, the encryption communication device 200, and the encryption communication device 300 are, for example, computers.
  • the computer includes, for example, a processing device 911, an input device 912, an output device 913, a storage device 914, and a communication device 915.
  • the processing device 911 processes the data by executing the computer program stored in the storage device 914, and controls the input device 912, the output device 913, the storage device 914, and the communication device 915.
  • the storage device 914 stores a computer program executed by the processing device 911, data processed by the processing device 911, and the like.
  • the input device 912 inputs information from outside the computer and converts it into data that can be processed by the processing device 911.
  • the data converted by the input device 912 may be processed directly by the processing device 911 or may be stored temporarily by the storage device 914.
  • the input device 912 is an operation input device such as a keyboard or a mouse, and inputs an operation by an operator who operates the computer.
  • the input device 912 is a microphone and inputs sound.
  • the input device 912 is a camera and takes an image.
  • the input device 912 is a sensor and measures physical quantities such as temperature and voltage.
  • the input device 912 is an analog / digital conversion circuit, and converts an analog signal into digital data.
  • the output device 913 converts the data processed by the processing device 911 and the data stored in the storage device 914 and outputs the converted data to the outside of the computer.
  • the output device 913 is a liquid crystal display device and outputs an image.
  • the output device 913 is a speaker and outputs sound.
  • the output device 913 is a digital / analog conversion circuit, and generates an analog signal.
  • the communication device 915 communicates with other devices.
  • the communication device 915 receives a signal transmitted by another device, inputs information represented by the received signal, and converts it into data that can be processed by the processing device 911. That is, the communication device 915 is a kind of the input device 912.
  • the communication device 915 converts the data processed by the processing device 911 and the data stored in the storage device 914 into signals and transmits the signals to other devices. That is, the communication device 915 is a kind of the storage device 914.
  • the functional blocks described below are realized by the processing device 911 executing the computer program stored in the storage device 914. This is an example, and the functional blocks described below may be realized by other configurations. For example, the functional blocks described below may be realized by an electronic circuit such as an analog circuit or a digital circuit, other electrical configurations, mechanical configurations, or other configurations.
  • FIG. 3 is a block configuration diagram illustrating an example of functional blocks of the management apparatus 100 according to this embodiment.
  • the management device 100 includes, for example, a master key storage unit 110, a temporary key generation data storage unit 130, a temporary key generation data update unit 140, a temporary key generation data notification unit 150, and a temporary key generation unit 160. And a temporary key notification unit 170.
  • the master key storage unit 110 uses the storage device 914 to store a master key (first master key).
  • the master key stored in the master key storage unit 110 is data used to generate a temporary key used when the cryptographic communication device 200 performs cryptographic communication with the cryptographic communication device 300.
  • the master key storage unit 110 may be configured to store the master key using, for example, a tamper-resistant storage device 914.
  • the master key stored in the master key storage unit 110 may be configured in advance and cannot be changed. For example, when the master key is suspected to be leaked, the master key can be changed when necessary. It may be.
  • the temporary key generation data storage unit 130 stores the temporary key generation data using the storage device 914. Similar to the master key stored in the master key storage unit 110, the temporary key generation data stored in the temporary key generation data storage unit 130 is data used to generate a temporary key. Even if the same master key is used, if the temporary key generation data is different, different temporary keys are generated.
  • the temporary key generation data update unit 140 uses the processing device 911 to update the temporary key generation data stored in the temporary key generation data storage unit 130. For example, the temporary key generation data update unit 140 repeatedly updates the temporary key generation data stored in the temporary key generation data storage unit 130 every time a predetermined period (for example, one day) elapses. As a result, the generated temporary key changes every time a predetermined period elapses.
  • a predetermined period for example, one day
  • the temporary key generation data may be any data as long as the old and new can be distinguished.
  • the temporary key generation data is data representing a numerical value.
  • the temporary key generation data update unit 140 calculates a sum obtained by adding a predetermined increment value (for example, 1) to the numerical value represented by the temporary key generation data.
  • the temporary key generation data update unit 140 updates the temporary key generation data stored in the temporary key generation data storage unit 130 with data representing the calculated sum.
  • the temporary key generation data storage unit 130 replaces and stores the old temporary key generation data with the updated new temporary key generation data.
  • the new temporary key generation data represents a larger numerical value, it is possible to determine which temporary key generation data is newer by comparing the numerical values represented by the two temporary key generation data.
  • the temporary key generation unit 160 uses the processing device 911 to generate a temporary key (first temporary key).
  • the temporary key generation unit 160 generates a temporary key using the master key stored in the master key storage unit 110 and the temporary key generation data stored in the temporary key generation data storage unit 130.
  • the method by which the temporary key generation unit 160 generates a temporary key may be any method as long as it satisfies the following conditions.
  • the first condition is that the same or similar temporary key is generated if the combination of the master key and the temporary key generation data is the same.
  • the similar temporary keys are a group of temporary keys that can generate a ciphertext that can be decrypted with the same key, or that can decrypt a ciphertext encrypted with the same key.
  • the second condition is that if either the master key or the temporary key generation data is different, a temporary key that is not the same and similar is generated.
  • the ciphertext generated using the temporary key generated using the old temporary key generation data before update can be decrypted, or the old temporary key generation before update can be performed.
  • the ciphertext generated using the temporary key generated using the updated new temporary key generation data cannot be decrypted, or Ciphertext that can be decrypted with the temporary key generated using the new temporary key generation data after the update cannot be generated.
  • the third condition is that the master key cannot be estimated from the temporary key generation data and the temporary key generated using the temporary key generation data. Thereby, leakage of the master key can be prevented.
  • the temporary key generation unit 160 encrypts the temporary key generation data stored in the temporary key generation data storage unit 130 using the master key stored in the master key storage unit 110.
  • the temporary key generation unit 160 uses the encrypted ciphertext as a temporary key.
  • the temporary key generation unit 160 uses a one-way hash function to store the master key stored in the master key storage unit 110 and the temporary key generation data stored in the temporary key generation data storage unit 130.
  • the hash value is calculated using the hash function input.
  • the temporary key generation unit 160 uses the calculated hash value as a temporary key.
  • the temporary key notification unit 170 notifies the encryption communication device 200 of the temporary key generated by the temporary key generation unit 160.
  • the temporary key notification unit 170 uses the communication device 915 to transmit the temporary key generated by the temporary key generation unit 160 to the encryption communication device 200.
  • the system for notifying the temporary key may be any system as long as it can prevent leakage of the temporary key.
  • the temporary key notification unit 170 transmits the temporary key using encrypted communication.
  • the management device 100 and the encryption communication device 200 are directly connected by wire to transmit a temporary key.
  • the temporary key generation data notification unit 150 uses the temporary communication key generation unit 160 to generate temporary key generation data used when the temporary key generation unit 160 generates the temporary key notified by the temporary key notification unit 170 to the encryption communication device 200. 200 is notified.
  • the temporary key generation data notification unit 150 uses the communication device 915 to transmit the temporary key stored in the temporary key generation data storage unit 130 to the encryption communication device 200.
  • the temporary key notified by the temporary key notification unit 170 and the temporary key generation data notified by the temporary key generation data notification unit 150 are used.
  • a configuration may be used in which data is transmitted together as one.
  • FIG. 4 is a block configuration diagram showing an example of functional blocks of the cryptographic communication device 200 according to this embodiment.
  • the encryption communication device 200 (first encryption communication device) includes, for example, a temporary key generation data acquisition unit 220, a temporary key generation data storage unit 230, a temporary key generation data notification unit 250, and a temporary key acquisition unit 260.
  • the temporary key acquisition unit 260 acquires the temporary key (first temporary key) notified from the temporary key notification unit 170 of the management apparatus 100. For example, the temporary key acquisition unit 260 receives the temporary key transmitted by the temporary key notification unit 170 using the communication device 915.
  • the temporary key storage unit 270 stores the temporary key acquired by the temporary key acquisition unit 260 using the storage device 914. In order to prevent leakage of the temporary key, for example, the temporary key acquisition unit 260 may be configured to store the temporary key using a tamper-resistant storage device 914.
  • the temporary key generation data acquisition unit 220 acquires the temporary key generation data notified from the temporary key generation data notification unit 150 of the management apparatus 100. For example, the temporary key generation data acquisition unit 220 receives the temporary key generation data transmitted by the temporary key generation data notification unit 150 using the communication device 915. The temporary key generation data storage unit 230 uses the storage device 914 to store the temporary key generation data acquired by the temporary key generation data acquisition unit 220.
  • the temporary key generation data notification unit 250 notifies the encryption communication device 300 of the temporary key generation data stored in the temporary key generation data storage unit 230. For example, the temporary key generation data notification unit 250 transmits the temporary key generation data stored in the temporary key generation data acquisition unit 220 to the encryption communication device 300 using the communication device 915.
  • the cryptographic communication unit 290 performs cryptographic communication with the cryptographic communication device 300 using the temporary key stored in the temporary key storage unit 270.
  • the cryptographic communication unit 290 uses the processing device 911 to generate a ciphertext using the temporary key stored in the temporary key notification unit 170, and uses the communication device 915 to generate the ciphertext using the cryptographic communication device 300.
  • the cipher communication unit 290 receives the ciphertext transmitted by the cipher communication device 300 using the communication device 915, and uses the processing device 911 to store the ciphertext received by the cipher communication unit 290. Decrypt using.
  • FIG. 5 is a block configuration diagram showing an example of functional blocks of the cryptographic communication device 300 in this embodiment.
  • the cryptographic communication device 300 (second cryptographic communication device) includes, for example, a master key storage unit 310, a temporary key generation data acquisition unit 320, a verification data storage unit 330, a verification data update unit 340, and a temporary key.
  • a generation data verification unit 350, a temporary key generation unit 360, and an encryption communication unit 390 are included.
  • the master key storage unit 310 stores a master key (second master key) using the storage device 914.
  • the master key stored in the master key storage unit 310 is data used to generate a temporary key used when the cryptographic communication device 300 performs cryptographic communication with the cryptographic communication device 200.
  • the master key storage unit 310 may be configured to store the master key using a tamper-resistant storage device 914, for example.
  • the master key stored in the master key storage unit 310 may be configured in advance and cannot be changed. For example, when the master key is suspected to be leaked, the master key can be changed when necessary. It may be.
  • the master key stored in the master key storage unit 310 is combined with the temporary key generation data used by the temporary key generation unit 160 of the management device 100 to generate the temporary key, and the temporary key generated by the temporary key generation unit 160 Any one that can generate the same or a temporary key corresponding to the temporary key may be used.
  • two temporary keys correspond refers to a relationship in which a ciphertext encrypted using one temporary key can be decrypted using the other temporary key.
  • Tro master keys correspond means a relationship in which the same or corresponding temporary key can be generated from two master keys.
  • the master key stored in the master key storage unit 310 may be the same master key as the master key stored in the master key storage unit 110 of the management apparatus 100, or may be a different master key.
  • the master key storage of the management device 100 is determined from the master key stored in the master key storage unit 310.
  • the configuration may be such that the master key stored by the unit 110 cannot be estimated. Then, even if the master key stored in the master key storage unit 310 is leaked, it is possible to prevent the master key stored in the master key storage unit 110 of the management apparatus 100 from being known.
  • the master key storage unit 310 of each encryption communication device 300 may store different master keys.
  • the temporary key generated using the master key stored in the master key storage unit 310 of a certain cryptographic communication device 300 and the master key stored in the master key storage unit 310 of another cryptographic communication device 300 are generated.
  • the configuration may not correspond to the temporary key. Then, even when the master key stored in the master key storage unit 310 of a certain cryptographic communication device 300 is leaked, it is possible to prevent generation of a temporary key that can be used for cryptographic communication with another cryptographic communication device 300. Can do.
  • the verification data storage unit 330 uses the storage device 914 to store verification data.
  • the verification data is data used to verify whether the temporary key generation data notified from the cryptographic communication device 200 is valid.
  • the verification data update unit 340 uses the processing device 911 to update the verification data stored in the verification data storage unit 330. For example, the verification data update unit 340 repeatedly updates the verification data stored in the verification data storage unit 330 every time a predetermined period (for example, one day) elapses.
  • a predetermined period for example, one day
  • the verification data may be any data as long as it can be determined that the old temporary key generation data is invalid.
  • the verification data is data representing a numerical value.
  • the verification data update unit 340 calculates a sum obtained by adding a predetermined increment value (for example, 1) to the numerical value represented by the verification data.
  • the verification data update unit 340 updates the verification data stored in the verification data storage unit 330 with data representing the calculated sum.
  • the verification data storage unit 330 stores the old verification data by replacing it with the updated new verification data.
  • the verification data update unit 340 updates the verification data so that the speed at which the numerical value represented by the verification data increases is substantially the same as the speed at which the numerical value represented by the temporary key generation data increases.
  • the verification data update unit 340 updates the verification data in the same cycle as the temporary key generation data update unit 140 of the management device 100 updates the temporary key generation data, and the temporary key generation data represents The same increment value as the increment value added by the temporary key generation data updating unit 140 of the management apparatus 100 is added to the numeric value to the numeric value represented by the verification data.
  • the verification data update unit 340 updates the verification data in a cycle that is n times the update cycle of the temporary key generation data (n is a positive real number), and the increment value n of the temporary key generation data is n. The double increment value is added to the numerical value represented by the verification data.
  • the temporary key generation data acquisition unit 320 acquires the temporary key generation data notified from the temporary key generation data notification unit 250 of the cryptographic communication device 200. For example, the temporary key generation data acquisition unit 320 receives the temporary key generation data transmitted by the temporary key generation data notification unit 250 using the communication device 915.
  • the temporary key generation data verification unit 350 uses the processing device 911 to verify the temporary key generation data acquired by the temporary key generation data acquisition unit 320.
  • the temporary key generation data verification unit 350 uses the verification data stored in the verification data storage unit 330 to determine whether the temporary key generation data acquired by the temporary key generation data acquisition unit 320 is valid. judge. For example, the temporary key generation data verification unit 350 compares the numerical value represented by the temporary key generation data with the numerical value represented by the verification data. If the numerical value represented by the temporary key generation data is greater than or equal to the numerical value represented by the verification data, the temporary key generation data verification unit 350 determines that the temporary key generation data is valid. If the numerical value represented by the temporary key generation data is smaller than the numerical value represented by the verification data, the temporary key generation data verification unit 350 determines that the temporary key generation data is not valid.
  • the verification data storage unit 330 uses the storage device 914 to enable The temporary key generation data determined by the temporary key generation data verification unit 350 is stored as verification data.
  • the verification data storage unit 330 stores, for example, data representing the minimum value represented by the temporary key generation data as the first verification data.
  • the numerical value represented by the verification data stored in the verification data storage unit 330 is always the numerical value represented by the temporary key generation data stored in the temporary key generation data storage unit 130 of the management apparatus 100. It is as follows. As the verification data update unit 340 updates the verification data stored in the verification data storage unit 330, the numerical value represented by the verification data gradually increases. Further, the temporary key generation data update unit 140 updates the temporary key generation data stored in the temporary key generation data storage unit 130 of the management apparatus 100, so that the numerical value represented by the temporary key generation data gradually increases. .
  • the numerical value represented by the verification data stored in the verification data storage unit 330 is always stored in the temporary key generation data storage unit 130 of the management device 100. Or less than the numerical value represented by the temporary key generation data. Therefore, if the temporary key generation data notifying part 250 notified to the encryption communication apparatus 300 by the temporary key generation data notifying part 250 of the encryption communication apparatus 200 is the latest, the temporary key generation data verification part 350 It is determined that the temporary key generation data acquired by the generation data acquisition unit 320 is valid.
  • the temporary key The generation data verification unit 350 may determine that the temporary key generation data acquired by the temporary key generation data acquisition unit 320 is valid.
  • the temporary key generation data verification unit 350 determines that it is valid. Since the verification data storage unit 330 stores the key generation data as verification data, the temporary key generation data notified by the temporary key generation data notification unit 250 of the cryptographic communication device 200 to the cryptographic communication device 300 is the latest. In this case, at that time, the verification data stored in the verification data storage unit 330 and the temporary key generation data stored in the temporary key generation data storage unit 130 of the management apparatus 100 are the same. That is, the management device 100 and the encryption communication device 300 are synchronized.
  • the temporary key generation data verification unit 350 Does not determine that the temporary key generation data acquired by the temporary key generation data acquisition unit 320 is valid.
  • the management device 100 and the encryption communication device 300 can be easily synchronized.
  • the speed at which the numerical value represented by the verification data stored in the verification data storage unit 330 increases is the management device 100.
  • the temporary key generation data storage unit 130 stores the temporary key generation data, which is slower than the rate at which the numerical value is increased.
  • the temporary key generation data notifying unit 250 of the cryptographic communication device 200 notifies the cryptographic communication device 300 of the latest temporary key generation data
  • the synchronization between the management device 100 and the cryptographic communication device 300 is synchronized. Therefore, the difference between the numerical value represented by the verification data stored in the verification data storage unit 330 and the numerical value represented by the temporary key generation data stored in the temporary key generation data storage unit 130 of the management apparatus 100 increases. Can be prevented.
  • the temporary key generation unit 360 uses the processing device 911 to Is generated.
  • the temporary key generation unit 360 generates a temporary key using the master key stored in the master key storage unit 310 and the temporary key generation data determined by the temporary key generation data verification unit 350 to be valid.
  • the method by which the temporary key generation unit 360 generates a temporary key may be any method as long as it satisfies the following conditions.
  • the first condition is that the same or similar temporary key is generated if the combination of the master key and the temporary key generation data is the same.
  • the second condition is that the master key is a master key that is the same as or corresponds to the master key used by the temporary key generation unit 160 of the management apparatus 100 to generate the temporary key. If the data is the same as the temporary key generation data used by the temporary key generation unit 160 to generate the temporary key, the temporary key that is the same as or corresponds to the temporary key generated by the temporary key generation unit 160 The key is to be generated.
  • a temporary key that is not the same as the temporary key generated by the temporary key generation unit 160 and does not correspond to the temporary key generated by the temporary key generation unit 160 is generated.
  • the third condition is that the temporary key and the master key cannot be inferred from the temporary key generation data and the ciphertext generated using the temporary key generated using the temporary key generation data. Thereby, leakage of a temporary key and a master key can be prevented.
  • the temporary key generation unit 360 uses the master key stored in the master key storage unit 310 to encrypt the temporary key generation data determined by the temporary key generation data verification unit 350 to be valid.
  • the temporary key generation unit 360 uses the encrypted ciphertext as a temporary key.
  • the temporary key generation unit 360 uses a one-way hash function to generate the master key stored in the master key storage unit 310 and the temporary key generation data determined by the temporary key generation data verification unit 350 to be valid.
  • the hash value is calculated using the business data as input of the hash function.
  • the temporary key generation unit 360 uses the calculated hash value as a temporary key.
  • the cryptographic communication unit 390 performs cryptographic communication with the cryptographic communication device 200 using the temporary key generated by the temporary key generation unit 360.
  • the cryptographic communication unit 390 receives the ciphertext transmitted by the cryptographic communication unit 290 of the cryptographic communication device 200 using the communication device 915 and uses the processing device 911 to convert the received ciphertext to the temporary key generation unit. 360 is decrypted using the temporary key generated.
  • the cryptographic communication unit 390 uses the processing device 911 to generate a ciphertext using the temporary key generated by the temporary key generation unit 360, and uses the communication device 915 to convert the generated ciphertext to the cryptographic communication device 200. Send to.
  • the master key stored in the master key storage unit 310 is the same as or corresponding to the master key stored in the master key storage unit 110 of the management apparatus 100.
  • the temporary key generation data acquired by the temporary key generation data acquisition unit 320 is generated when the temporary key generation unit 160 of the management apparatus 100 generates a temporary key that the encryption communication unit 290 of the encryption communication apparatus 200 uses for encryption communication. This is the same data as the temporary key generation data used in the above. Therefore, the temporary key generated by the temporary key generation unit 360 is a temporary key that is the same as or corresponds to the temporary key that the cryptographic communication unit 290 of the cryptographic communication device 200 uses for cryptographic communication. Therefore, the encryption communication unit 390 can decrypt the ciphertext encrypted by the encryption communication unit 290 of the encryption communication device 200, and can generate a ciphertext that can be decrypted by the encryption communication unit 290 of the encryption communication device 200. .
  • a set of temporary key generation data stored in the temporary key generation data storage unit 230 of the encryption communication device 200 and temporary key stored in the temporary key storage unit 270 leaks, and the temporary key generation data and the temporary key are leaked.
  • the verification data update unit 340 updates the verification data stored in the verification data storage unit 330
  • the temporary key generation data obtained by the third party and the temporary key generated using the data are not the latest. .
  • the temporary key generation data verification unit 350 determines that it is not valid. Thereby, it is possible to prevent a third party from performing cryptographic communication with the cryptographic communication device 300.
  • the processes in the cryptographic communication system 800 are roughly divided into an initialization process S601, an update process S602, a temporary key notification process S603, and a cryptographic communication process S604.
  • the management device 100 and the cryptographic communication device 300 initialize a master key, temporary key generation data, verification data, and the like.
  • the management device 100 and the cryptographic communication device 300 periodically update the temporary key generation data and the verification data.
  • the temporary key notification process S603 the management device 100 generates a temporary key and notifies the encrypted communication device 200 of the generated temporary key.
  • the encryption communication processing S604 the encryption communication device 200 and the encryption communication device 300 agree on a temporary key used for encryption communication and perform encryption communication.
  • FIG. 6 is a flowchart showing an example of the flow of the initialization process S601 in this embodiment.
  • the management apparatus 100 executes, for example, a master key storage step S611 and a temporary key generation data initialization step S612.
  • the master key storage unit 110 of the management device 100 acquires a master key.
  • a master key generation device is provided outside the management device 100.
  • the master key storage unit 110 acquires the master key for the management apparatus 100 generated by the master key generation apparatus by communicating with the master key generation apparatus using the communication apparatus 915.
  • a master key generation unit is provided inside the management apparatus 100.
  • the master key storage unit 110 uses the processing device 911 to acquire the master key for the management device 100 generated by the master key generation unit.
  • the master key storage unit 110 uses the storage device 914 to store the acquired master key.
  • the temporary key generation data storage unit 130 of the management apparatus 100 initializes the temporary key generation data. For example, the temporary key generation data storage unit 130 acquires initial data of temporary key generation data. The initial data acquired by the temporary key generation data storage unit 130 represents, for example, the minimum value represented by the temporary key generation data. Using the storage device 914, the temporary key generation data storage unit 130 stores the acquired initial data as temporary key generation data.
  • the cryptographic communication apparatus 300 executes, for example, a master key storage step S631 and a verification data initialization step S632. Note that the cryptographic communication device 300 executes the initialization process S601 regardless of the management device 100. That is, the timing at which the cryptographic communication apparatus 300 executes the initialization process S601 does not have to be the same as the timing at which the management apparatus 100 executes the initialization process S601.
  • the master key storage unit 310 of the encryption communication device 300 is the same as or corresponds to the master key stored in the master key storage unit 110 of the management device 100 in the master key storage step S611.
  • the master key storage unit 310 uses the communication device 915 to communicate with the master key generation device, thereby acquiring the master key for the encryption communication device 300 generated by the master key generation device.
  • the master key storage unit 310 uses the communication device 915 to communicate with the management device 100, thereby acquiring the master key for the encryption communication device 300 generated by the master key generation unit of the management device 100.
  • the master key storage unit 310 uses the storage device 914 to store the acquired master key.
  • the verification data storage unit 330 of the cryptographic communication device 300 initializes the verification data. For example, the verification data storage unit 330 acquires initial data of verification data.
  • the initial data acquired by the verification data storage unit 330 represents, for example, the minimum value of the numerical value represented by the temporary key generation data.
  • the verification data storage unit 330 uses the storage device 914 to store the acquired initial data as verification data.
  • FIG. 7 is a flowchart showing an example of the flow of the update process S602 in this embodiment.
  • the management device 100 executes, for example, a period elapsed determination process S613 and a temporary key generation data update process S614.
  • the temporary key generation data update unit 140 of the management device 100 determines whether or not a predetermined update cycle has elapsed. For example, the temporary key generation data update unit 140 uses the processing device 911 to compare the elapsed time from the previous update with the update cycle, and when the elapsed time is greater than the update cycle, the update cycle has elapsed. It is determined. If it is determined that the update cycle has elapsed, the temporary key generation data update unit 140 proceeds to the temporary key generation data update step S614.
  • the temporary key generation data update unit 140 of the management apparatus 100 updates the temporary key generation data.
  • the temporary key generation data update unit 140 uses the processing device 911 to acquire the temporary key generation data stored in the temporary key generation data storage unit 130.
  • the temporary key generation data update unit 140 calculates a total value obtained by summing up the numerical value represented by the acquired temporary key generation data and a predetermined increment value.
  • the temporary key generation data updating unit 140 updates the temporary key generation data stored in the temporary key generation data storage unit 130 using the data representing the calculated total value.
  • the temporary key generation data storage unit 130 uses the storage device 914 to generate data representing the total value newly calculated by the temporary key generation data update unit 140 instead of the old temporary key generation data. Store as data. Thereafter, the temporary key generation data update unit 140 returns the process to the cycle elapse determination step S613 and waits for the next update cycle to elapse.
  • the cryptographic communication device 300 executes, for example, a cycle elapse determination step S633 and a verification data update step S634.
  • the cryptographic communication device 300 executes the update process S602 regardless of the management device 100. That is, the timing at which the cryptographic communication apparatus 300 executes the update process S602 does not have to be the same as the timing at which the management apparatus 100 executes the update process S602.
  • the verification data update unit 340 of the encryption communication device 300 determines whether or not a predetermined update cycle has elapsed. For example, the verification data update unit 340 compares the elapsed time from the previous update with the update cycle using the processing device 911, and determines that the update cycle has passed if the elapsed time is greater than the update cycle. To do. When it is determined that the update cycle has elapsed, the verification data update unit 340 advances the processing to the verification data update step S634.
  • the verification data update unit 340 of the cryptographic communication device 300 updates the verification data.
  • the verification data update unit 340 uses the processing device 911 to acquire the verification data stored in the verification data storage unit 330.
  • the verification data update unit 340 uses the processing device 911 to calculate a total value obtained by summing the numerical value represented by the acquired verification data and a predetermined increment value.
  • the verification data update unit 340 uses the data representing the calculated total value to update the verification data stored in the verification data storage unit 330.
  • the verification data storage unit 330 stores data representing the total value newly calculated by the verification data update unit 340 as verification data using the storage device 914 instead of the old verification data. Thereafter, the verification data update unit 340 returns the process to the cycle elapse determination step S633 and waits for the next update cycle to elapse.
  • FIG. 8 is a flowchart showing an example of the flow of the temporary key notification processing S603 in this embodiment.
  • the management device 100 executes, for example, a temporary key request reception step S615, a temporary key generation step S616, a temporary key notification step S618, and a temporary key generation data notification step S619. Also, in the temporary key notification process S603, for example, the cryptographic communication apparatus 200 executes a temporary key request process S621, a temporary key acquisition process S622, and a temporary key generation data acquisition process S623.
  • the temporary key acquisition unit 260 of the cryptographic communication device 200 requests the management device 100 for a temporary key.
  • the temporary key acquisition unit 260 uses the communication device 915 to transmit a temporary key request message for requesting a temporary key to the management device 100.
  • the temporary key notifying unit 170 of the management device 100 receives a request from the encryption communication device 200.
  • the temporary key notification unit 170 receives the temporary key request message transmitted by the temporary key acquisition unit 260 of the encryption communication device 200 using the communication device 915.
  • the management device 100 may authenticate the cryptographic communication device 200 in order to confirm whether or not the cryptographic communication device 200 may be notified of the temporary key.
  • the encryption communication device 200 is provided with an authentication information input unit
  • the management device 100 is provided with an authentication information verification unit.
  • the authentication information input unit of the encryption communication device 200 uses the input device 912 to input biometric information such as a user's fingerprint and authentication information such as a password.
  • the processing device 911 uses the processing device 911, the temporary key acquisition unit 260 of the encryption communication device 200 generates a temporary key request message including the authentication information input by the authentication information input unit.
  • the authentication information verification unit of the management device 100 authenticates the cryptographic communication device 200 by using the processing device 911 to verify the authentication information included in the temporary key request message notified from the cryptographic communication device 200.
  • the management apparatus 100 ends the temporary key notification process S603 without executing the subsequent steps. Thereby, it is possible to prevent the management apparatus 100 from notifying the encryption communication apparatus 200 of the temporary key when a person other than the authorized user is operating the encryption communication apparatus 200.
  • the temporary key generation unit 160 of the management device 100 uses the processing device 911 to store the master key stored in the master key storage unit 110 and the temporary key stored in the temporary key generation data storage unit 130. A temporary key is generated based on the generation data.
  • the temporary key notification unit 170 of the management device 100 notifies the encryption communication device 200 of the temporary key generated by the temporary key generation unit 160 in the temporary key generation step S616.
  • the temporary key acquisition step S622 the temporary key acquisition unit 260 of the cryptographic communication device 200 acquires the temporary key notified by the temporary key notification unit 170 of the management device 100 in the temporary key notification step S618.
  • the temporary key storage unit 270 of the encryption communication device 200 stores the temporary key acquired by the temporary key acquisition unit 260 using the storage device 914.
  • the temporary key generation data notification unit 150 of the management device 100 temporarily stores the temporary key notified to the encryption communication device 200 by the temporary key notification unit 170 in the temporary key notification step S618.
  • Temporary key generation data used when the temporary key generation unit 160 generates in the key generation step S616 is notified to the encryption communication device 200.
  • the temporary key generation data acquisition step S623 the temporary key generation data acquisition unit 220 of the cryptographic communication device 200 receives the temporary key notified by the temporary key generation data notification unit 150 of the management device 100 in the temporary key generation data notification step S619. Get key generation data.
  • the temporary key generation data storage unit 230 of the encryption communication device 200 stores the temporary key generation data acquired by the temporary key generation data acquisition unit 220.
  • FIG. 9 is a flowchart showing an example of the flow of the cryptographic communication process S604 in this embodiment.
  • the cryptographic communication device 200 executes, for example, a temporary key generation data notification step S624 and a cryptographic communication step S625. Further, in the cryptographic communication process S604, the cryptographic communication device 300 executes, for example, a temporary key generation data acquisition step S635, a temporary key generation data verification step S636, a temporary key generation step S637, and a cryptographic communication step S638. To do.
  • the temporary key generation data notification unit 250 of the cryptographic communication device 200 notifies the cryptographic communication device 300 of the temporary key generation data stored in the temporary key generation data storage unit 230. To do.
  • the temporary key generation data acquisition step S635 the temporary key generation data acquisition unit 320 of the cryptographic communication device 300 notifies the temporary key generation data notification unit 250 of the cryptographic communication device 200 in the temporary key generation data notification step S624. Get temporary key generation data.
  • the cryptographic communication device 200 includes not only temporary key generation data but also information necessary for starting cryptographic communication with the cryptographic communication device 300 such as identification data and authentication information for identifying the cryptographic communication device 200.
  • the encryption communication device 300 may be notified.
  • the temporary key generation data verification unit 350 of the cryptographic communication device 300 uses the processing device 911 to verify the verification data stored in the verification data storage unit 330 and the temporary key generation data. Based on the temporary key generation data acquired by the data acquisition unit 320, it is determined whether or not the temporary key generation data is valid. If the temporary key generation data verification unit 350 determines that the temporary key generation data is not valid, the cryptographic communication apparatus 300 ends the cryptographic communication process S604 without executing the subsequent steps. When the temporary key generation data verification unit 350 determines that the temporary key generation data is valid, the verification data storage unit 330 uses the storage device 914 to replace the verification data stored so far. The temporary key generation data determined by the temporary key generation data verification unit 350 as valid is stored as new verification data. Thereby, the management apparatus 100 and the encryption communication apparatus 300 are gently synchronized.
  • the cryptographic communication device 300 may be configured to notify the cryptographic communication device 200 of the verification result. Also, the cryptographic communication device 300 transmits not only the verification result but also information necessary for starting cryptographic communication with the cryptographic communication device 200 such as identification data for identifying the cryptographic communication device 300 and authentication information. 200 may be configured to transmit to 200.
  • the temporary key generation unit 360 of the cryptographic communication device 300 uses the processing device 911 and the master key stored in the master key storage unit 310, and the temporary key generation data verification unit 350 that is valid.
  • a temporary key is generated based on the temporary key generation data determined by.
  • the cryptographic communication unit 290 of the cryptographic communication device 200 performs cryptographic communication with the cryptographic communication device 300 using the temporary key stored in the temporary key storage unit 270.
  • the cryptographic communication unit 390 of the cryptographic communication device 300 performs cryptographic communication with the cryptographic communication device 200 using the temporary key generated by the temporary key generation unit 360 in the temporary key generation step S637.
  • the cryptographic communication unit 290 of the cryptographic communication device 200 uses the processing device 911 to generate a ciphertext using the temporary key stored in the temporary key storage unit 270 and uses the communication device 915 to generate the ciphertext generated. Is transmitted to the cryptographic communication apparatus 300.
  • the encryption communication unit 390 of the encryption communication device 300 receives the ciphertext transmitted by the encryption communication device 200 using the communication device 915, and uses the temporary key generated by the temporary key generation unit 360 using the processing device 911. To decrypt the ciphertext. Also, the cryptographic communication unit 390 of the cryptographic communication device 300 uses the processing device 911 to generate a ciphertext using the temporary key generated by the temporary key generation unit 360 and uses the communication device 915 to generate the ciphertext generated. Is transmitted to the cryptographic communication apparatus 200. The encryption communication unit 290 of the encryption communication device 200 receives the ciphertext transmitted by the encryption communication device 300 using the communication device 915 and uses the temporary key stored in the temporary key storage unit 270 using the processing device 911. And decrypts the received ciphertext.
  • the information necessary for starting the encryption communication is encrypted using the agreed temporary key between the encryption communication device 200 and the encryption communication device 300.
  • the structure which communicates may be sufficient.
  • the cryptographic communication device 200 and the cryptographic communication device 300 perform mutual authentication based on the exchanged information.
  • the encryption communication device 200 and the encryption communication device 300 agree on a key to be used for encryption communication based on the exchanged information, and perform encryption communication using the agreed key.
  • the cryptographic communication device 200 when the cryptographic communication device 200 is small and portable, there is a possibility that a legitimate user of the cryptographic communication device 200 loses the cryptographic communication device 200 and a third party picks up the cryptographic communication device 200 and misuses it. is there. If the temporary key stored in the cryptographic communication device 200 picked up by the third party becomes old due to the update of the verification data, the cryptographic communication device 200 performs cryptographic communication with the cryptographic communication device 300. I can't. For this reason, it is possible to prevent information from leaking from the encryption communication device 300.
  • the cryptographic communication apparatus 200 stores a temporary key and temporary key generation data, but does not store a master key. Since the master key cannot be estimated from the temporary key and the temporary key generation data, even if a third party who picks up the cryptographic communication device 200 extracts the temporary key or temporary key generation data from the cryptographic communication device 200 The master key will not be leaked.
  • Embodiment 2 FIG. The second embodiment will be described.
  • symbol is attached
  • the temporary key generation data verification unit 350 determines that the temporary key generation data acquired by the temporary key generation data acquisition unit 320 is valid, and the verification data storage unit 330 determines that the temporary key generation data is valid.
  • the verification data update unit 340 resets the elapsed time from the previous update. That is, the verification data update unit 340 includes a verification data storage unit when an elapsed time after the verification data storage unit 330 stores the temporary key generation data as verification data reaches a predetermined update period. The verification data stored in 330 is updated.
  • the numerical value represented by the verification data stored in the verification data storage unit 330 increases. Is faster than the speed at which the numerical value represented by the temporary key generation data stored in the temporary key generation data storage unit 130 of the management apparatus 100 increases. As it is, in any case, the numerical value represented by the verification data stored in the verification data storage unit 330 is larger than the numerical value represented by the temporary key generation data stored in the temporary key generation data storage unit 130 of the management apparatus 100. Thus, even with the latest temporary key generation data, it is determined that the temporary key generation data verification unit 350 is not valid, so that encrypted communication between the encrypted communication device 200 and the encrypted communication device 300 cannot be performed.
  • the management device 100 stores the temporary key generation data storage unit. A certain amount of time has already passed since the temporary key generation data update unit 140 updates the temporary key generation data stored in 130. Therefore, in the cryptographic communication apparatus 300, if the verification data update unit 340 measures the elapsed time from that time, the next update of the verification data is slower than the update of the temporary key generation data in the management apparatus 100.
  • the verification data storage unit The speed at which the numerical value represented by the verification data stored in 330 is increased can be prevented from becoming faster than the speed at which the numerical value represented by the temporary key generation data stored in the temporary key generation data storage unit 130 is increased.
  • FIG. 3 A third embodiment will be described with reference to FIGS. Note that portions common to the first embodiment or the second embodiment are denoted by the same reference numerals, and description thereof is omitted.
  • FIG. 10 is a diagram showing an example of the overall configuration of the automatic meter reading system 801 in this embodiment.
  • the automatic meter reading system 801 (encryption communication system) includes, for example, a management server 101, a portable terminal 201, and a meter reading meter 301.
  • the meter-reading meter 301 and the portable terminal 201 communicate using the wireless network 802.
  • the portable terminal 201 and the management server 101 communicate using the public network 803.
  • the communication between the portable terminal 201 and the management server 101 uses a secure communication path such as SSL (Secure Socket Layer). Wireless communication and public network communication are not necessarily performed simultaneously. Note that there are usually a plurality of portable terminals 201 and meter-reading meters 301.
  • the hardware configuration of the management server 101, the portable terminal 201, and the meter-reading meter 301 is the same as that of the management device 100, the encryption communication device 200, and the encryption communication device 300 described in the first embodiment, for example.
  • FIG. 11 is a diagram showing an example of functional blocks of the management server 101 in this embodiment.
  • the management server 101 (management device) includes, for example, a master key storage unit 111, a generation number counter 131, and a key information management unit 161.
  • the master key storage unit 111 stores a master key 411 (first master key).
  • the master key 411 is a key used in common key encryption, and the meter-reading meter 301 has the same key.
  • a configuration in which a plurality of meter-reading meters 301 use a common master key may be used, or a configuration in which a different master key is used for each meter-reading meter 301 may be used.
  • the generation number counter 131 (temporary key generation data storage unit) stores a generation number 412 (temporary key generation data).
  • the generation number counter 131 (temporary key generation data update unit) increments the generation number 412 in synchronization with the date.
  • the generation number counter 131 may be configured to increment the generation number 412 every time a certain period (for example, 24 hours) elapses.
  • the key information management unit 161 receives the temporary key issue request 421 from the portable terminal 201.
  • the key information management unit 161 receives the generation number 412 from the generation number counter 131.
  • the key information management unit 161 receives the master key 411 from the master key storage unit 111.
  • the key information management unit 161 (temporary key generation unit) generates a temporary key 413 (first temporary key) from the master key 411 and the generation number 412.
  • the key information management unit 161 (temporary key notification unit / temporary key generation data notification unit) sends the temporary key 413 and the generation number 412 to the portable terminal 201.
  • FIG. 12 is a diagram showing an example of functional blocks of the mobile terminal 201 in this embodiment.
  • the mobile terminal 201 (first cryptographic communication device) includes, for example, a management server communication unit 221, a message generation unit 281 and a meter reading meter communication unit 291.
  • the management server communication unit 221 sends a temporary key issue request 421 to the key information management unit 161 of the management server 101.
  • the management server communication unit 221 may be configured to send a password, biometrics such as a fingerprint, and other authentication information as part of the temporary key issue request 421.
  • the management server communication unit 221 sends the key type information 422 as a temporary key issue request 421.
  • the key type information 422 indicates the type of key to be used. Thereby, when a master key differs for every meter-reading meter 301 etc., a some key can be used properly according to a use.
  • the management server communication unit 221 temporary key acquisition unit / temporary key generation data acquisition unit receives the temporary key 413 and the generation number 412 from the management server 101.
  • the pair management server communication unit 221 passes the received temporary key 413 and the generation number 412 to the pair meter reading meter communication unit 291.
  • the message generation unit 281 generates a message 423 for the meter-reading meter 301.
  • the meter reading meter communication unit 291 communicates with the meter reading meter 301.
  • the meter reading meter communication unit 291 receives the message 423 generated by the message generation unit 281.
  • the meter reading meter communication unit 291 encrypts the message 423 with the temporary key 413.
  • the meter reading meter communication unit 291 generates a message identifier.
  • the meter reading meter communication unit 291 generates an encrypted message 424 by concatenating the ciphertext obtained by encrypting the message 423, the message identifier, and the generation number 412.
  • the meter reading meter communication unit 291 (temporary key generation data notification unit / encrypted communication unit) sends the encrypted message 424 to the meter reading meter 301.
  • the meter reading meter communication unit 291 (encrypted communication unit) receives the encrypted response 434 from the meter reading meter 301.
  • the meter reading meter communication unit 291 decrypts the encrypted response 434 with the temporary key 4
  • FIG. 13 is a diagram showing an example of functional blocks of the meter-reading meter 301 in this embodiment.
  • the meter-reading meter 301 (second encryption communication device) includes, for example, a master key storage unit 311, a generation number counter 331, a message processing unit 381, and a portable terminal communication unit 391.
  • the master key storage unit 311 stores a master key 431 (second master key).
  • the generation number counter 331 (verification data storage unit) stores a generation number 432 (verification data).
  • the generation number counter 331 (verification data update unit) increments the generation number 432 in synchronization with the date.
  • the generation number counter 331 may be configured to increment the generation number 432 every time a certain period (for example, 24 hours) elapses.
  • the mobile terminal communication unit 391 communicates with the mobile terminal 201.
  • the mobile terminal communication unit 391 temporary key generation data acquisition unit
  • receives the encrypted message 424 The mobile terminal communication unit 391 acquires the generation number 432 from the generation number counter 331.
  • the mobile terminal communication unit 391 (temporary key generation data verification unit) compares the generation number 432 with the generation number 412 included in the encrypted message 424. When the generation number 432 is newer than the generation number 412, the mobile terminal communication unit 391 discards the encrypted message 424 and sends an error message to the mobile terminal 201 as the encrypted response 434.
  • the mobile terminal communication unit 391 acquires the master key 431 from the master key storage unit 311.
  • the mobile terminal communication unit 391 temporary key generation unit
  • the mobile terminal communication unit 391 generates a temporary key (second temporary key) from the generation number 412 and the master key 431.
  • the mobile terminal communication unit 391 generates the same key as the temporary key 413.
  • the mobile terminal communication unit 391 (encryption communication unit) decrypts the encrypted message 424 with the generated temporary key and reproduces the message 423.
  • the mobile terminal communication unit 391 verifies the reproduced message 423. If the verification is successful, the mobile terminal communication unit 391 sends a message 423 to the message processing unit 381.
  • the generation number 432 is older than the generation number 412
  • the mobile terminal communication unit 391 overwrites the generation number 412 on the generation number counter 331.
  • the mobile terminal communication unit 391 receives the response 433 generated by the message processing unit 381.
  • the mobile terminal communication unit 391 acquires the generation number 432 from the generation number counter 331.
  • the mobile terminal communication unit 391 acquires the master key 431 from the master key storage unit 311.
  • the mobile terminal communication unit 391 temporary key generation unit
  • the mobile terminal communication unit 391 (temporary key generation unit) generates a temporary key (second temporary key) from the generation number 432 and the master key 431.
  • the mobile terminal communication unit 391 (encryption communication unit) encrypts the response 433.
  • the mobile terminal communication unit 391 generates a message authenticator.
  • the mobile terminal communication unit 391 generates an encryption response 434.
  • the mobile terminal communication unit 391 sends the encryption response 434 to the meter reading meter communication unit 291 of the mobile terminal 201.
  • the message processing unit 381 processes the message 423 decoded by the meter reading meter communication unit 291 and generates a response 433.
  • the message processing unit 381 sends a response 433 to the mobile terminal communication unit 391.
  • FIG. 14 is a diagram showing an example of detailed functional blocks of the key information management unit 161 in the management server 101 of this embodiment.
  • the key information management unit 161 includes, for example, an authentication unit 162, a master key selection unit 163, a temporary key generation unit 164, and an output determination unit 171.
  • the authentication unit 162 receives the temporary key issue request 421 from the mobile terminal 201 (to the management server communication unit 221). The authentication unit 162 determines whether to process the temporary key issue request 421 based on the authentication information included in the temporary key issue request 421. For example, the authentication unit 162 authenticates the sender based on the authentication information. When it is determined not to process the temporary key issue request 421, the authentication unit 162 outputs an output determination signal 414 indicating that the key is not output to the output determination unit 171. When it is determined to process the temporary key issue request 421, the authentication unit 162 separates the key type information 422 from the temporary key issue request 421. The authentication unit 162 passes the key type information 422 to the master key selection unit 163. If authentication is not performed, the authentication unit 162 may not be provided.
  • the authentication unit 162 selects the master key 411 to be used for temporary key generation from the plurality of master keys 411 stored in the master key storage unit 111 based on the key type information 422.
  • the master key selection unit 163 outputs an output determination signal 414 indicating that no key is output. Is output to the output determination unit 171.
  • the master key selection unit 163 may not be provided.
  • the temporary key generation unit 164 acquires the master key 411 selected by the master key selection unit 163 and the generation number 412 stored by the generation number counter 131.
  • the temporary key generation unit 164 generates a temporary key 413 based on the master key 411 and the generation number 412. For example, the temporary key generation unit 164 generates, as the temporary key 413, data obtained by encrypting the generation number 412 with the master key 411 by a predetermined encryption method.
  • the temporary key generation unit 164 generates a hash value as a temporary key 413 using a keyed hash function with the generation number 412 and the master key 411 as inputs.
  • the key generation method used by the temporary key generation unit 164 to generate the temporary key 413 is that the temporary key 413 is uniquely generated from the generation number 412 and the master key 411, and that the temporary key 413 and the generation number 412 Therefore, it is necessary that the master key 411 is not estimated.
  • the generation number counter 131 has a generation number 412. After a certain period (for example, one day), the generation number counter 131 increments the generation number 412 by one.
  • the output determination unit 171 determines whether to output the temporary key 413 and the generation number 412 generated by the temporary key generation unit 164.
  • the output determination unit 171 does not output the temporary key 413 and the generation number 412. Instead, the output determination unit 171 may be configured to output a predetermined error code to the mobile terminal 201 (to the management server communication unit 221).
  • the output determination unit 171 sends the temporary key 413 and the generation number 412 to the portable terminal 201 (to the management server communication unit). 221).
  • FIG. 15 is a diagram illustrating an example of detailed functional blocks of the management server communication unit 221 in the portable terminal 201 according to this embodiment.
  • the management server communication unit 221 includes, for example, a temporary key issue request generation unit 222 and a temporary key information acquisition unit 223.
  • the temporary key issue request generation unit 222 receives key type information 422 and authentication information 425 from the input device 912.
  • the input device 912 is a character string input device such as a keyboard, for example.
  • the input device 912 is a device that acquires biometric information such as a fingerprint reader.
  • the temporary key issue request generator 222 stores the key type information 422 in a predetermined storage area of the storage device 914.
  • the temporary key issue request generator 222 generates a temporary key issue request 421 based on the acquired authentication information 425 and key type information 422.
  • the temporary key issue request 421 generated by the temporary key issue request generator 222 includes authentication information 425 and key type information 422.
  • the temporary key issue request generation unit 222 sends a temporary key issue request 421 to the management server 101 (key information management unit 161).
  • the temporary key issuance request generation unit 222 may be configured not to acquire the authentication information 425. In that case, the temporary key issue request 421 may be configured not to include the authentication information 425.
  • the temporary key issue request generation unit 222 may be configured not to acquire the key type information 422 from the input device 912. In this case, the temporary key issue request generation unit 222 may be configured to generate the key type information 422 internally. Alternatively, the temporary key issue request 421 may be configured not to include the key type information 422.
  • the temporary key issue request generation unit 222 When a response to the temporary key issue request 421 is received from the management server 101, the temporary key issue request generation unit 222 sends the key type information 422 to the counter meter communication unit 291.
  • the temporary key information acquisition unit 223 receives the temporary key 413 and the generation number 412 from the management server 101.
  • the temporary key information acquisition unit 223 sends the temporary key 413 and the generation number 412 to the counter meter communication unit 291.
  • FIG. 16 is a diagram illustrating an example of detailed functional blocks of the meter reading meter communication unit 291 in the portable terminal 201 of this embodiment.
  • the meter reading meter communication unit 291 includes, for example, an encryption unit 292, a multiplexing unit 293, a separation unit 294, a decryption unit 295, and a reception determination unit 296.
  • the message generation unit 281 generates a message 423 to be transmitted to the mobile terminal 201.
  • the message generation unit 281 sends the message 423 to the encryption unit 292.
  • the encryption unit 292 receives the temporary key 413 from the management server communication unit 221.
  • the encryption unit 292 encrypts the message 423 with the temporary key 413.
  • the encryption unit 292 generates a message authenticator.
  • the encryption unit 292 generates the ciphertext 426.
  • the ciphertext 426 includes a ciphertext body obtained by encrypting the message 423 and a message authenticator.
  • the encryption unit 292 executes common key encryption such as AES (Advanced Encryption Standard) and TDES (Triple Data Encryption Standard) in a predetermined usage mode, and encrypts the message 423.
  • AES Advanced Encryption Standard
  • TDES Triple Data Encryption Standard
  • the encryption unit 292 executes a common key encryption such as AES or TDES in a predetermined usage mode to generate a message authenticator.
  • the encryption unit 292 executes a keyed cryptographic hash or the like to generate a message authenticator.
  • the multiplexing unit 293 receives the key type information 422 and the key type information 422 from the management server communication unit 221.
  • the multiplexing unit 293 generates the encrypted message 424 by multiplexing the key type information 422, the generation number 412 and the ciphertext 426.
  • the multiplexing unit 293 (temporary key generation data notification unit, encryption communication unit) sends the encrypted message 424 to the portable terminal 201 (counter meter communication unit 291).
  • the separation unit 294 receives the encrypted response 434 from the mobile terminal 201 (the meter reading meter communication unit 291). The separation unit 294 separates the encrypted response 434 into the ciphertext 436 and the generation number 432.
  • the decryption unit 295 receives the temporary key 413 from the management server communication unit 221.
  • the decryption unit 295 decrypts the ciphertext 436 using the temporary key 413 and generates a response 433.
  • the decryption unit 295 decrypts the ciphertext 436 using a decryption method corresponding to the encryption method used by the portable terminal communication unit 391 in the meter-reading meter 301.
  • the decryption unit 295 performs message verification of the ciphertext 436 and generates a verification result 427.
  • the decryption unit 295 verifies the ciphertext 436 using a verification method corresponding to the message authenticator generation method used by the portable terminal communication unit 391 in the meter-reading meter 301.
  • the decryption unit 295 outputs the response 433 and the verification result 427.
  • the reception determination unit 296 receives the generation number 412 from the management server communication unit 221.
  • the reception determination unit 296 performs output determination based on the generation number 412, the generation number 432, and the verification result 427. Judgment criteria are as follows. When the decryption unit 295 fails in message verification, the response 433 is not output. If the generation number 432 is older than the generation number 412, the response 433 is not output. If the decryption unit 295 succeeds in message verification and the generation number 432 is the same as or newer than the generation number 412, a response 433 is output. In the case of the determination result that the response 433 is output, the reception determination unit 296 outputs the response 433 to the message generation unit 281.
  • FIG. 17 is a diagram illustrating an example of detailed functional blocks of the portable terminal communication unit 391 in the meter-reading meter 301 according to this embodiment.
  • the mobile terminal communication unit 391 includes, for example, a master key selection unit 363, a temporary key generation unit 364, an encryption unit 392, a multiplexing unit 393, a separation unit 394, a decryption unit 395, and a reception determination unit 396. And have.
  • the separating unit 394 receives the encrypted message 424 from the portable terminal 201 (the meter reading meter communication unit 291). The separation unit 394 separates the encrypted message 424 into key type information 422, ciphertext 426, and generation number 412.
  • the master key selection unit 363 selects a master key 431 used for generating the temporary key 435 from among the plurality of master keys 431 stored in the master key storage unit 311.
  • the temporary key generation unit 364 generates a temporary key 435 from the master key 431 selected by the master key selection unit 363 and the generation number 412.
  • the temporary key generation unit 364 generates the temporary key 435 by the same temporary key generation method as the temporary key generation unit 164 of the key information management unit 161 in the management server 101.
  • the decryption unit 395 decrypts the ciphertext 426 using the temporary key 435 and generates a message 423.
  • the decryption unit 395 decrypts the ciphertext 426 using a decryption method corresponding to the encryption method used by the encryption unit 292 of the meter reading meter communication unit 291 in the portable terminal 201.
  • the decryption unit 395 performs message verification of the ciphertext 426 and generates a verification result 437.
  • the decryption unit 395 verifies the ciphertext 426 using a verification method corresponding to the message authenticator generation method used by the encryption unit 292 of the meter reading meter communication unit 291 in the portable terminal 201.
  • the decryption unit 395 outputs the ciphertext 426 and the verification result 437.
  • the reception determination unit 396 acquires the generation number 432 from the generation number counter 331.
  • the reception determination unit 396 performs output determination based on the generation number 432, the generation number 412, and the verification result 437. Judgment criteria are as follows. If the decryption unit 395 fails in message verification, the message 423 is not output. If the generation number 412 is older than the generation number 432, the message 423 is not output. When the decryption unit 395 succeeds in the message verification and the generation number 412 is the same as the generation number 432 or is newer than the generation number 432, the message 423 is output. If it is determined that the message 423 is to be output, the reception determination unit 396 outputs the message 423 to the message processing unit 381. If the message verification is successful and the generation number 412 is newer than the generation number 432, the reception determination unit 396 rewrites the value stored in the generation number counter 331 to the generation number 412.
  • the generation number counter 331 increases the generation number 432 held by one when a certain period (for example, one day) has elapsed since the generation number 432 to be held is changed.
  • the encryption unit 392 receives the response 433 from the message processing unit 381.
  • the encryption unit 392 encrypts the response 433 using the temporary key 435. Further, the encryption unit 392 generates a message authenticator.
  • the encryption unit 392 generates the ciphertext 436. For example, the encryption unit 392 generates the ciphertext 436 using the same encryption method and message authenticator generation method as the encryption unit 292 of the meter reading meter communication unit 291 in the portable terminal 201.
  • the multiplexing unit 393 multiplexes the key type information 422, the generation number 432, and the ciphertext 436 to generate an encryption response 434.
  • the multiplexing unit 393 sends the encryption response 434 to the portable terminal 201 (counter meter communication unit 291).
  • FIG. 18 is a flowchart showing an example of the flow of the temporary key notification processing S603 in this embodiment.
  • the temporary key notification processing S603 includes, for example, a temporary key issue request generation step S641, an authentication step S642, a master key selection step S643, a temporary key generation step S644, an output step S645, and a temporary key information acquisition step S646. Have.
  • the temporary key issue request generation unit 222 of the mobile terminal 201 generates a temporary key issue request 421.
  • the temporary key issue request generation unit 222 transmits a temporary key issue request 421 to the management server 101 (key information management unit 161).
  • the authentication unit 162 of the management server 101 receives the temporary key issue request 421.
  • the authentication unit 162 verifies the temporary key issue request 421. If the verification fails, the authentication unit 162 ends the temporary key notification process S603. If the verification is successful, the authentication unit 162 separates the key type information 422 from the temporary key issuance request 421 and proceeds to the master key selection step S643.
  • the master key selection unit 163 of the management server 101 selects the master key 411 based on the key type information 422. If the key type information 422 is invalid, the master key selection unit 163 ends the temporary key notification process S603. If the key type information 422 is correct, the master key selection unit 163 advances the process to the temporary key generation step S644. In the temporary key generation step S 644, the temporary key generation unit 164 of the management server 101 generates a temporary key 413 based on the master key 411 and the generation number 412. In the output step S645, the output determination unit 171 of the management server 101 transmits the temporary key 413 and the generation number 412 to the mobile terminal 201 (to the management server communication unit 221).
  • the temporary key information acquisition unit 223 of the mobile terminal 201 receives the temporary key 413 and the generation number 412.
  • the temporary key information acquisition unit 223 outputs the temporary key 413 and the generation number 412 to the counter meter reading unit 291.
  • the temporary key issue request generation unit 222 outputs the key type information 422 to the meter reading meter communication unit 291. At this time, communication between the management server 101 and the mobile terminal 201 may be disconnected.
  • FIG. 19 is a flowchart showing an example of the flow of the cryptographic communication processing S604 in this embodiment.
  • the encryption communication processing S604 includes, for example, an encryption step S651, a multiplexing step S652, a separation step S653, a master key selection step S654, a temporary key generation step S655, a decryption step S656, and a reception determination step S657. It includes a message processing step S660, a master key selection step S671, a temporary key generation step S672, an encryption step S673, a multiplexing step S674, a separation step S675, a decryption step S676, and a reception determination step S677.
  • the encryption unit 292 of the mobile terminal 201 encrypts the message 423 using the temporary key 413 and generates a ciphertext 426.
  • the multiplexing unit 293 of the mobile terminal 201 multiplexes the ciphertext 426, the generation number 412 and the key type information 422 to generate an encrypted message 424.
  • the multiplexing unit 293 transmits the encrypted message 424 to the meter-reading meter 301 (for the portable terminal communication unit 391).
  • the separation unit 394 of the meter-reading meter 301 receives the encrypted message 424.
  • the separation unit 394 separates the encrypted message 424 into a ciphertext 426, a generation number 412 and key type information 422.
  • the master key selection unit 363 of the meter-reading meter 301 selects the master key 431 based on the key type information 422.
  • the master key selection unit 363 stores key type information 422.
  • the temporary key generation step S655 the temporary key generation unit 364 of the meter-reading meter 301 generates a temporary key 435 based on the master key 431 and the generation number 412.
  • the decryption unit 395 of the meter-reading meter 301 decrypts the ciphertext 426 using the temporary key 435, and generates a message 423 and a verification result 437.
  • the reception determination step S657 the reception determination unit 396 of the meter-reading meter 301 determines whether to output the message 423 based on the generation number 412, the generation number 432, and the verification result 437. When it is determined that the message 423 is not output, the reception determination unit 396 ends the encryption communication process S604. When it is determined that the message 423 is output, the reception determination unit 396 outputs the message 423.
  • the generation number counter 331 stores the generation number 412.
  • the message processing unit 381 of the meter-reading meter 301 processes the message 423 and generates a response 433.
  • the master key selection step S671 the master key selection unit 363 of the meter-reading meter 301 selects the master key 431 based on the stored key type information 422.
  • the master key selection unit 363 outputs the selected master key 431 and key type information 422.
  • the temporary key generation step S672 the temporary key generation unit 364 of the meter-reading meter 301 generates a temporary key 435 based on the master key 431 and the generation number 432.
  • the temporary key 435 generated by the temporary key generation unit 364 in the temporary key generation step S672 is the same as the temporary key 435 generated by the temporary key generation unit 364 in the temporary key generation step S655.
  • the encryption unit 392 of the meter-reading meter 301 encrypts the response 433 using the temporary key 435 generated by the temporary key generation unit 364 in the temporary key generation step S672, and generates a ciphertext 436.
  • the encryption unit 392 may be configured to encrypt the response 433 using the temporary key 435 generated by the temporary key generation unit 364 in the temporary key generation step S655. In that case, the master key selection step S671 and the temporary key generation step S672 may be omitted.
  • the multiplexing unit 393 of the meter-reading meter 301 multiplexes the ciphertext 436, the generation number 432, and the key type information 422, and generates an encrypted response 434.
  • the multiplexing unit 393 transmits the encryption response 434 to the mobile terminal 201 (the meter reading meter communication unit 291).
  • the separation unit 294 of the mobile terminal 201 receives the encryption response 434.
  • the separation unit 294 separates the encrypted response 434 into the ciphertext 436 and the generation number 432.
  • the decryption unit 295 of the mobile terminal 201 decrypts the ciphertext 436 and generates a response 433 and a verification result 427.
  • the reception determination unit 296 of the mobile terminal 201 determines whether to output the response 433 based on the generation number 432, the generation number 412, and the verification result 427. When it is determined that the response 433 is output, the reception determination unit 296 outputs the response 433 to the message generation unit 281.
  • the communication device (portable terminal 201, meter-reading meter 301) in this embodiment communicates using the encryption key temporarily generated in the common key encryption communication.
  • the communication device holds a master key shared between the devices in advance and a counter that monotonously increases over a certain period, obtains a counter value from the counter, and generates a temporary key from the master key and the counter value
  • the message authenticator is generated for a predetermined message using the temporary key, and the counter value, the message, and the message authenticator are transmitted.
  • the communication device acquires the temporary key and the counter value from a predetermined server (management server 101) via a public network, generates a message authenticator for a predetermined message with the temporary key, The counter value, the message, and the message authenticator are transmitted.
  • the communication device (mobile terminal 201, meter-reading meter 301) encrypts the message with the temporary key.
  • the communication device receives a message transmitted by another communication device.
  • the communication device holds a master key shared between devices in advance and a counter that monotonously increases in a certain period, generates a temporary key from the master key and the received counter value, performs verification of the received message, If the message verification is successful and the received counter value is the same or newer than the counter value acquired from the counter, the message is accepted.
  • the communication device (meter reading meter 301) updates the value of the previous period counter to the received counter value.
  • the automatic meter reading system 801 (encryption communication system) in this embodiment generates a temporary key from a master key and a generation number and uses it for encryption. Since the generation number is updated at regular intervals, the temporary key can also be updated. Therefore, even if the key leaks from the mobile terminal, it can be invalidated after a certain period.
  • the mobile terminal communication unit on the receiving side compares the generated generation number with the generation number held by itself. Therefore, even if the temporary key is leaked, the temporary key cannot be used when the generation number corresponding to the temporary key becomes invalid.
  • the portable terminal communication unit in the meter-reading meter succeeds in the message verification, and if the generation number held by the portable terminal is older than the sent generation number, it synchronizes the generation number to rewrite its own generation number. be able to. Since message verification is performed, even if an attacker sends an arbitrary generation number, fraud can be detected.
  • Embodiment 4 will be described with reference to FIGS. 20 to 24.
  • FIG. 20 is a system configuration diagram showing an example of the overall configuration of the cryptographic communication system 800 in this embodiment.
  • the cryptographic communication system 800 includes a plurality of cryptographic communication devices 500.
  • the plurality of cryptographic communication devices 500 perform cryptographic communication with each other.
  • the hardware configuration of the cryptographic communication device 500 is, for example, the same as that of the management device 100, the cryptographic communication device 200, and the cryptographic communication device 300 described in the first embodiment.
  • FIG. 21 is a system configuration diagram showing an example of the overall configuration of the cryptographic communication device 500 according to this embodiment.
  • the cryptographic communication device 500 includes, for example, a management unit 102, a communication unit 202, and a verification unit 302.
  • the management unit 102 (management device) manages a master key and temporary key generation data, and generates a temporary key.
  • the management unit 102 includes, for example, a master key storage unit 110, a temporary key generation data storage unit 130, a temporary key generation data update unit 140, and a temporary key generation unit 160.
  • the master key storage unit 110 uses the storage device 914 to store a master key. In the plurality of cryptographic communication devices 500, the master keys stored in the master key storage unit 110 are all the same.
  • the temporary key generation data storage unit 130 uses the storage device 914 to store temporary key generation data. In the plurality of cryptographic communication devices 500, the temporary key generation data stored in the temporary key generation data storage unit 130 is not necessarily the same.
  • the temporary key generation data update unit 140 repeatedly updates the temporary key generation data stored in the temporary key generation data storage unit 130 every time a predetermined period elapses.
  • the temporary key generation unit 160 generates a temporary key using the processing device 911.
  • the temporary key generation unit 160 generates a temporary key using the master key stored in the master key storage unit 110 and the temporary key generation data stored in the temporary key generation data storage unit 130.
  • the communication unit 202 (first encryption communication device) notifies the other encryption communication device 500 of temporary key generation data used by the management unit 102 to generate a temporary key, and the management unit 102 generates the temporary key generation data.
  • Cryptographic communication is performed with another cryptographic communication device 500 using the temporary key.
  • the communication unit 202 includes, for example, a temporary key generation data notification unit 250 and an encryption communication unit 290.
  • the temporary key generation data notification unit 250 notifies the other encryption communication apparatus 500 of the temporary key generation data stored in the temporary key generation data storage unit 130.
  • the temporary key generation data notifying unit 250 uses the communication device 915 to transmit temporary key generation data to the other encryption communication device 500.
  • the cryptographic communication unit 290 performs cryptographic communication with another cryptographic communication device 500 using the temporary key generated by the temporary key generation unit 160.
  • the cryptographic communication unit 290 uses the processing device 911 to generate a ciphertext encrypted using the temporary key generated by the temporary key generation unit 160, and uses the communication device 915 to generate another encrypted communication device 500. Send to.
  • the cryptographic communication unit 290 receives the ciphertext transmitted by the other cryptographic communication device 500 using the communication device 915, and uses the temporary key generated by the temporary key generation unit 160 using the processing device 911. Decrypt the received ciphertext.
  • the verification unit 302 verifies the temporary key generation data notified from the other cryptographic communication device 500.
  • the verification unit 302 includes, for example, a temporary key generation data acquisition unit 320 and a temporary key generation data verification unit 350.
  • the temporary key generation data acquisition unit 320 acquires temporary key generation data notified from the other encryption communication device 500.
  • the temporary key generation data acquisition unit 320 uses the communication device 915 to receive temporary key generation data transmitted by another encryption communication device 500.
  • the temporary key generation data verification unit 350 uses the processing device 911 to determine whether or not the temporary key generation data acquired by the temporary key generation data acquisition unit 320 is valid.
  • the temporary key generation data verification unit 350 uses the temporary key generation data (verification data) stored in the temporary key generation data storage unit 130 (verification data storage unit). It is determined whether the temporary key generation data acquired by is valid.
  • the temporary key generation data verification unit 350 compares the temporary key generation data stored in the temporary key generation data storage unit 130 with the temporary key generation data acquired by the temporary key generation data acquisition unit 320. Determine which is newer. When the temporary key generation data acquired by the temporary key generation data acquisition unit 320 is older than the temporary key generation data stored in the temporary key generation data storage unit 130, the temporary key generation data verification unit 350 It is determined that the temporary key generation data acquired by the generation data acquisition unit 320 is not valid. When the temporary key generation data acquired by the temporary key generation data acquisition unit 320 is newer than the temporary key generation data stored in the temporary key generation data storage unit 130, the temporary key generation data verification unit 350 It is determined that the temporary key generation data acquired by the generation data acquisition unit 320 is valid. In addition, even when the temporary key generation data acquired by and the temporary key generation data stored in the temporary key generation data storage unit 130 are the same new, the temporary key generation data verification unit 350 It is determined that the temporary key generation data acquired by the generation data acquisition unit 320 is valid.
  • the temporary key generation data is data representing a numerical value
  • the temporary key generation data update unit 140 receives the temporary key generation data storage unit 130 every time a predetermined period elapses. Is calculated by adding a predetermined increment value to the numerical value represented by the temporary key generation data stored.
  • the temporary key generation data update unit 140 updates the temporary key generation data stored in the temporary key generation data storage unit 130 with data representing the calculated sum.
  • the temporary key generation data storage unit 130 stores updated new temporary key generation data in place of the old temporary key generation data stored so far.
  • Temporary key generation data verification unit 350 includes a numerical value represented by temporary key generation data acquired by temporary key generation data acquisition unit 320 and a numerical value represented by temporary key generation data stored by temporary key generation data storage unit 130. And the larger value is judged to be newer.
  • the temporary key generation data storage unit 130 stores the data so far. Instead of the old temporary key generation data, the temporary key generation data determined by the temporary key generation data verification unit 350 to be valid is stored.
  • the temporary key generation unit 160 generates a temporary key based on the updated temporary key generation data.
  • the encryption communication unit 290 uses the temporary key generated by the temporary key generation unit 160 based on the updated temporary key generation data, and communicates with the other encryption communication device 500 that has notified the temporary key generation data. Encrypt communication.
  • the processes in the cryptographic communication system 800 are roughly classified into an initialization process S601, an update process S602, and a cryptographic communication process S604.
  • the initialization process S601 the cryptographic communication device 500 initializes a master key, temporary key generation data, and the like.
  • the update process S602 the cryptographic communication device 500 periodically updates the temporary key generation data.
  • cryptographic communication processing S604 the cryptographic communication device 500 agrees with the other cryptographic communication device 500 on a temporary key used for cryptographic communication, and performs cryptographic communication.
  • FIG. 22 is a flowchart showing an example of the flow of the initialization process S601 in this embodiment.
  • the cryptographic communication device 500 executes, for example, a master key storage step S611 and a temporary key generation data initialization step S612. Note that the timings at which the plurality of cryptographic communication devices 500 execute the initialization process S601 need not be the same.
  • the master key storage unit 110 of the cryptographic communication device 500 acquires a master key.
  • the master key storage unit 110 uses the storage device 914 to store the acquired master key.
  • the temporary key generation data storage unit 130 of the cryptographic communication device 500 initializes the temporary key generation data.
  • FIG. 23 is a flowchart showing an example of the flow of the update process S602 in this embodiment.
  • the cryptographic communication device 500 executes, for example, a cycle elapse determination step S613 and a temporary key generation data update step S614.
  • the temporary key generation data update unit 140 of the cryptographic communication device 500 determines whether or not a predetermined update cycle has elapsed. If it is determined that the update cycle has elapsed, the temporary key generation data update unit 140 proceeds to the temporary key generation data update step S614.
  • the temporary key generation data update unit 140 of the cryptographic communication device 500 updates the temporary key generation data. Thereafter, the temporary key generation data update unit 140 returns the process to the cycle elapse determination step S613 and waits for the next update cycle to elapse.
  • the temporary key generation data update unit 140 may be configured to determine whether or not the update cycle has elapsed from the previous update time by the temporary key generation data update unit 140. If the temporary key generation data storage unit 130 stores the temporary key generation data determined by the temporary key generation data verification unit 350 to be valid after the update, has the update cycle elapsed since that point? It may be configured to determine whether or not.
  • FIG. 24 is a flowchart showing an example of the flow of the cryptographic communication processing S604 in this embodiment.
  • the cryptographic communication device 500 on the side that actively starts cryptographic communication includes a temporary key generation step S616, a temporary key generation data notification step S624, and a cryptographic communication process S604.
  • a temporary key generation data acquisition step S635b, a temporary key generation data verification step S636b, a temporary key generation step S637b, and an encryption communication step S625 are executed.
  • the encryption communication device 500 on the side that passively performs encryption communication (hereinafter referred to as “incoming call side”) performs temporary key generation in encryption communication processing S604.
  • a data acquisition step S635, a temporary key generation data verification step S636, a temporary key generation step S616b, a temporary key generation data notification step S624b, a temporary key generation step S637, and an encryption communication step S638 are executed.
  • the temporary key generation unit 160 of the calling-side cryptographic communication device 500 generates the master key stored in the master key storage unit 110 and the temporary key generation data stored in the temporary key generation data storage unit 130. Based on the data, a temporary key is generated.
  • the temporary key generation data notification unit 250 of the calling-side encryption communication device 500 is the temporary key used by the temporary key generation unit 160 to generate a temporary key in the temporary key generation step S616.
  • the generation data is notified to the encryption communication device 500 on the called side.
  • the temporary key generation data acquisition step S635 the temporary key generation data acquisition unit 320 of the called encryption communication device 500 acquires the temporary key notified from the calling encryption communication device 500.
  • the temporary key generation data verification unit 350 of the called-side encryption communication device 500 temporarily stores the temporary key generation data stored in the temporary key generation data storage unit 130 based on the temporary key generation data. It is determined whether or not the temporary key generation data acquired by the temporary key generation data acquisition unit 320 in the key generation data acquisition step S635 is valid. If the temporary key generation data verification unit 350 determines that the temporary key generation data is valid, the temporary key generation data storage unit 130 of the called-side encryption communication device 500 determines that the temporary key generation data is valid. The temporary key generation data determined by the data verification unit 350 is stored as new temporary key generation data. The called-side encryption communication device 500 proceeds to the temporary key generation step S637. When the temporary key generation data verification unit 350 determines that the temporary key generation data is not valid, the called-side encryption communication device 500 updates the temporary key generation data stored in the temporary key generation data storage unit 130. Without proceeding, the process proceeds to the temporary key generation step S616b.
  • the temporary key generation unit 160 of the called-side encryption communication device 500 stores the master key stored in the master key storage unit 110 and the temporary key generation data verification step S636.
  • the unit 130 generates a temporary key based on the temporary key generation data newly stored.
  • the temporary key generated by the temporary key generation unit 160 of the called-side encryption communication device 500 in the temporary key generation step S637 is generated by the temporary key generation unit 160 of the calling-side encryption communication device 500 in the temporary key generation step S616.
  • the temporary key is the same as or corresponding to the temporary key.
  • the called-side encryption communication device 500 proceeds to the encryption communication step S638.
  • the temporary key generation unit 160 of the called-side encryption communication device 500 includes the master key stored in the master key storage unit 110 and the temporary key originally stored in the temporary key generation data storage unit 130.
  • a temporary key is generated based on the key generation data.
  • the temporary key generation data notification unit 250 of the called-side encryption communication device 500 uses the temporary key used by the temporary key generation unit 160 to generate a temporary key in the temporary key generation step S616b.
  • the generation data is notified to the encryption communication device 500 on the calling side.
  • the calling-side encryption communication device 500 proceeds to the temporary key generation data acquisition step S635b.
  • the temporary key generation data acquisition step S635b the temporary key generation data acquisition unit 320 of the calling-side encryption communication device 500 acquires the temporary key generation data notified from the called-side encryption communication device 500.
  • the temporary key generation data verification unit 350 of the calling-side encryption communication device 500 is based on the temporary key generation data stored in the temporary key generation data storage unit 130. It is determined whether or not the temporary key generation data acquired by the temporary key generation data acquisition unit 320 in the key generation data acquisition step S635b is valid.
  • the temporary key generation data verifying unit 350 determines that the temporary key generation data is not valid, the encryption communication apparatuses 500 of both parties determine that the other party's temporary key generation data is not valid, and thus the encryption communication is started. I can't. Therefore, the encryption communication process S604 is terminated.
  • the temporary key generation data storage unit 130 of the calling-side encryption communication device 500 determines that the temporary key generation data is valid.
  • the temporary key generation data determined by the data verification unit 350 is stored as new temporary key generation data.
  • the temporary key generation unit 160 of the calling-side encryption communication device 500 stores the master key stored in the master key storage unit 110 and the temporary key generation data storage in the temporary key generation data verification step S636b.
  • the unit 130 generates a temporary key based on the temporary key generation data newly stored.
  • the temporary key generated by the temporary key generation unit 160 of the calling-side encryption communication device 500 in the temporary key generation step S637b is generated by the temporary key generation unit 160 of the called-side encryption communication device 500 in the temporary key generation step S616.
  • the temporary key is the same as or corresponding to the temporary key.
  • the encryption communication unit 290 of the caller-side encryption communication device 500 uses the temporary key generated by the temporary key generation unit 160 in the temporary key generation step S616 (or temporary key generation step S637b) to receive the call.
  • Cryptographic communication is performed with the cryptographic communication apparatus 500 on the call side.
  • the encryption communication step S638 the encryption communication unit 290 of the called-side encryption communication device 500 uses the temporary key generated by the temporary key generation unit 160 in the temporary key generation step S637 (or temporary key generation step S616b).
  • Cryptographic communication is performed with the cryptographic communication apparatus 500 on the call side.
  • a single device has the functions of the three devices (the management device 100, the encrypted communication device 200, and the encrypted communication device 300) described in the first embodiment.
  • the devices 500 can perform cryptographic communication with each other.
  • the temporary key generation data in this embodiment has both a role as temporary key generation data and a role as verification data in the first embodiment. For this reason, the cryptographic communication apparatus 500 does not need to include the verification data storage unit 330 and the verification data update unit 340 described in the first embodiment.
  • the incoming side temporary key generation data verification unit 350 determines that the temporary key generation data on the calling side is valid. , Temporary key generation data is unified to the calling side and encrypted communication is performed. On the other hand, if the incoming side clock is faster, the incoming side temporary key generation data verification unit 350 may determine that the outgoing side temporary key generation data is not valid.
  • the temporary key generation data is notified from the callee side to the caller side, and the temporary key generation data is unified to the callee side to perform encrypted communication. In this way, every time the cryptographic communication devices 500 perform cryptographic communication, the temporary key generation data is unified so that the clock advances faster.
  • the temporary key generation data verification unit 350 determines that the temporary key generation data acquired by the temporary key generation data acquisition unit 320 is older than the temporary key generation data stored in the temporary key generation data storage unit 130. However, when the difference is within a predetermined range, the configuration may be such that the temporary key generation data acquired by the temporary key generation data acquisition unit 320 is valid. In this case, the temporary key generation data storage unit 130 may be configured not to update the stored temporary key generation data.
  • Embodiment 5 FIG. The fifth embodiment will be described with reference to FIGS. 25 to 26.
  • FIG. 25 is a diagram showing an example of the overall configuration of the automatic meter reading system 801 in this embodiment.
  • the automatic meter reading system 801 includes a management server 101, a portable terminal 201, and a plurality of meter reading meters 301.
  • a plurality of portable terminals 201 may exist.
  • the meter-reading meter 301 not only performs cryptographic communication with the portable terminal 201, but also performs cryptographic communication between the meter-reading meters 301 using the wireless network 802. At this time, the meter-reading meter 301 does not need to communicate with the management server 101.
  • the hardware configuration of the management server 101, the portable terminal 201, and the meter-reading meter 301 and the block configuration of the management server 101 and the portable terminal 201 are the same as those in the third embodiment.
  • FIG. 26 is a diagram illustrating an example of functional blocks of the meter-reading meter 301 in this embodiment.
  • the meter-reading meter 301 further includes a counter-metering meter communication unit 371 in addition to the functional blocks described in the third embodiment. Note that the mobile terminal communication unit 391 is not shown.
  • the message processing unit 381 generates a message 423a for another meter reading meter 301 and sends it to the meter reading meter communication unit 371, and a response 433b generated by the meter reading meter communication unit 371 from the other meter reading meter 301. receive. Further, the message processing unit 381 processes the message 423b from the other meter reading meter 301 generated by the counter meter communication unit 371, generates a response 433a, and sends it to the counter meter communication unit 371.
  • the meter reading meter communication unit 371 receives the message 423a / response 433a from the message processing unit 381.
  • the meter reading meter communication unit 371 receives the generation number 432a from the generation number counter 331.
  • the meter reading meter communication unit 371 generates a temporary key using the master key 431 stored in the master key storage unit 311 and the generation number 432a.
  • the meter reading meter communication unit 371 encrypts the message 423a / response 433a generated by the message processing unit 381 using the generated temporary key, and generates an encrypted message 424a / encrypted response 434a.
  • the meter reading meter communication unit 371 sends the encrypted message 424a / encrypted response 434a to the other meter reading meter 301.
  • the meter reading meter communication unit 371 receives the encrypted message 424b / encrypted response 434b from the other meter reading meter 301.
  • the meter reading meter communication unit 371 acquires the generation number 432a from the generation number counter 331.
  • the meter reading meter communication unit 371 compares the generation number 432b included in the encrypted message 424b / encrypted response 434b with the generation number 432a.
  • the counter meter communication unit 371 generates a temporary key using the master key 431 stored in the master key storage unit 311 and the generation number 432b. To do.
  • the meter reading meter communication unit 371 uses the generated temporary key to decrypt the encrypted message 424b / encrypted response 434b and generate a message 423b / response 433b.
  • the meter reading meter communication unit 371 verifies the encrypted message 424b / encrypted response 434b. When the verification is passed, the meter reading communication unit 371 receives the encrypted message 424b / encrypted response 434b and sends the generated message 423b / response 433b to the message processing unit 381.
  • the counter meter communication unit 371 rewrites the value of the generation number counter 331 to the generation number 432b.
  • the automatic meter reading system 801 in this embodiment uses a temporary key for encrypted communication, and can invalidate the key for a certain period. Further, generation numbers can be synchronized between devices without communication with the management server.
  • Embodiment 6 will be described with reference to FIGS. 27 to 31.
  • the overall configuration of the cryptographic communication system 800 in this embodiment and the hardware configuration of the management device 100 and the cryptographic communication devices 200 and 300 are the same as those in the first embodiment.
  • FIG. 27 is a block configuration diagram showing an example of functional blocks of the management apparatus 100 in this embodiment.
  • the management apparatus 100 further includes an initialization command generation unit 165 and an initialization command notification unit 175 in addition to the functional blocks described in the first embodiment.
  • the initialization command generator 165 uses the processing device 911 to generate an initialization command.
  • the initialization command is for initializing the verification data stored in the verification data storage unit 330 of the encryption communication device 300.
  • the initialization command generated by the initialization command generation unit 165 has an expiration date.
  • the initialization command includes expiration date information indicating the expiration date of the initialization command.
  • the cryptographic communication device 300 determines whether the initialization command is valid based on the expiration date information included in the initialization command.
  • the initialization command includes generation time information indicating the date and time when the initialization command generation unit 165 generated the initialization command.
  • the cryptographic communication apparatus 300 when a predetermined period (for example, one day) has elapsed since the initialization command generation unit 165 generated the initialization command based on the generation time information included in the initialization command, Is determined to be invalid.
  • the initialization command generated by the initialization command generation unit 165 may be configured to include information representing an initial value for initializing the verification data.
  • the temporary key generation data stored in the temporary key generation data storage unit 130 may be used as the initial value of the verification data.
  • the initialization command generated by the initialization command generation unit 165 has a format that can be verified by the encryption communication device 300 by proving that it is generated by the management device 100.
  • the initialization command is encrypted using the master key stored in the master key storage unit 110.
  • the encryption communication device 300 decrypts the initialization command using the master key stored in the master key storage unit 310. If the initialization command can be decrypted correctly, it can be determined that the encrypted initialization command knows the master key, and therefore it can be determined that the management apparatus 100 has generated the initialization command.
  • the initialization command may be configured to be encrypted using a temporary key generated using the master key stored in the master key storage unit 110 and predetermined temporary key generation data.
  • the cryptographic communication device 300 If the cryptographic communication device 300 knows the temporary key generation data used to generate the temporary key used when encrypting the initialization command, the cryptographic communication device 300 stores the master key stored in the master key storage unit 310. And a temporary key generation data known in advance, a temporary key can be generated, and an initialization command can be decrypted using the generated temporary key. Note that the temporary key generation data used for generating the temporary key used when encrypting the initialization command may not be predetermined data. For example, the initialization command generation unit 165 randomly generates temporary key generation data to generate a temporary key, encrypts the generated temporary key, and unencrypted temporary key generation data May be combined to form an initialization command.
  • the initialization command generation unit 165 generates a temporary key using the initial value of the verification data as temporary key generation data, a portion encrypted using the generated temporary key, and an unencrypted verification key A configuration in which the initial value of data is combined to form an initialization command may be used. If the initialization command includes unencrypted temporary key generation data and a portion encrypted with the temporary key generated using the temporary key generation data, the encrypted portion Data including the temporary key generation data may be encrypted.
  • the initialization command notification unit 175 notifies the encryption communication device 200 of the initialization command generated by the initialization command generation unit 165. For example, the initialization command notification unit 175 transmits the initialization command generated by the initialization command generation unit 165 to the encryption communication device 200 using the communication device 915.
  • FIG. 28 is a block configuration diagram illustrating an example of functional blocks of the cryptographic communication device 200 according to this embodiment.
  • the cryptographic communication device 200 further includes an initialization command acquisition unit 265, an initialization command storage unit 275, and an initialization command notification unit 285 in addition to the functional blocks described in the first embodiment.
  • the initialization command acquisition unit 265 acquires the initialization command notified from the initialization command notification unit 175 of the management apparatus 100. For example, the initialization command acquisition unit 265 receives the initialization command transmitted by the initialization command notification unit 175 using the communication device 915.
  • the initialization command storage unit 275 stores the initialization command acquired by the initialization command acquisition unit 265 using the storage device 914.
  • the initialization command notification unit 285 notifies the encryption communication device 300 of the initialization command stored in the initialization command storage unit 275. For example, the initialization command notification unit 285 transmits an initialization command to the encryption communication device 300 using the communication device 915.
  • the initialization command notification unit 285 notifies the encryption communication device 300 of the initialization command, for example, if the temporary key generation data notified by the temporary key generation data notification unit 250 is not valid. This is a case where the temporary key generation data verification unit 350 makes a determination and the encryption communication cannot be started. In this case, it is considered that the verification data stored in the verification data storage unit 330 of the cryptographic communication device 300 is out of order due to some abnormality. Therefore, the verification data stored in the verification data storage unit 330 of the cryptographic communication device 300 is initialized by notifying the cryptographic communication device 300 of an initialization command.
  • FIG. 29 is a block configuration diagram illustrating an example of functional blocks of the cryptographic communication device 300 according to this embodiment.
  • the cryptographic communication apparatus 300 further includes an initialization command acquisition unit 365 and an initialization command verification unit 375.
  • the initialization command acquisition unit 365 acquires the initialization command notified from the initialization command storage unit 275 of the encryption communication device 200. For example, the initialization command acquisition unit 365 receives the initialization command transmitted from the initialization command notification unit 285 using the communication device 915.
  • the initialization command verification unit 375 uses the processing device 911 to verify whether or not the initialization command acquired by the initialization command acquisition unit 365 is valid.
  • the initialization command verification unit 375 determines the validity of the initialization command from the two points that the initialization command is a valid one generated by the management apparatus 100 and that the expiration date has not expired. .
  • the initialization command verification unit 375 generates a temporary key using the master key stored in the master key storage unit 310 and predetermined temporary key generation data.
  • the initialization command verification unit 375 decrypts the initialization command acquired by the initialization command acquisition unit 365 using the generated temporary key. If the initialization command is correctly decoded, the initialization command verification unit 375 determines that the initialization command is valid.
  • the initialization command verification unit 375 separates the initialization command acquired by the initialization command acquisition unit 365 into an encrypted part and temporary key generation data, and stores the master key stored in the master key storage unit 310. A temporary key is generated using the separated temporary key generation data.
  • the initialization command verification unit 375 decrypts the separated encrypted part using the generated temporary key.
  • the initialization command verification unit 375 acquires temporary key generation data from the decrypted result. If the separated temporary key generation data matches the acquired temporary key generation data, the initialization command verification unit 375 determines that the initialization command is valid.
  • the initialization command verification unit 375 acquires the expiration date information from the initialization command acquired by the initialization command acquisition unit 365.
  • the initialization command verification unit 375 compares the expiration date represented by the acquired expiration date information with the current time, and determines whether or not the expiration date has expired.
  • the initialization command verification unit 375 acquires generation time information indicating the date when the initialization command was generated from the initialization command acquired by the initialization command acquisition unit 365.
  • the initialization command verification unit 375 calculates a date a predetermined number of days before the current date, and compares the calculated date with the date represented by the generation time information.
  • the initialization command verification unit 375 determines that the initialization command is within the expiration date. Alternatively, the initialization command verification unit 375 acquires generation time information indicating the time when the initialization command is generated from the initialization command acquired by the initialization command acquisition unit 365. The initialization command verification unit 375 calculates the elapsed time since the initialization command was generated based on the current time and the time represented by the generated generation time information. When the calculated elapsed time is shorter than the predetermined valid period, the initialization command verification unit 375 determines that the initialization command is within the valid period.
  • the verification data storage unit 330 initializes the stored verification data. For example, the verification data storage unit 330 uses the storage device 914 to store a predetermined initial value as verification data. Alternatively, the verification data storage unit 330 uses the processing device 911 to acquire the initial value of the verification data from the initialization command determined by the initialization command verification unit 375 to be valid, and the acquired initial value Store as verification data.
  • FIG. 30 is a flowchart showing an example of the flow of the temporary key notification processing S603 in this embodiment.
  • the management apparatus 100 further executes an initialization command generation step S617 and an initialization command notification step S620 in addition to the steps described in the first embodiment.
  • the cryptographic communication apparatus 200 further executes an initialization command acquisition process S628 in the temporary key notification process S603.
  • the initialization command generation unit 165 of the management apparatus 100 generates an initialization command.
  • the initialization command generation unit 165 generates an initialization command including the temporary key generation data used by the temporary key generation unit 160 for generating the temporary key in the temporary key generation step S616 as the initial value of the verification data. .
  • the initialization command notification unit 175 of the management device 100 notifies the encryption communication device 200 of the initialization command generated by the initialization command generation unit 165 in the initialization command generation step S617.
  • the management device 100 may be configured to transmit the initialization command together with the temporary key and the temporary key generation data.
  • the initialization command acquisition step S628 the initialization command acquisition unit 265 of the encryption communication device 200 acquires the initialization command notified by the initialization command notification unit 175 of the management device 100 in the initialization command notification step S620.
  • the initialization command storage unit 275 stores the initialization command acquired by the initialization command acquisition unit 265 using the storage device 914.
  • the management apparatus 100 does not notify the encryption communication apparatus 200 of an initialization command together with the temporary key and temporary key generation data as a response to the temporary key request from the encryption communication apparatus 200, but instead of notifying the encryption communication apparatus 200.
  • an initialization command request for requesting an initialization command may be received, and the initialization command may be notified as a response thereto.
  • FIG. 31 is a flowchart showing an example of the flow of the cryptographic communication process S604 in this embodiment.
  • the cryptographic communication device 200 further executes a rejection acquisition step S626 and an initialization command notification step S629 in the cryptographic communication processing S604.
  • the cryptographic communication device 300 further executes a rejection notification step S647, an initialization command acquisition step S648, and an initialization command verification step S649 in the cryptographic communication processing S604. .
  • the temporary key generation data acquired by the temporary key generation data acquisition unit 320 of the encryption communication device 300 in the temporary key generation data acquisition step S635 is not valid, the temporary communication of the encryption communication device 300 is temporarily performed in the temporary key generation data verification step S636.
  • the temporary key generation data verification unit 350 proceeds to the rejection notification step S647.
  • the temporary key generation data verification unit 350 of the cryptographic communication device 300 informs the cryptographic communication device 200 that the cryptographic communication with the temporary key generated using the notified temporary key generation data is rejected. To notify.
  • the temporary key generation data verification unit 350 uses the communication device 915 to transmit a rejection message indicating that to the encrypted communication device 200.
  • the temporary key generation data notification unit 250 of the cryptographic communication device 200 acquires the notification in the rejection notification step S647.
  • the temporary key generation data notification unit 250 uses the communication device 915 to receive the rejection message transmitted by the temporary key generation data verification unit 350 of the encryption communication device 300.
  • the initialization command notification unit 285 of the encryption communication device 200 notifies the encryption communication device 300 of the initialization command stored in the initialization command storage unit 275.
  • the initialization command acquisition step S648 the initialization command acquisition unit 365 of the encryption communication device 300 acquires the initialization command notified by the initialization command notification unit 285 of the encryption communication device 200 in the initialization command notification step S629.
  • the initialization command verification unit 375 of the cryptographic communication device 300 determines whether the initialization command acquired by the initialization command acquisition unit 365 in the initialization command acquisition step S648 is valid. . For example, the initialization command verification unit 375 determines whether or not the initialization command is valid. If it is determined that the initialization command is not valid, the initialization command verification unit 375 determines that the initialization command is not valid, and ends the encryption communication process S604. If it is determined that the initialization command is valid, the initialization command verification unit 375 determines whether the validity period of the initialization command has expired.
  • the initialization command verification unit 375 determines that the initialization command is not valid, and ends the encryption communication process S604. When it is determined that the validity period of the initialization command has not expired, the initialization command verification unit 375 acquires the initial value of the verification data from the initialization command. When the initialization command verification unit 375 initializes the verification data stored in the verification data storage unit 330 with the initial value of the acquired verification data, the initialization command verification unit 375 generates the temporary key in the temporary key generation data acquisition step S635. The temporary key generation data verification unit 350 determines whether or not the temporary key generation data acquired by the data acquisition unit 320 is valid.
  • the initialization command verification unit 375 determines that the initialization command is not valid, and ends the cryptographic communication process S604. If the temporary key generation data becomes valid if the verification data is initialized, the initialization command verification unit 375 determines that the initialization command is valid.
  • the verification data storage unit 330 uses the storage device 914 to store the initial value included in the initialization command as verification data. The initialization command verification unit 375 advances the processing to the temporary key generation step S637.
  • the initialization command verification unit 375 has a valid initialization command and the expiration date has not expired regardless of whether or not the temporary key generation data becomes valid if the verification data is initialized.
  • the configuration may be such that the initialization command is determined to be valid.
  • the validity of the temporary key generation data acquired by the temporary key generation data acquisition unit 320 is expressed as the temporary key generation data verification unit 350. Determine again.
  • the encryption communication processing S604 may be once terminated, and the encryption communication apparatus 200 may retransmit the temporary key generation data to the encryption communication apparatus 300.
  • the management apparatus 100 gives the encryption communication apparatus 200 the authority to initialize the verification data stored in the encryption communication apparatus 300 by notifying the encryption communication apparatus 200 of an initialization command. Thereby, the verification data stored in the cryptographic communication device 300 can be initialized by the cryptographic communication device 200. Therefore, even if the verification data becomes an abnormal value for some reason, the verification data is returned to the normal value, Cryptographic communication can be performed between the cryptographic communication device 200 and the cryptographic communication device 300.
  • the verification data stored in the cryptographic communication device 300 cannot be initialized by the initialization command. Thereby, for example, even when the initialization command is leaked, such as when the encryption communication device 200 is lost and the third party picks up, the third party abuses the initialization command and the encryption communication device 300 stores the initialization command. It is possible to initialize the verification data being used and prevent information from leaking from the encryption communication device 300.
  • Embodiment 7 will be described with reference to FIGS. 32 to 33.
  • the overall configuration of the cryptographic communication system 800 and the hardware configuration of the management device 100 and the cryptographic communication devices 200 and 300 in this embodiment are the same as those in the sixth embodiment.
  • FIG. 32 is a block configuration diagram illustrating an example of functional blocks of the cryptographic communication device 200 according to this embodiment.
  • the cryptographic communication apparatus 200 does not have the initialization command storage unit 275 among the functional blocks described in the sixth embodiment. That is, the encryption communication device 200 does not store the initialization command.
  • the initialization command notification unit 285 needs to notify the encryption communication device 300 of an initialization command
  • the initialization command acquisition unit 265 communicates with the management device 100 to acquire the initialization command.
  • the initialization command notification unit 285 notifies the encryption communication device 300 of the initialization command acquired by the initialization command acquisition unit 265.
  • the temporary key generation data verification unit 350 indicates that the numerical value represented by the temporary key generation data acquired by the temporary key generation data acquisition unit 320 is the verification data stored in the verification data storage unit 330. If it is greater than or equal to the numerical value to be represented, it is determined that the temporary key generation data is valid. However, when the initialization command verification unit 375 determines that the initialization command acquired by the initialization command acquisition unit 365 is valid, and the verification data stored in the verification data storage unit 330 is initialized, the temporary key The data verification unit 350 for generation includes a numerical value represented by the temporary key generation data and a numerical value represented by the verification data until a predetermined period (for example, one day) elapses after the verification data is initialized. Only when they are equal, it is determined that the temporary key generation data is valid. When the numerical value represented by the temporary key generation data is larger than the numerical value represented by the verification data, the temporary key generation data verification unit 350 determines that the temporary key generation data is not valid.
  • a predetermined period for example, one day
  • the steps in the temporary key notification process S603 are the same as those in the first embodiment. That is, in the temporary key notification process S603, the management apparatus 100 does not generate an initialization command and does not notify the encryption communication apparatus 200 of the initialization command.
  • FIG. 33 is a flowchart showing an example of the flow of the cryptographic communication processing S604 in this embodiment.
  • the cryptographic communication apparatus 200 further executes an initialization command request step S627 and an initialization command acquisition step S628 in addition to the steps described in the sixth embodiment.
  • the process which the management apparatus 100 performs is abbreviate
  • the management apparatus 100 executes an initialization command request reception step, an initialization command generation step S617, and an initialization command notification step S620.
  • the initialization command acquisition unit 265 of the cryptographic communication device 200 requests the management device 100 for an initialization command.
  • the initialization command acquisition unit 265 uses the communication device 915 to transmit an initialization command request message for requesting an initialization command to the management device 100.
  • the initialization command request message includes authentication information for authenticating the user of the encryption communication device 200, such as a password input by the user of the encryption communication device 200, a fingerprint of the user of the encryption communication device 200, and other biometric information.
  • the initialization command notification unit 175 of the management device 100 receives a request from the encryption communication device 200.
  • the initialization command notification unit 175 receives the initialization command request message transmitted from the initialization command acquisition unit 265 of the cryptographic communication device 200 using the communication device 915.
  • the initialization command notification unit 175 verifies the authentication information included in the initialization command request message and authenticates the user of the encryption communication device 200. When the authentication fails, the management apparatus 100 does not execute the subsequent steps.
  • the initialization command generation unit 165 of the management apparatus 100 includes an initialization command that includes the temporary key generation data stored in the temporary key generation data storage unit 130 as the initial value of the authentication data. Generate.
  • the initialization command notification unit 175 of the management device 100 notifies the encryption communication device 200 of the initialization command generated by the initialization command generation unit 165 in the initialization command generation step S617.
  • the initialization command acquisition step S628 the initialization command acquisition unit 265 of the encryption communication device 200 acquires the initialization command notified by the initialization command notification unit 175 of the management device 100 in the temporary key notification step S618.
  • the initialization command notification unit 285 of the encryption communication device 200 notifies the encryption communication device 300 of the initialization command acquired by the initialization command acquisition unit 265 in the initialization command acquisition step S628. .
  • the initialization command verification unit 375 of the encryption communication device 300 confirms that the initialization command acquired by the initialization command acquisition unit 365 in the initialization command acquisition step S648 is valid and has an expiration date. If it is determined that it has not expired, the initial value of the verification data included in the initialization command is acquired. The initialization command verification unit 375 compares the temporary key generation data acquired by the temporary key generation data acquisition unit 320 in the temporary key generation data acquisition step S635 with the initial value of the acquired verification data. If the temporary key generation data does not match the initial value of the verification data, the initialization command verification unit 375 determines that the initialization command is not valid, and ends the cryptographic communication process S604. If the temporary key generation data matches the initial value of the verification data, the initialization command verification unit 375 determines that the initialization command is valid.
  • the cryptographic communication device 200 when the cryptographic communication device 200 is small and portable, there is a possibility that a legitimate user of the cryptographic communication device 200 loses the cryptographic communication device 200 and a third party can pick it up and misuse it. However, if the temporary key stored in the cryptographic communication device 200 picked up by a third party becomes old due to the update of the verification data, the cryptographic communication device 200 performs cryptographic communication with the cryptographic communication device 300. I can't. Further, since the initialization command is not stored in the cryptographic communication device 200, a third party cannot initialize the verification data stored in the cryptographic communication device 300. Suppose that a third party separately obtains an initialization command by some means.
  • the third party notifies the encryption communication device 300 of an initialization command, and tries to initialize the verification data stored in the encryption communication device 300.
  • the temporary key stored in the encryption communication device 200 acquired by the third party and the temporary key generation data used for generating the temporary key and the verification command included in the initialization command obtained separately by the third party If the initial value of the business data does not match, the encrypted communication device 200 cannot perform encrypted communication with the encrypted communication device 300. For this reason, it is possible to prevent information from leaking from the encryption communication device 300.
  • Embodiment 8 will be described with reference to FIGS. 34 to 41.
  • the overall configuration of the automatic meter reading system 801 (encryption communication system) in this embodiment and the hardware configurations of the management server 101, the portable terminal 201, and the meter meter 301 are the same as those in the third embodiment.
  • FIG. 34 is a diagram showing an example of functional blocks of the management server 101 in this embodiment.
  • the management server 101 (management device) further includes a clock 156 and a reset packet generation unit 166 in addition to the configuration described in the third embodiment.
  • the key information management unit 161 is not shown.
  • the clock 156 measures the current time 418.
  • the clock 156 uses the communication device 915 to communicate with the time server, and measures the accurate current time 418 by synchronizing with the time server using a mechanism such as NTP (Network Time Protocol).
  • NTP Network Time Protocol
  • the reset packet generation unit 166 receives the reset packet issue request 428 from the mobile terminal 201.
  • the reset packet generation unit 166 acquires the generation number 412 from the generation number counter 131.
  • the reset packet generation unit 166 acquires the current time 418 from the clock 156.
  • the reset packet generation unit 166 generates a reset packet 419 (initialization command) for resetting the generation number 432 of the meter-reading meter 301 to the generation number 412.
  • the reset packet generation unit 166 sends the reset packet 419 to the mobile terminal 201.
  • FIG. 35 is a diagram showing an example of functional blocks of the mobile terminal 201 in this embodiment.
  • the management server communication unit 221 generates a reset packet issue request 428.
  • the management server communication unit 221 sends a reset packet issue request 428 to the management server 101 (reset packet generation unit 166).
  • the management server communication unit 221 receives the reset packet 419 from the management server 101 (reset packet generation unit 166).
  • the meter reading meter communication unit 291 receives the reset packet 419 from the management server communication unit 221.
  • the meter reading meter communication unit 291 (initialization command notification unit) sends a reset packet 419 to the meter reading meter 301.
  • FIG. 36 is a diagram showing an example of functional blocks of the meter-reading meter 301 in this embodiment.
  • the meter-reading meter 301 has a clock 356 in addition to the functional blocks described in the third embodiment.
  • the clock 356 measures the current time 438.
  • the clock 356 uses the communication device 915 to communicate with the time server, and synchronizes with the time server using a mechanism such as NTP, thereby measuring the accurate current time 438.
  • the clock outputs the measured current time 438.
  • the mobile terminal communication unit 391 receives the reset packet 419 from the mobile terminal 201.
  • the mobile terminal communication unit 391 acquires the current time 438 from the clock 356.
  • the mobile terminal communication unit 391 verifies the reset packet 419 using the clock 356 and the master key 431 stored in the master key storage unit 311.
  • the mobile terminal communication unit 391 acquires the generation number 412 from the reset packet 419.
  • the mobile terminal communication unit 391 sends the generation number 412 to the message processing unit 381.
  • the mobile terminal communication unit 391 receives the response 433 from the generation number 412.
  • the mobile terminal communication unit 391 encrypts the response 433 and generates a reset response 439 (encrypted response).
  • the mobile terminal communication unit 391 sends a reset response 439 to the mobile terminal 201.
  • the message processing unit 381 receives the generation number 412 from the mobile terminal communication unit 391.
  • the message processing unit 381 rewrites the value of the generation number counter 331 to the generation number 412.
  • the message processing unit 381 generates a response 433 representing the verification result.
  • the message processing unit 381 sends the response 433 to the portable terminal communication unit 391 (vs. meter reading communication unit 291).
  • FIG. 37 is a diagram illustrating an example of detailed functional blocks of the reset packet generation unit 166 in the management server 101 of this embodiment.
  • the reset packet generation unit 166 includes, for example, an authentication unit 172, a master key selection unit 173, a temporary key generation unit 174, a packet generation unit 176, and an output determination unit 177.
  • the authentication unit 172, the master key selection unit 173, the temporary key generation unit 174, and the output determination unit 177 are an authentication unit 162, a master key selection unit 163, a temporary key generation unit 164, and an output determination unit 171 of the key information management unit 161. May be shared with the key information management unit 161.
  • the authentication unit 172 receives the reset packet issue request 428 from the mobile terminal 201 (to the management server communication unit 221). The authentication unit 172 determines whether to process the reset packet issue request 428 based on the authentication information included in the reset packet issue request 428. For example, the authentication unit 172 authenticates the sender based on the authentication information. In addition, when not authenticating, the authentication part 172 does not need to be. If it is determined not to process the reset packet issue request 428, the authentication unit 172 outputs an output determination signal 414 indicating that the reset packet 419 is not output to the output determination unit 177.
  • the master key selection unit 173 arbitrarily selects the master key 411 from among the plurality of master keys 411 stored in the master key storage unit 111. For example, the master key selection unit 173 selects the master key 411 at random. The master key selection unit 173 generates key type information 422 corresponding to the selected master key 411.
  • the temporary key generation unit 174 generates a temporary key 413 based on the master key 411 selected by the master key selection unit 173 and a predetermined constant.
  • the temporary key generation unit 174 generates a temporary key 413 using a constant instead of the generation number 412.
  • the temporary key generation unit 174 generates, as the temporary key 413, data obtained by encrypting constants with the master key 411 by a predetermined encryption method.
  • the temporary key generation unit 174 generates a hash value by using a hash function with a key in which a constant and a master key 411 are input as the temporary key 413.
  • the key generation method used by the temporary key generation unit 174 to generate the temporary key 413 is that the temporary key 413 is uniquely generated from the constant and the master key 411, and the master key 411 is generated from the temporary key 413 and the constant. Must not be estimated.
  • the maximum value that can be input as the generation number 412 is set.
  • the temporary key generation unit 174 generates a temporary key 413 using “FFFF” as a constant in hexadecimal expression.
  • the maximum value of the generation number 412 is determined separately, the structure using that value may be sufficient.
  • the packet generation unit 176 acquires the generation number 412 from the generation number counter 131.
  • the packet generation unit 176 acquires the current time 418 from the clock 156 as the generation time of the reset packet 419.
  • the packet generation unit 176 generates a message verifier for the generation number 412, generation time, key type information 422, and the constant used by the master key selection unit 173 to generate the temporary key 413.
  • the packet generation unit 176 generates a reset packet 419 including a generation number 412, a generation time, key type information 422, a constant, and a message verifier.
  • the output determination unit 177 determines whether or not to output the reset packet 419 generated by the packet generation unit 176. When the output determination signal 414 indicating that the reset packet 419 is not output is received from the authentication unit 172, the output determination unit 177 determines that the reset packet 419 is not output. In that case, the output determination unit 177 may be configured to output a predetermined error code instead of the reset packet 419. When the output determination signal 414 indicating that the reset packet 419 is not output is not received from the authentication unit 172, the output determination unit 177 determines to output the reset packet 419. The output determination unit 177 outputs the reset packet 419 to the mobile terminal 201.
  • FIG. 38 is a diagram illustrating an example of detailed functional blocks of the pair management server communication unit 221 and the meter reading meter communication unit 291 in the mobile terminal 201 of this embodiment.
  • the management server communication unit 221 further includes a reset packet issue request generation unit 224 and a reset packet acquisition unit 225 in addition to the functional blocks described in the third embodiment.
  • the temporary key issue request generation unit 222 and the temporary key information acquisition unit 223 are not shown.
  • the reset packet issue request generation unit 224 receives the authentication information 425 from the input device 912.
  • the input device 912 is a character string input device such as a keyboard, for example.
  • the input device 912 is a device that acquires biometric information such as a fingerprint reader.
  • the reset packet issue request generator 224 generates a reset packet issue request 428 based on the acquired authentication information 425.
  • the reset packet issue request 428 generated by the reset packet issue request generation unit 224 includes authentication information 425.
  • the reset packet issue request generation unit 224 sends a reset packet issue request 428 to the management server 101 (reset packet generation unit 166).
  • the reset packet issue request generation unit 224 may be configured not to acquire the authentication information 425. In that case, the reset packet issue request 428 may be configured not to include the authentication information 425.
  • the reset packet acquisition unit 225 receives the reset packet 419 from the management server 101.
  • the reset packet acquisition unit 225 sends the reset packet 419 to the counter meter reading unit 291.
  • the meter reading communication unit 291 further includes a reset packet output unit 297 in addition to the functional blocks described in the third embodiment. Note that the encryption unit 292, the multiplexing unit 293, the separation unit 294, the decryption unit 295, and the reception determination unit 296 are not shown.
  • the reset packet output unit 297 receives the reset packet 419 from the management server communication unit 221.
  • the reset packet output unit 297 sends the received reset packet 419 as it is to the meter-reading meter 301 (for the portable terminal communication unit 391).
  • FIG. 39 is a diagram showing an example of detailed functional blocks of the portable terminal communication unit 391 in the meter-reading meter 301 of this embodiment.
  • the mobile terminal communication unit 391 further includes a response message generation unit 397 and a message verification unit 398 in addition to the configuration described in the third embodiment. Note that the encryption unit 392 and the decryption unit 395 are not shown.
  • the separating unit 394 receives the reset packet 419 from the mobile terminal 201 (the meter reading meter communication unit 291). The separation unit 394 separates the key type information 422 and the constant 417 from the reset packet 419.
  • the master key selection unit 363 selects the master key 431 from the plurality of master keys 431 stored in the master key storage unit 311 based on the key type information 422.
  • the temporary key generation unit 364 generates a temporary key 435 from the master key 431 selected by the master key selection unit 363 and the constant 417.
  • the temporary key generation unit 364 generates a temporary key 435 by the same temporary key generation method as the temporary key generation unit 174 of the key information management unit 161 in the management server 101.
  • the message verification unit 398 verifies the message of the reset packet 419 using the temporary key 435, and generates a verification result 437.
  • the message verification unit 398 separates the generation number 412 and the generation time 416 from the reset packet 419.
  • the message verification unit 398 verifies the reset packet 419 using a verification method corresponding to the message authenticator generation method used by the packet generation unit 176 in the management server 101.
  • the reception determination unit 396 acquires the current time 438 from the clock 356.
  • the reception determination unit 396 performs output determination based on the current time 438, the generation time 416, and the verification result 437. Judgment criteria are as follows.
  • the generation number 412 is not output.
  • the generation time 416 is older than the current time 438 by a certain amount (for example, one day or more)
  • the generation number 412 is not output.
  • the reception determination unit 396 outputs the generation number 412 to the message processing unit 381.
  • the message processing unit 381 receives the generation number 412 from the reception determination unit 396.
  • the message processing unit 381 rewrites the value of the generation number counter 331 to the generation number 412.
  • the message processing unit 381 generates a response 433.
  • the message determination unit 396 may generate the response 433 instead of the response processing unit 381 generating the response 433.
  • the reception determination unit 396 rewrites the value of the generation number counter 331 for a certain period (for example, one day). May be configured to accept the encrypted message 424 and output the message 423 only when the generation number 412 and the generation number 432 match.
  • the response message generator 397 receives the response 433 from the message processor 381.
  • the response message generation unit 397 generates a message authenticator 440 from the response 433 using the temporary key 435.
  • the response message generator 397 generates the message authenticator 440 using the same message authenticator generation method as the packet generator 176 of the reset packet generator 166 in the management server 101, for example.
  • the multiplexing unit 393 generates the reset response 439 by multiplexing the key type information 422, the generation number 432, the response 433, and the message authenticator 440.
  • the multiplexing unit 393 sends a reset response 439 to the mobile terminal 201 (antimeter reading unit 291).
  • FIG. 40 is a flowchart showing an example of the flow of the reset packet notification process S605 in this embodiment.
  • the reset packet notification processing S605 includes, for example, a reset packet issue request generation step S681, an authentication step S682, a master key selection step S683, a temporary key generation step S684, a packet generation step S685, an output step S686, and a reset packet. Acquisition step S687.
  • the reset packet issue request generation unit 224 of the mobile terminal 201 generates a reset packet issue request 428.
  • the reset packet issue request generation unit 224 transmits a reset packet issue request 428 to the management server 101 (reset packet generation unit 166).
  • the authentication unit 172 of the management server 101 receives the reset packet issue request 428.
  • the authentication unit 172 verifies the reset packet issue request 428. If the verification fails, the authentication unit 172 ends the reset packet notification process S605. If the verification is successful, the authentication unit 172 advances the process to the master key selection step S683.
  • the master key selection unit 173 of the management server 101 arbitrarily selects the master key 411.
  • the master key selection unit 173 generates key type information 422 corresponding to the selected master key 411.
  • the temporary key generation unit 174 of the management server 101 generates a temporary key 413 based on the master key 411 and the constant 417.
  • the packet generation unit 176 of the management server 101 generates the reset packet 419 from the key type information 422, the constant 417, the generation number 412 and the current time 418 using the temporary key 413. .
  • the output determination unit 177 of the management server 101 transmits a reset packet 419 to the mobile terminal 201 (to the management server communication unit 221).
  • the reset packet acquisition unit 225 of the mobile terminal 201 receives the reset packet 419.
  • the reset packet acquisition unit 225 outputs the reset packet 419 to the counter meter communication unit 291.
  • FIG. 41 is a flowchart showing an example of the flow of the generation number reset processing S606 in this embodiment.
  • the generation number reset processing S606 includes, for example, a reset packet output step S691, a separation step S692, a master key selection step S693, a temporary key generation step S694, a message verification step S695, a reception determination step S696, and a generation number reset.
  • the process includes a step S697, a master key selection step S701, a temporary key generation step S702, a response message generation step S703, a multiplexing step S704, and a reset response acquisition step S705.
  • the reset packet output unit 297 of the mobile terminal 201 transmits a reset packet 419 to the meter-reading meter 301 (for the mobile terminal communication unit 391).
  • the separation unit 394 of the meter-reading meter 301 receives the reset packet 419.
  • the separation unit 394 separates the key type information 422 and the constant 417 from the reset packet 419.
  • the master key selection unit 363 of the meter-reading meter 301 selects the master key 431 based on the key type information 422.
  • the master key selection unit 363 stores key type information 422.
  • the temporary key generation unit 364 of the meter-reading meter 301 generates a temporary key 435 based on the master key 431 and the constant 417.
  • the response message generation unit 397 of the meter-reading meter 301 verifies the reset packet 419 using the temporary key 435, and generates a generation number 412, a generation time 416, and a verification result 437.
  • the reception determination unit 396 of the meter-reading meter 301 determines whether to output the generation number 412 based on the generation time 416, the current time 438, and the verification result 437.
  • the reception determination unit 396 ends the generation number reset process S606.
  • the reception determination unit 396 outputs the generation number 412.
  • the message processing unit 381 of the meter-reading meter 301 rewrites the generation number 432 stored in the generation number counter 331 with the generation number 412.
  • the generation number counter 331 stores the generation number 412.
  • the message processing unit 381 generates a response 433.
  • the master key selection unit 363 of the meter-reading meter 301 selects the master key 431 based on the stored key type information 422.
  • the master key selection unit 363 outputs the selected master key 431 and key type information 422.
  • the temporary key generation unit 364 of the meter-reading meter 301 generates a temporary key 435 based on the master key 431 and the generation number 432.
  • the temporary key 435 generated by the temporary key generation unit 364 in the temporary key generation step S702 is the same as the temporary key 435 generated by the temporary key generation unit 364 in the temporary key generation step S694.
  • the response message generation unit 397 of the meter-reading meter 301 generates a message authenticator 440 using the temporary key 435 generated by the temporary key generation unit 364 in the temporary key generation step S672.
  • the response message generation unit 397 may be configured to generate the message authenticator 440 using the temporary key 435 generated by the temporary key generation unit 364 in the temporary key generation step S655. In that case, the master key selection step S671 and the temporary key generation step S672 may be omitted.
  • the multiplexing unit 393 of the meter-reading meter 301 multiplexes the response 433, the message authenticator 440, the generation number 432, and the key type information 422 to generate a reset response 439.
  • the multiplexing unit 393 transmits a reset response 439 to the portable terminal 201 (counter meter communication unit 291).
  • the reset response acquisition step S705 the meter reading meter communication unit 291 of the mobile terminal 201 receives the reset response 439.
  • the management server 101 and the meter-reading meter 301 may directly communicate with each other, and the management server 101 may directly transmit the reset packet 419 to the meter-reading meter 301.
  • the communication device (meter reading meter 301) in this embodiment receives a signal for resetting the counter value generated by the management server (101), and updates the value of the previous period counter to the counter value included in the reset signal.
  • the management server (101) generates a signal for resetting the counter value.
  • the management server generates a temporary key from a master key shared in advance and a predetermined constant, generates a message verifier for at least the counter value after correction and the signal generation date and time, and the constant and the post-correction
  • the counter value, the signal generation date and time, and the message verifier are transmitted as a reset signal.
  • the communication device receives a reset signal transmitted from the management server (101).
  • the communication device performs message authentication for at least the corrected counter value and signal generation date and time, and then compares the current time of its own clock with the generation date and time included in the reset signal, and the generation date and time is the current time. If it is newer or the difference is less than a certain value, the counter value owned by itself is updated to the corrected counter value.
  • the automatic meter reading system 801 (encryption communication system) in this embodiment can match the generation number of the management server even if the generation number of the meter reading meter (301) is advanced from the management server (101). Further, since the date is put in the reset packet, it is possible to invalidate the old reset packet or the illegally acquired reset packet by providing the meter with a clock. Furthermore, by receiving only the same number as the generation number updated with the reset packet as a message acceptance condition for a certain period (for example, 1 day) after receiving the reset packet, it is overwritten even in the generation number updating process. Without fail, and can be synchronized reliably.
  • the configuration described in each embodiment is an example, and another configuration may be used.
  • the configuration described in different embodiments may be combined, or the configuration of a non-essential part may be replaced with another configuration.
  • the encryption communication system (encryption communication system 800, automatic meter reading system 801) described above includes a management device (100, encryption communication device 500, management server 101) and a first encryption communication device (encryption communication devices 200 and 500, portable terminal). 201) and a second encryption communication device (encryption communication devices 300 and 500, meter-reading meter 301).
  • the management apparatus includes a master key storage unit (110, 111) and a temporary key generation unit (160, 164).
  • the master key storage unit of the management device stores a first master key (master key 411).
  • the temporary key generation unit of the management device uses the first master key stored in the master key storage unit of the management device and the temporary key generation data (generation number 412) to generate a first temporary key. (Temporary key 413) is generated.
  • the first cipher communication device includes a temporary key generation data notifying unit (250, meter reading meter communication unit 291) and a cipher communication unit (290, meter reading meter communication unit 291).
  • the temporary key generation data notifying unit of the first encryption communication device is configured to transfer the temporary key generation data used by the temporary key generation unit of the management device to generate the first temporary key to the second encryption Notify the communication device.
  • the cryptographic communication unit of the first cryptographic communication device performs cryptographic communication with the second cryptographic communication device using the first temporary key generated by the temporary key generation unit of the management device.
  • the second encryption communication device includes a master key storage unit (310, 311), a temporary key generation data verification unit (350, reception determination unit 396), a temporary key generation unit (360, 364), and an encryption communication unit. (390, portable terminal communication unit 391).
  • the master key storage unit of the second encryption communication device is the same as the first master key stored in the master key storage unit of the management device or corresponds to the first master key. (Master key 431) is stored.
  • the temporary key generation data verification unit of the second encryption communication device determines whether the temporary key generation data notified from the temporary key generation data notification unit of the first encryption communication device is valid. judge.
  • the temporary key generation unit of the second cryptographic communication device is valid.
  • the temporary key generation data verification unit determines, the second master key stored in the master key storage unit of the second encryption communication device and the temporary key generation data of the second encryption communication device
  • the first temporary key that is the same as the first temporary key generated by the temporary key generation unit of the management device using the temporary key generation data determined to be valid by the verification unit or the first temporary key
  • a second temporary key (temporary key 435) corresponding to is generated.
  • the cryptographic communication unit of the second cryptographic communication device uses the second temporary key generated by the temporary key generation unit of the second cryptographic communication device to perform cryptographic communication with the first cryptographic communication device. do.
  • the second cryptographic communication apparatus Since the second cryptographic communication apparatus generates a temporary key using the temporary key generation data notified from the first cryptographic communication apparatus, the first cryptographic communication apparatus and the second cryptographic communication apparatus are the same or correspond to each other. You can use the temporary key for encrypted communication.
  • the management device (100, encryption communication device 500, management server 101) further includes a temporary key generation data storage unit (130, generation number counter 131) and a temporary key generation data update unit (140, generation number counter 131). ).
  • the temporary key generation data storage unit of the management device includes temporary key generation data (temporary key generation data (160, 164) used by the management device for generating the first temporary key (temporary key 413)).
  • the generation number 412) is stored.
  • the temporary key generation data update unit of the management device repeatedly updates the temporary key generation data stored in the temporary key generation data storage unit of the management device every time a predetermined period elapses.
  • the second encryption communication device (encryption communication devices 300 and 500, meter-reading meter 301) further includes a verification data storage unit (330, temporary key generation data storage unit 130, generation number counter 331), and verification data update. (340, temporary key generation data update unit 140, generation number counter 331).
  • the verification data storage unit of the second encryption communication device stores verification data (temporary key generation data, generation number 432).
  • the verification data update unit of the second cryptographic communication device repeatedly updates the verification data stored in the verification data storage unit of the second cryptographic communication device every time a predetermined period elapses.
  • the temporary key generation data verification unit of the second cryptographic communication device uses the verification data stored in the verification data storage unit of the second cryptographic communication device to use the temporary data of the first cryptographic communication device. It is determined whether or not the temporary key generation data notified from the key generation data notification unit is valid.
  • the management device since the management device repeatedly updates the temporary key generation data and the second encryption communication device repeatedly updates the verification data accordingly, the temporary key generated from the old temporary key generation data may be invalidated. it can. Thereby, even if the first temporary key is leaked from the first cryptographic communication device, it is possible to prevent a third party from performing cryptographic communication with the second cryptographic communication device. Further, since the first cryptographic communication device does not know the first master key, the first master key is not leaked from the first cryptographic communication device. For this reason, even if information leaks from the first encryption communication device, a third party cannot generate a first temporary key that can be encrypted with the second encryption communication device.
  • the key generation data (generation number 432) is data representing a numerical value.
  • the temporary key generation data update unit (140, generation number counter 131) of the management device sets a predetermined value to the numerical value represented by the temporary key generation data stored in the temporary key generation data storage unit of the management device.
  • the verification data update unit (340, temporary key generation data update unit 140, generation number counter 331) of the second cryptographic communication device is used by the temporary key generation data update unit of the management device for the temporary key generation.
  • the verification data stored in the verification data storage unit of the second encryption communication device is stored every time a cycle approximately n times (n is a positive real number) of the predetermined cycle for updating data elapses.
  • the verification data stored in the verification data storage unit of the encryption communication device is updated with data representing the calculated sum.
  • the temporary key generation data verification unit (350, reception determination unit 396) of the second encryption communication device is the temporary key generation data of the first encryption communication device (encryption communication devices 200, 500, portable terminal 201).
  • the numerical value represented by the temporary key generation data notified from the notification unit (250, counter meter communication unit 291) is represented by the verification data stored in the verification data storage unit of the second encryption communication device. If it is greater than or equal to the numerical value, it is determined that the temporary key generation data notified from the temporary key generation data notification unit of the first encryption communication device is valid.
  • the verification data storage unit (330, temporary key generation data storage unit 130, generation number counter 331) of the second encryption communication device (encryption communication device 300, 500, meter-reading meter 301) is the first encryption communication device.
  • the temporary key generation data (generation number 412) notified from the temporary key generation data notification unit (250, counter meter communication unit 291) of (encryption communication devices 200, 500, portable terminal 201) is valid.
  • the temporary key generation data verification unit (350, reception determination unit 396) of the second encryption communication device determines that the temporary key generation data verification unit of the second encryption communication device is valid.
  • the determined temporary key generation data is stored as the verification data (temporary key generation data, generation number 432).
  • the temporary key generation data of the management device and the verification data of the second encryption communication device can be easily synchronized.
  • the management apparatus (100, management server 101) further includes an initialization command generation unit (165, reset packet generation unit 166).
  • the initialization command generation unit of the management device includes verification data (330, generation number counter 331) stored in the verification data storage unit (330, generation number counter 331) of the second encryption communication device (encryption communication device 300, meter-reading meter 301). An initialization command (reset packet 419) for initializing the generation number 432) is generated.
  • the first encryption communication device (encryption communication device 200, portable terminal 201) further includes an initialization command notification unit (285, reset packet output unit 297).
  • the initialization command notification unit of the first encryption communication device notifies the initialization command generated by the initialization command generation unit of the management device to the second encryption communication device.
  • the second cryptographic communication apparatus further includes an initialization command verification unit (375, reception determination unit 396).
  • the initialization command verification unit of the second encryption communication device determines whether the initialization command notified from the initialization command notification unit of the first encryption communication device is valid.
  • the verification data storage unit of the second cryptographic communication device may be configured such that the initialization command of the second cryptographic communication device is valid when the initialization command notified from the initialization command notification unit of the first cryptographic communication device is valid. If the verification command verification unit determines, the stored verification data is initialized.
  • the verification data can be initialized and returned to the normal value.
  • the initialization command verification unit (375, reception determination unit 396) of the second encryption communication device (encryption communication device 300, meter-reading meter 301) is the same as the first encryption communication device (encryption communication device 200, portable terminal 201).
  • the first encryption communication device when the predetermined period has not elapsed since the initialization command (reset packet 419) notified from the initialization command notification unit (285, reset packet output unit 297) has been generated It is determined that the initialization command notified from the initialization command notification unit is valid.
  • the initialization command (reset packet 419) generated by the initialization command generation unit (165, reset packet generation unit 166) of the management apparatus (100, management server 101) indicates the date when the initialization command was generated. Contains information to represent.
  • the initialization command verification unit (375, reception determination unit 396) of the second encryption communication device (encryption communication device 300, meter-reading meter 301) is the same as the first encryption communication device (encryption communication device 200, portable terminal 201).
  • the date represented by the information included in the initialization command notified from the initialization command notification unit (285, reset packet output unit 297) is after a predetermined number of days before the current date, It determines with the said initialization command notified from the said initialization command notification part of a 1st encryption communication apparatus being effective.
  • the initialization command (reset packet 419) generated by the initialization command generation unit (165, reset packet generation unit 166) of the management device (100, management server 101) is the temporary key generation data of the management device. It includes information representing the temporary key generation data (generation number 412) stored in the storage unit (130, generation number counter 131). If the verification data storage unit (330, generation number counter 331) of the second encryption communication device (encryption communication device 300, meter-reading meter 301) is valid, the initialization command verification unit of the second encryption communication device. By storing the temporary key generation data represented by the information included in the initialization command determined by (375, reception determination unit 396) as the verification data (generation number 432), the verification data is stored. initialize.
  • the temporary key generation data of the management apparatus and the verification data of the second encryption communication apparatus can be synchronized.
  • the temporary key generation data verification unit (350, reception determination unit 396) of the second encryption communication device (encryption communication device 300, meter-reading meter 301) is the verification data storage unit (330) of the second encryption communication device.
  • the generation number counter 331) initializes the verification data (generation number 432) until a predetermined period elapses, the first encryption communication device (encryption communication device 200, portable terminal 201) described above.
  • the numerical value represented by the temporary key generation data (generation number 412) notified from the temporary key generation data notification unit (250, counter meter communication unit 291) is the data storage for verification of the second encryption communication device.
  • the first encryption communication apparatus when the first encryption communication device is equal to the numerical value represented by the verification data (generation number 432) stored in the unit (330, generation number counter 331).
  • the temporary key generation data notification unit of the first cryptographic communication device is notified.
  • the numerical value represented by the temporary key generation data is greater than or equal to the numerical value represented by the verification data stored in the verification data storage unit of the second cryptographic communication device, It is determined that the temporary key generation data notified from the temporary key generation data notification unit is valid.
  • the initialization command (reset packet 419) generated by the initialization command generation unit (165, reset packet generation unit 166) of the management device (100, management server 101) is the master key storage unit ( 110, 111) includes information encrypted using the first master key (master key 411) stored.
  • the initialization command verification unit (375, message verification unit 398) of the second cryptographic communication device (cryptographic communication device 300, meter-reading meter 301) is the same as the first cryptographic communication device (cryptographic communication device 200, portable terminal 201).
  • Information included in the initialization command notified from the initialization command notification unit (285, reset packet output unit 297) is stored in the master key storage unit (310, 311) of the second encryption communication device. Decrypt using the second master key (master key 431).
  • the first encryption communication device (encryption communication device 200, portable terminal 201) is a device that is physically separated from the management device.
  • the management device (100, management server 101) further includes a temporary key notification unit (170, output determination unit 171) and a temporary key generation data notification unit (150, output determination unit 171).
  • the temporary key notification unit of the management device uses the first temporary key (temporary key 413) generated by the temporary key generation unit (160, temporary key generation unit 164) of the management device as the first cryptographic communication. Notify the device.
  • the temporary key generation data notifying unit of the management device uses the temporary key generation data (generation number 412) used by the temporary key generation unit of the management device to generate the first temporary key.
  • One encryption communication apparatus is notified.
  • the first cryptographic communication apparatus further includes a temporary key storage unit (270) and a temporary key generation data storage unit (230).
  • the temporary key storage unit of the first encryption communication device stores the first temporary key notified from the temporary key notification unit of the management device.
  • the temporary key generation data storage unit of the first encryption communication device stores the temporary key generation data notified from the temporary key generation data notification unit of the management device.
  • the temporary key generation data notifying unit (250, meter reading meter communication unit 291) of the first cryptographic communication device is configured to generate the temporary key stored in the temporary key generation data storage unit of the first cryptographic communication device. The data is notified to the second encryption communication device (300, meter-reading meter 301).
  • the number of times of communication with the management apparatus can be reduced by acquiring and storing the temporary key and temporary key generation data in advance by the first cryptographic communication apparatus.
  • the first cryptographic communication device does not know the first master key, even if information leaks from the first cryptographic communication device, a third party generates a temporary key that can be cryptographically communicated with the second cryptographic communication device. Can be prevented.
  • the first encryption communication device (encryption communication device 200, portable terminal 201) is portable.
  • the first cryptographic communication device Since the first cryptographic communication device is portable, the user of the first cryptographic communication device loses the first cryptographic communication device and the information stored by the first cryptographic communication device can be leaked by a third party. There is sex. However, since the first cryptographic communication device does not know the first master key, it is possible to prevent a third party from generating a temporary key that can be cryptographically communicated with the second cryptographic communication device.
  • the cryptographic processing apparatus (the management apparatus 100, the cryptographic communication apparatuses 200, 300, 500, the management server 101, the portable terminal 201, and the meter-reading meter 301) described above includes a master key storage unit (110, 310, 111, 311) and a temporary And a key generation unit (160, 360, 164, 364).
  • the master key storage unit stores master keys (411, 431).
  • the temporary key generation unit generates a temporary key (413, 435) using the master key stored in the master key storage unit and the temporary key generation data (generation numbers 412 and 432).
  • the temporary key is generated from the master key and the temporary key generation data, the temporary key used for encrypted communication can be easily changed.
  • the cryptographic processing devices (cryptographic communication devices 300 and 500, meter-reading meter 301) further include a temporary key generation data verification unit (350, reception determination unit 396) and a cryptographic communication unit (390, portable terminal communication unit 391). And have.
  • temporary key generation data verification unit temporary key generation data (generation numbers 412 and 432) notified from other cryptographic processing devices (encryption communication devices 200 and 500, portable terminal 201, meter-reading meter 301) are valid. It is determined whether or not there is.
  • the temporary key generation data verification unit determines that the temporary key generation data notified from the other cryptographic processing device is valid, the temporary key generation unit (110, 110, 310, 111, 311) stored in the master key (411, 431) and the temporary key generation data determined by the temporary key generation data verification unit as valid, the temporary key (435) Is generated.
  • the cryptographic communication unit (390, mobile terminal communication unit 391) performs cryptographic communication with the other cryptographic processing device using the temporary key generated by the temporary key generation unit.
  • the cryptographic processing devices further include a temporary key generation data storage unit (130, a verification data storage unit 330, a generation number counter 331), and a temporary key generation data update. (140, verification data update unit 340, generation number counter 331).
  • the temporary key generation data storage unit stores temporary key generation data (generation number 432) used by the temporary key generation unit (160, 360, 364) to generate the temporary key (413, 435).
  • the temporary key generation data update unit repeatedly updates the temporary key generation data stored in the temporary key generation data storage unit every time a predetermined period elapses.
  • the temporary key generation data verification unit uses the temporary key generation data stored in the temporary key generation data storage unit to use the other encryption processing device (encryption communication device 200). , 500, portable terminal 201, meter-reading meter 301), it is determined whether the temporary key generation data (generation numbers 412 and 432) notified is valid.
  • the temporary key generation data (generation number 432) stored in the temporary key generation data storage unit (130, verification data storage unit 330, generation number counter 331) is data representing a numerical value.
  • the temporary key generation data update unit (140, verification data update unit 340, generation number counter 331) sets a predetermined value to the numerical value represented by the temporary key generation data stored in the temporary key generation data storage unit. A sum obtained by adding the increment values is calculated, and the temporary key generation data stored in the temporary key generation data storage unit is updated with data representing the calculated sum.
  • the temporary key generation data verification unit (350, reception determination unit 396) receives the temporary key generation data notified from the other cryptographic processing devices (encrypted communication devices 200 and 500, portable terminal 201, meter-reading meter 301). When the numerical value represented by (generation number 412) is greater than or equal to the numerical value represented by the temporary key generation data stored in the temporary key generation data storage unit, the temporary information notified from the other cryptographic processing device. It is determined that the key generation data is valid.
  • the temporary key generation data storage unit (130, verification data storage unit 330, generation number counter 331) is notified from the other encryption processing devices (encryption communication devices 200 and 500, portable terminal 201, meter-reading meter 301). If the temporary key generation data verification unit (350, reception determination unit 396) determines that the temporary key generation data (generation numbers 412 and 432) is valid, the temporary key generation data is valid. The temporary key generation data determined by the data verification unit is stored.
  • the cryptographic processing device (cryptographic communication device 300, meter-reading meter 301) further includes an initialization command verification unit (initialization command verification unit 375, reception determination unit 396).
  • the initialization command verification unit determines whether the initialization command (reset packet 419) notified from the other cryptographic processing device (encrypted communication device 200, portable terminal 201, management server 101) is valid. .
  • the temporary key generation data storage unit (verification data storage unit 330, generation number counter 331), the initialization command verification unit determines that the initialization command notified from the other cryptographic processing device is valid. In this case, the stored temporary key generation data (generation number 432) is initialized.
  • the cryptographic processing devices (the cryptographic communication devices 200 and 500, the portable terminal 201, and the meter-reading meter 301) further include a temporary key generation data notification unit (250, the counter-metering meter communication unit 291) and a cryptographic communication unit (290, paired meter). Meter reading meter communication units 291 and 371).
  • the temporary key generation data notifying unit includes the temporary key generation data (generation numbers 412 and 432) used by the temporary key generation unit (160, 164, 364) to generate the temporary key (temporary keys 413, 435).
  • the encryption communication unit performs encryption communication with the other encryption communication device using the temporary key generated by the temporary key generation unit.
  • Management device 100, encryption communication device 500, management server 101), first encryption communication device (encryption communication devices 200, 500, portable terminal 201), second encryption communication device (encryption communication devices 300, 500, meter reading) described above Meter 301) and cryptographic processing device (management device 100, cryptographic communication devices 200, 300, 500, management server 101, portable terminal 201, meter-reading meter 301) can be realized by a computer executing a computer program. According to a computer program that causes a computer to function as a management device, a first cryptographic communication device, a second cryptographic communication device, or a cryptographic processing device, it is possible to easily realize a cryptographic communication system or a cryptographic processing device that exhibits the effects described above. it can.
  • the meter meter (301) communicates with an external device (portable terminal 201) to communicate power information and control information.
  • the wireless section may be communicated, and it is necessary to protect these from illegal acts such as eavesdropping.
  • an encryption communication system is used in which information is encrypted and transmitted, and decrypted and used on the receiving side.
  • a cryptographic communication system it is necessary to share a key used for encryption between a sender and a receiver.
  • a cipher called a common key cipher it is necessary to prevent the shared key from leaking to the outside.
  • the key used for encryption can be easily changed. Moreover, even if a portable terminal is lost and an unauthorized person acquires the terminal, meter reading information for all meter meters cannot be acquired.
  • the counter can be easily synchronized between the client and server. Even when the counter deviates, the deviation can be corrected, so that communication is possible even when the deviation exceeds a certain range.
  • the temporary key can be automatically invalidated after a certain period of time.
  • the cryptographic communication system described above it is possible to provide a communication device that realizes key invalidation and key synchronization while using a temporary key.
  • the encryption communication system demonstrated above is applicable not only to the communication between the meter-reading meter and portable terminal in an automatic meter-reading system but to the encryption communication of arbitrary apparatuses.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Storage Device Security (AREA)
  • Telephonic Communication Services (AREA)

Abstract

 管理装置100は、マスター鍵と一時鍵生成用データとを記憶し、一時鍵生成用データを定期的に更新する。管理装置100は、マスター鍵と一時鍵生成用データとから一時鍵を生成し、一時鍵と一時鍵生成用データとを暗号通信装置200に対して通知する。暗号通信装置200は、一時鍵生成用データを暗号通信装置300に対して通知し、一時鍵を使って暗号通信装置300と暗号通信する。暗号通信装置300は、マスター鍵と検証用データとを記憶し、検証用データを定期的に更新する。暗号通信装置300は、検証用データを使って暗号通信装置200から通知された一時鍵生成用データを検証し、マスター鍵と一時鍵生成用データとから生成した一時鍵を使って暗号通信装置200と暗号通信する。

Description

暗号通信システム及び暗号処理装置及びコンピュータプログラム及び暗号通信方法
 この発明は、複数の装置が暗号通信をする暗号通信システムに関する。
 インターネット通信や無線通信など容易に盗聴が可能な通信方式を使って通信をする場合、第三者による盗聴や改竄を防ぐため、暗号通信が利用される。
 例えば、共通鍵暗号を使って暗号通信をする場合、送信側と受信側とで使用する鍵を共有する必要があり、共有した鍵が外部に漏洩しないようにする必要がある。
特開2010-68396号公報 特開2001-251292号公報 特開2002-290391号公報
 例えば自動検針システムで用いられる携帯端末のように小型で携帯可能な装置が鍵を持っていると、使用者が装置を紛失し、第三者がそれを拾得することにより、鍵が漏洩する可能性がある。
 この発明は、例えば、暗号通信に使う鍵を容易に共有・変更できるようにすることを目的とする。
 この発明にかかる暗号通信システムは、
 管理装置と、第一暗号通信装置と、第二暗号通信装置とを備える暗号通信システムにおいて、
 上記管理装置は、マスター鍵記憶部と、一時鍵生成部とを有し、
 上記管理装置の上記マスター鍵記憶部は、第一マスター鍵を記憶し、
 上記管理装置の上記一時鍵生成部は、上記管理装置の上記マスター鍵記憶部が記憶した上記第一マスター鍵と、一時鍵生成用データとを使って、第一一時鍵を生成し、
 上記第一暗号通信装置は、一時鍵生成用データ通知部と、暗号通信部とを有し、
 上記第一暗号通信装置の上記一時鍵生成用データ通知部は、上記管理装置の上記一時鍵生成部が上記第一一時鍵の生成に使った上記一時鍵生成用データを、上記第二暗号通信装置に対して通知し、
 上記第一暗号通信装置の上記暗号通信部は、上記管理装置の上記一時鍵生成部が生成した上記第一一時鍵を使って、上記第二暗号通信装置との間で暗号通信をし、
 上記第二暗号通信装置は、マスター鍵記憶部と、一時鍵生成用データ検証部と、一時鍵生成部と、暗号通信部とを有し、
 上記第二暗号通信装置の上記マスター鍵記憶部は、上記管理装置の上記マスター鍵記憶部が記憶した上記第一マスター鍵と同一の、又は、上記第一マスター鍵に対応する、第二マスター鍵を記憶し、
 上記第二暗号通信装置の上記一時鍵生成用データ検証部は、上記第一暗号通信装置の上記一時鍵生成用データ通知部から通知された上記一時鍵生成用データが有効であるか否かを判定し、
 上記第二暗号通信装置の上記一時鍵生成部は、上記第一暗号通信装置の上記一時鍵生成用データ通知部から通知された上記一時鍵生成用データが有効であると上記第二暗号通信装置の上記一時鍵生成用データ検証部が判定した場合に、上記第二暗号通信装置の上記マスター鍵記憶部が記憶した上記第二マスター鍵と、上記第二暗号通信装置の上記一時鍵生成用データ検証部が有効であると判定した上記一時鍵生成用データとを使って、上記管理装置の上記一時鍵生成部が生成した上記第一一時鍵と同一の、又は、上記第一一時鍵に対応する第二一時鍵を生成し、
 上記第二暗号通信装置の上記暗号通信部は、上記第二暗号通信装置の上記一時鍵生成部が生成した上記第二一時鍵を使って、上記第一暗号通信装置との間で暗号通信をすることを特徴とする。
 第二暗号通信装置が第一暗号通信装置から通知された一時鍵生成用データを使って一時鍵を生成するので、第一暗号通信装置と第二暗号通信装置とが、同一の、又は対応する一時鍵を使って、暗号通信をすることができる。これにより、一時鍵を共有しあるいは変更することが容易になる。
実施の形態1における暗号通信システム800の全体構成の一例を示すシステム構成図。 実施の形態1における管理装置100、暗号通信装置200及び暗号通信装置300のハードウェア資源の一例を示すハードウェア構成図。 実施の形態1における管理装置100の機能ブロックの一例を示すブロック構成図。 実施の形態1における暗号通信装置200の機能ブロックの一例を示すブロック構成図。 実施の形態1における暗号通信装置300の機能ブロックの一例を示すブロック構成図。 実施の形態1における初期化処理S601の流れの一例を示すフロー図。 実施の形態1における更新処理S602の流れの一例を示すフロー図。 実施の形態1における一時鍵通知処理S603の流れの一例を示すフロー図。 実施の形態1における暗号通信処理S604の流れの一例を示すフロー図。 実施の形態3における自動検針システム801の全体構成の一例を示す図。 実施の形態3における管理サーバ101の機能ブロックの一例を示す図。 実施の形態3における携帯端末201の機能ブロックの一例を示す図。 実施の形態3における検針メータ301の機能ブロックの一例を示す図。 実施の形態3の管理サーバ101における鍵情報管理部161の詳細な機能ブロックの一例を示す図。 実施の形態3の携帯端末201における対管理サーバ通信部221の詳細な機能ブロックの一例を示す図。 実施の形態3の携帯端末201における対検針メータ通信部291の詳細な機能ブロックの一例を示す図。 実施の形態3の検針メータ301における対携帯端末通信部391の詳細な機能ブロックの一例を示す図。 実施の形態3における一時鍵通知処理S603の流れの一例を示すフロー図。 実施の形態3における暗号通信処理S604の流れの一例を示すフロー図。 実施の形態4における暗号通信システム800の全体構成の一例を示すシステム構成図。 実施の形態4における暗号通信装置500の全体構成の一例を示すシステム構成図。 実施の形態4における初期化処理S601の流れの一例を示すフロー図。 実施の形態4における更新処理S602の流れの一例を示すフロー図。 実施の形態4における暗号通信処理S604の流れの一例を示すフロー図。 実施の形態5における自動検針システム801の全体構成の一例を示す図。 実施の形態5における検針メータ301の機能ブロックの一例を示す図。 実施の形態6における管理装置100の機能ブロックの一例を示すブロック構成図。 実施の形態6における暗号通信装置200の機能ブロックの一例を示すブロック構成図。 実施の形態6における暗号通信装置300の機能ブロックの一例を示すブロック構成図。 実施の形態6における一時鍵通知処理S603の流れの一例を示すフロー図。 実施の形態6における暗号通信処理S604の流れの一例を示すフロー図。 実施の形態7における暗号通信装置200の機能ブロックの一例を示すブロック構成図。 実施の形態7における暗号通信処理S604の流れの一例を示すフロー図。 実施の形態8における管理サーバ101の機能ブロックの一例を示す図。 実施の形態8における携帯端末201の機能ブロックの一例を示す図。 実施の形態8における検針メータ301の機能ブロックの一例を示す図。 実施の形態8の管理サーバ101におけるリセットパケット生成部166の詳細な機能ブロックの一例を示す図。 実施の形態8の携帯端末201における対管理サーバ通信部221及び対検針メータ通信部291の詳細な機能ブロックの一例を示す図。 実施の形態8の検針メータ301における対携帯端末通信部391の詳細な機能ブロックの一例を示す図。 実施の形態8におけるリセットパケット通知処理S605の流れの一例を示すフロー図。 実施の形態8における世代番号リセット処理S606の流れの一例を示すフロー図。
 実施の形態1.
 実施の形態1について、図1~図9を用いて説明する。
 図1は、この実施の形態における暗号通信システム800の全体構成の一例を示すシステム構成図である。
 暗号通信システム800は、例えば、管理装置100と、暗号通信装置200と、暗号通信装置300とを備える。
 管理装置100(暗号処理装置)は、マスター鍵を保管している。管理装置100は、保管しているマスター鍵を使って、一時鍵を生成する。
 暗号通信装置200(暗号処理装置)は、管理装置100と安全な方式を使って通信し、管理装置100が生成した一時鍵を取得する。暗号通信装置200は、取得した一時鍵を使って、暗号通信装置300との間で暗号通信をする。
 暗号通信装置300(暗号処理装置)は、マスター鍵を保管している。暗号通信装置300が保管しているマスター鍵は、管理装置100が保管しているマスター鍵と同一のマスター鍵であってもよいし、管理装置100が保管しているマスター鍵に対応するマスター鍵であってもよい。暗号通信装置300は、保管しているマスター鍵を使って、一時鍵を生成する。暗号通信装置300が生成する一時鍵は、管理装置100が生成する一時鍵と同一の一時鍵であってもよいし、管理装置100が生成する一時鍵に対応する一時鍵であってもよい。暗号通信装置300は、自らが生成した一時鍵を使って、暗号通信装置200との間で暗号通信をする。
 図2は、この実施の形態における管理装置100、暗号通信装置200及び暗号通信装置300のハードウェア資源の一例を示すハードウェア構成図である。
 管理装置100、暗号通信装置200及び暗号通信装置300は、例えば、コンピュータである。コンピュータは、例えば、処理装置911と、入力装置912と、出力装置913と、記憶装置914と、通信装置915とを有する。
 処理装置911は、記憶装置914が記憶したコンピュータプログラムを実行することにより、データを処理し、入力装置912、出力装置913、記憶装置914及び通信装置915を制御する。
 記憶装置914は、処理装置911が実行するコンピュータプログラムや、処理装置911が処理するデータなどを記憶する。
 入力装置912は、コンピュータの外部から情報を入力し、処理装置911が処理できるデータに変換する。入力装置912が変換したデータは、処理装置911が直接処理する構成であってもよいし、記憶装置914が一時的に記憶する構成であってもよい。例えば、入力装置912は、キーボードやマウスなどの操作入力装置であり、コンピュータを操作する操作者による操作を入力する。あるいは、入力装置912は、マイクであり、音声を入力する。あるいは、入力装置912は、カメラであり、画像を撮影する。あるいは、入力装置912は、センサであり、温度や電圧などの物理量を測定する。あるいは、入力装置912は、アナログデジタル変換回路であり、アナログ信号をデジタルデータに変換する。
 出力装置913は、処理装置911が処理したデータや記憶装置914が記憶したデータを変換して、コンピュータの外部へ出力する。例えば、出力装置913は、液晶表示装置であり、画像を出力する。あるいは、出力装置913は、スピーカーであり、音声を出力する。あるいは、出力装置913は、デジタルアナログ変換回路であり、アナログ信号を生成する。
 通信装置915は、他の装置との間で通信をする。通信装置915は、他の装置が送信した信号を受信して、受信した信号が表わす情報を入力して、処理装置911が処理できるデータに変換する。すなわち、通信装置915は、入力装置912の一種である。また、通信装置915は、処理装置911が処理したデータや記憶装置914が記憶したデータを信号に変換して、他の装置に対して送信する。すなわち、通信装置915は、記憶装置914の一種である。
 以下に説明する機能ブロックは、記憶装置914が記憶したコンピュータプログラムを、処理装置911が実行することにより実現される。なお、これは一例であり、以下に説明する機能ブロックは、他の構成により実現されるものであってもよい。例えば、アナログ回路やデジタル回路などの電子回路やその他の電気的構成、機械的構成やその他の構成により、以下に説明する機能ブロックが実現されるものであってもよい。
 図3は、この実施の形態における管理装置100の機能ブロックの一例を示すブロック構成図である。
 管理装置100は、例えば、マスター鍵記憶部110と、一時鍵生成用データ記憶部130と、一時鍵生成用データ更新部140と、一時鍵生成用データ通知部150と、一時鍵生成部160と、一時鍵通知部170とを有する。
 マスター鍵記憶部110は、記憶装置914を用いて、マスター鍵(第一マスター鍵)を記憶する。マスター鍵記憶部110が記憶するマスター鍵は、暗号通信装置200が暗号通信装置300との間で暗号通信をするときに使用する一時鍵を生成するために使われるデータである。マスター鍵の漏洩を防ぐため、マスター鍵記憶部110は、例えば、耐タンパ性を有する記憶装置914を用いて、マスター鍵を記憶する構成であってもよい。マスター鍵記憶部110が記憶するマスター鍵は、あらかじめ定められたものであって変更できない構成であってもよいし、例えばマスター鍵が漏洩した疑いがある場合など、必要な場合に変更可能な構成であってもよい。
 一時鍵生成用データ記憶部130は、記憶装置914を用いて、一時鍵生成用データを記憶する。一時鍵生成用データ記憶部130が記憶する一時鍵生成用データは、マスター鍵記憶部110が記憶したマスター鍵と同様、一時鍵を生成するために使われるデータである。同じマスター鍵を使用しても、一時鍵生成用データが異なれば、異なる一時鍵が生成される。
 一時鍵生成用データ更新部140は、処理装置911を用いて、一時鍵生成用データ記憶部130が記憶した一時鍵生成用データを更新する。一時鍵生成用データ更新部140は、例えば、所定の周期(例えば1日)が経過するごとに、一時鍵生成用データ記憶部130が記憶した一時鍵生成用データを、繰り返し更新する。これにより、所定の周期が経過するごとに、生成される一時鍵が変化する。
 一時鍵生成用データは、新旧が判別できるものであれば、どのようなデータであってもよい。
 例えば、一時鍵生成用データは、数値を表わすデータである。一時鍵生成用データを更新する場合、一時鍵生成用データ更新部140は、一時鍵生成用データが表わす数値に所定の増分値(例えば1)を加算した和を算出する。一時鍵生成用データ更新部140は、一時鍵生成用データ記憶部130が記憶した一時鍵生成用データを、算出した和を表わすデータで更新する。一時鍵生成用データ記憶部130は、古い一時鍵生成用データを、更新された新しい一時鍵生成用データで置き換えて記憶する。これにより、新しい一時鍵生成用データのほうが大きい数値を表わすので、2つの一時鍵生成用データが表わす数値を比較することにより、どちらの一時鍵生成用データが新しいかを判別することができる。
 一時鍵生成部160は、処理装置911を用いて、一時鍵(第一一時鍵)を生成する。一時鍵生成部160は、マスター鍵記憶部110が記憶したマスター鍵と、一時鍵生成用データ記憶部130が記憶した一時鍵生成用データとを使って、一時鍵を生成する。
 一時鍵生成部160が一時鍵を生成する方式は、以下の条件を満たす方式であれば、どのような方式であってもよい。
 第一の条件は、マスター鍵と一時鍵生成用データとの組が同じであれば、同一もしくは同類の一時鍵が生成されることである。なお、同類の一時鍵とは、同じ鍵で復号できる暗号文を生成し、あるいは、同じ鍵で暗号化した暗号文を復号できる一群の一時鍵のことである。
 第二の条件は、マスター鍵及び一時鍵生成用データのいずれか一方でも異なれば、同一でなく、かつ同類でもない一時鍵が生成されることである。これにより、一時鍵生成用データが更新されると、更新前の古い一時鍵生成用データを使って生成した一時鍵を使って生成した暗号文を復号でき、あるいは、更新前の古い一時鍵生成用データを使って生成した一時鍵で復号できる暗号文を生成する鍵では、更新後の新しい一時鍵生成用データを使って生成した一時鍵を使って生成した暗号文を復号できず、あるいは、更新後の新しい一時鍵生成用データを使って生成した一時鍵で復号できる暗号文を生成できない。
 第三の条件は、一時鍵生成用データと、それを使って生成した一時鍵とから、マスター鍵が推測できないことである。これにより、マスター鍵の漏洩を防ぐことができる。
 例えば、一時鍵生成部160は、マスター鍵記憶部110が記憶したマスター鍵を使って、一時鍵生成用データ記憶部130が記憶した一時鍵生成用データを暗号化する。一時鍵生成部160は、暗号化した暗号文を一時鍵とする。
 あるいは、一時鍵生成部160は、一方向性を有するハッシュ関数を使って、マスター鍵記憶部110が記憶したマスター鍵と、一時鍵生成用データ記憶部130が記憶した一時鍵生成用データとをハッシュ関数の入力とし、ハッシュ値を算出する。一時鍵生成部160は、算出したハッシュ値を一時鍵とする。
 一時鍵通知部170は、一時鍵生成部160が生成した一時鍵を、暗号通信装置200に対して通知する。例えば、一時鍵通知部170は、通信装置915を用いて、一時鍵生成部160が生成した一時鍵を、暗号通信装置200に対して送信する。
 一時鍵を通知する方式は、一時鍵の漏洩を防ぐことができる方式であれば、どのような方式であってもよい。例えば、一時鍵通知部170は、暗号化された通信を使って、一時鍵を送信する。あるいは、管理装置100と暗号通信装置200とを直接有線接続して、一時鍵の送信を行う。
 一時鍵生成用データ通知部150は、一時鍵通知部170が暗号通信装置200に対して通知した一時鍵を一時鍵生成部160が生成するときに使った一時鍵生成用データを、暗号通信装置200に対して通知する。例えば、一時鍵生成用データ通知部150は、通信装置915を用いて、一時鍵生成用データ記憶部130が記憶した一時鍵を、暗号通信装置200に対して送信する。なお、一時鍵と一時鍵生成用データとの対応関係が明確化するように、例えば、一時鍵通知部170が通知する一時鍵と、一時鍵生成用データ通知部150が通知する一時鍵生成用データとを1つにまとめて送信する構成であってもよい。
 図4は、この実施の形態における暗号通信装置200の機能ブロックの一例を示すブロック構成図である。
 暗号通信装置200(第一暗号通信装置)は、例えば、一時鍵生成用データ取得部220と、一時鍵生成用データ記憶部230と、一時鍵生成用データ通知部250と、一時鍵取得部260と、一時鍵記憶部270と、暗号通信部290とを有する。
 一時鍵取得部260は、管理装置100の一時鍵通知部170から通知された一時鍵(第一一時鍵)を取得する。例えば、一時鍵取得部260は、通信装置915を用いて、一時鍵通知部170が送信した一時鍵を受信する。
 一時鍵記憶部270は、記憶装置914を用いて、一時鍵取得部260が取得した一時鍵を記憶する。一時鍵の漏洩を防ぐため、例えば、一時鍵取得部260は、耐タンパ性のある記憶装置914を用いて、一時鍵を記憶する構成であってもよい。
 一時鍵生成用データ取得部220は、管理装置100の一時鍵生成用データ通知部150から通知された一時鍵生成用データを取得する。例えば、一時鍵生成用データ取得部220は、通信装置915を用いて、一時鍵生成用データ通知部150が送信した一時鍵生成用データを受信する。
 一時鍵生成用データ記憶部230は、記憶装置914を用いて、一時鍵生成用データ取得部220が取得した一時鍵生成用データを記憶する。
 一時鍵生成用データ通知部250は、一時鍵生成用データ記憶部230が記憶した一時鍵生成用データを、暗号通信装置300に対して通知する。例えば、一時鍵生成用データ通知部250は、通信装置915を用いて、一時鍵生成用データ取得部220が記憶した一時鍵生成用データを、暗号通信装置300に対して送信する。
 暗号通信部290は、一時鍵記憶部270が記憶した一時鍵を使って、暗号通信装置300との間で暗号通信をする。例えば、暗号通信部290は、処理装置911を用いて、一時鍵通知部170が記憶した一時鍵を使って暗号文を生成し、通信装置915を用いて、生成した暗号文を暗号通信装置300に対して送信する。あるいは、暗号通信部290は、通信装置915を用いて、暗号通信装置300が送信した暗号文を受信し、処理装置911を用いて、受信した暗号文を、暗号通信部290が記憶した一時鍵を使って復号する。
 図5は、この実施の形態における暗号通信装置300の機能ブロックの一例を示すブロック構成図である。
 暗号通信装置300(第二暗号通信装置)は、例えば、マスター鍵記憶部310と、一時鍵生成用データ取得部320と、検証用データ記憶部330と、検証用データ更新部340と、一時鍵生成用データ検証部350と、一時鍵生成部360と、暗号通信部390とを有する。
 マスター鍵記憶部310は、記憶装置914を用いて、マスター鍵(第二マスター鍵)を記憶する。マスター鍵記憶部310が記憶するマスター鍵は、暗号通信装置300が暗号通信装置200との間で暗号通信をするときに使用する一時鍵を生成するために使われるデータである。マスター鍵の漏洩を防ぐため、マスター鍵記憶部310は、例えば、耐タンパ性のある記憶装置914を用いて、マスター鍵を記憶する構成であってもよい。マスター鍵記憶部310が記憶するマスター鍵は、あらかじめ定められたものであって変更できない構成であってもよいし、例えばマスター鍵が漏洩した疑いがある場合など、必要な場合に変更可能な構成であってもよい。
 マスター鍵記憶部310が記憶するマスター鍵は、管理装置100の一時鍵生成部160が一時鍵の生成に使った一時鍵生成用データと組み合わせることにより、一時鍵生成部160が生成した一時鍵と同一の、又は、その一時鍵に対応する一時鍵を生成できるものであればよい。ここで、「2つの一時鍵が対応する」とは、一方の一時鍵を使って暗号化した暗号文を、もう一方の一時鍵を使って復号できる関係のことである。また、「2つのマスター鍵が対応する」とは、2つのマスター鍵から、同一の、又は、対応する一時鍵を生成できる関係のことである。
 マスター鍵記憶部310が記憶するマスター鍵は、管理装置100のマスター鍵記憶部110が記憶したマスター鍵と同一のマスター鍵であってもよいし、異なるマスター鍵であってもよい。マスター鍵記憶部310が記憶したマスター鍵と、管理装置100のマスター鍵記憶部110が記憶したマスター鍵とが異なる場合、マスター鍵記憶部310が記憶したマスター鍵から、管理装置100のマスター鍵記憶部110が記憶したマスター鍵を推測できない構成であってもよい。そうすれば、マスター鍵記憶部310が記憶したマスター鍵が漏洩した場合でも、管理装置100のマスター鍵記憶部110が記憶したマスター鍵が知られるのを防ぐことができる。
 また、暗号通信装置300が複数ある場合、それぞれの暗号通信装置300のマスター鍵記憶部310が異なるマスター鍵を記憶する構成であってもよい。その場合、ある暗号通信装置300のマスター鍵記憶部310が記憶したマスター鍵を使って生成した一時鍵と、他の暗号通信装置300のマスター鍵記憶部310が記憶したマスター鍵を使って生成した一時鍵とが対応しない構成であってもよい。そうすれば、ある暗号通信装置300のマスター鍵記憶部310が記憶したマスター鍵が漏洩した場合でも、他の暗号通信装置300との間で暗号通信ができる一時鍵が生成されるのを防ぐことができる。
 検証用データ記憶部330は、記憶装置914を用いて、検証用データを記憶する。検証用データとは、暗号通信装置200から通知された一時鍵生成用データが有効であるか否かを検証するために使われるデータである。
 検証用データ更新部340は、処理装置911を用いて、検証用データ記憶部330が記憶した検証用データを更新する。検証用データ更新部340は、例えば、所定の周期(例えば1日)が経過するごとに、検証用データ記憶部330が記憶した検証用データを、繰り返し更新する。
 検証用データは、古い一時鍵生成用データを無効であると判定できるものであれば、どのようなデータであってもよい。
 例えば、検証用データは、数値を表わすデータである。検証用データを更新する場合、検証用データ更新部340は、検証用データが表わす数値に所定の増分値(例えば1)を加算した和を算出する。検証用データ更新部340は、検証用データ記憶部330が記憶した検証用データを、算出した和を表わすデータで更新する。検証用データ記憶部330は、古い検証用データを、更新された新しい検証用データで置き換えて記憶する。
 検証用データ更新部340は、検証用データが表わす数値が増加する速さが、一時鍵生成用データが表わす数値が増加する速さとほぼ同一になるように、検証用データを更新する。例えば、検証用データ更新部340は、管理装置100の一時鍵生成用データ更新部140が一時鍵生成用データを更新する周期と同じ周期で検証用データを更新し、一時鍵生成用データが表わす数値に管理装置100の一時鍵生成用データ更新部140が加算する増分値と同じ増分値を、検証用データが表わす数値に加算する。あるいは、検証用データ更新部340は、一時鍵生成用データの更新周期のn倍(nは、正の実数。)の周期で検証用データを更新し、一時鍵生成用データの増分値のn倍の増分値を、検証用データが表わす数値に加算する。
 一時鍵生成用データ取得部320は、暗号通信装置200の一時鍵生成用データ通知部250から通知された一時鍵生成用データを取得する。例えば、一時鍵生成用データ取得部320は、通信装置915を用いて、一時鍵生成用データ通知部250が送信した一時鍵生成用データを受信する。
 一時鍵生成用データ検証部350は、処理装置911を用いて、一時鍵生成用データ取得部320が取得した一時鍵生成用データを検証する。一時鍵生成用データ検証部350は、検証用データ記憶部330が記憶した検証用データを使って、一時鍵生成用データ取得部320が取得した一時鍵生成用データが有効であるか否かを判定する。
 例えば、一時鍵生成用データ検証部350は、一時鍵生成用データが表わす数値と、検証用データが表わす数値とを比較する。一時鍵生成用データが表わす数値が、検証用データが表わす数値以上である場合、一時鍵生成用データ検証部350は、一時鍵生成用データが有効であると判定する。一時鍵生成用データが表わす数値が、検証用データが表わす数値よりも小さい場合、一時鍵生成用データ検証部350は、一時鍵生成用データが有効でないと判定する。
 一時鍵生成用データ取得部320が取得した一時鍵生成用データが有効であると一時鍵生成用データ検証部350が判定した場合、検証用データ記憶部330は、記憶装置914を用いて、有効であると一時鍵生成用データ検証部350が判定した一時鍵生成用データを、検証用データとして記憶する。
 初期状態において、検証用データ記憶部330は、例えば、一時鍵生成用データが表わす数値の最小値を表わすデータを、最初の検証用データとして記憶しておく。この時点において、検証用データ記憶部330が記憶している検証用データが表わす数値は、必ず、管理装置100の一時鍵生成用データ記憶部130が記憶している一時鍵生成用データが表わす数値以下である。
 検証用データ記憶部330が記憶した検証用データを検証用データ更新部340が更新することにより、検証用データが表わす数値が徐々に大きくなる。また、管理装置100の一時鍵生成用データ記憶部130が記憶した一時鍵生成用データを一時鍵生成用データ更新部140が更新することにより、一時鍵生成用データが表わす数値も徐々に大きくなる。両者が増加する速さはほぼ同じであるから、検証用データ記憶部330が記憶している検証用データが表わす数値は、常に、管理装置100の一時鍵生成用データ記憶部130が記憶している一時鍵生成用データが表わす数値以下である。
 したがって、暗号通信装置200の一時鍵生成用データ通知部250が暗号通信装置300に対して通知した一時鍵生成用データが最新のものであれば、一時鍵生成用データ検証部350は、一時鍵生成用データ取得部320が取得した一時鍵生成用データが有効であると判定する。また、最初の有効性判定時には、検証用データ記憶部330が記憶した検証用データが表わす数値と、管理装置100の一時鍵生成用データ記憶部130が記憶した一時鍵生成用データが表わす数値とが異なる可能性があり、その場合、暗号通信装置200の一時鍵生成用データ通知部250が暗号通信装置300に対して通知した一時鍵生成用データが必ずしも最新のものでなくても、一時鍵生成用データ検証部350は、一時鍵生成用データ取得部320が取得した一時鍵生成用データが有効であると判定する場合がある。
 一時鍵生成用データ取得部320が取得した一時鍵生成用データが有効であると一時鍵生成用データ検証部350が判定した場合、有効であると一時鍵生成用データ検証部350が判定した一時鍵生成用データを検証用データ記憶部330が検証用データとして記憶するので、暗号通信装置200の一時鍵生成用データ通知部250が暗号通信装置300に対して通知した一時鍵生成用データが最新のものであれば、その時点で、検証用データ記憶部330が記憶した検証用データと、管理装置100の一時鍵生成用データ記憶部130が記憶した一時鍵生成用データとが同じになる。すなわち、管理装置100と暗号通信装置300とが同期する。したがって、それ以降は、暗号通信装置200の一時鍵生成用データ通知部250が暗号通信装置300に対して通知した一時鍵生成用データが最新のものでなければ、一時鍵生成用データ検証部350は、一時鍵生成用データ取得部320が取得した一時鍵生成用データが有効であると判定しない。
 このような構成とすることにより、容易に、管理装置100と暗号通信装置300との間の同期を取ることができる。
 また、暗号通信装置300の時計の進み方が、管理装置100の時計の進み方より遅い場合、検証用データ記憶部330が記憶した検証用データが表わす数値が増加する速さが、管理装置100の一時鍵生成用データ記憶部130が記憶した一時鍵生成用データが表わす数値が増加する速さよりも遅くなる。しかし、最新の一時鍵生成用データを暗号通信装置200の一時鍵生成用データ通知部250が暗号通信装置300に対して通知するたびに、管理装置100と暗号通信装置300との間の同期が取られるので、検証用データ記憶部330が記憶した検証用データが表わす数値と、管理装置100の一時鍵生成用データ記憶部130が記憶した一時鍵生成用データが表わす数値との差が大きくなるのを防ぐことができる。
 一時鍵生成部360は、一時鍵生成用データ取得部320が取得した一時鍵生成用データが有効であると一時鍵生成用データ検証部350が判定した場合、処理装置911を用いて、一時鍵を生成する。一時鍵生成部360は、マスター鍵記憶部310が記憶したマスター鍵と、有効であると一時鍵生成用データ検証部350が判定した一時鍵生成用データとを使って、一時鍵を生成する。
 一時鍵生成部360が一時鍵を生成する方式は、以下の条件を満たす方式であれば、どのような方式であってもよい。
 第一の条件は、マスター鍵と一時鍵生成用データとの組が同じであれば、同一もしくは同類の一時鍵が生成されることである。
 第二の条件は、マスター鍵が、管理装置100の一時鍵生成部160が一時鍵の生成に使ったマスター鍵と同一の、又は、そのマスター鍵に対応するマスター鍵であり、一次鍵生成用データが、一時鍵生成部160が一時鍵の生成に使った一時鍵生成用データと同一であれば、一時鍵生成部160が生成した一時鍵と同一の、又は、その一時鍵に対応する一時鍵が生成されることである。逆に、それ以外の場合には、一時鍵生成部160が生成した一時鍵と同一でなく、かつ、一時鍵生成部160が生成した一時鍵に対応しない一時鍵が生成されることである。
 第三の条件は、一時鍵生成用データと、それを使って生成した一時鍵を使って生成した暗号文とから、一時鍵やマスター鍵が推測できないことである。これにより、一時鍵やマスター鍵の漏洩を防ぐことができる。
 例えば、一時鍵生成部360は、マスター鍵記憶部310が記憶したマスター鍵を使って、有効であると一時鍵生成用データ検証部350が判定した一時鍵生成用データを暗号化する。一時鍵生成部360は、暗号化した暗号文を一時鍵とする。
 あるいは、一時鍵生成部360は、一方向性を有するハッシュ関数を使って、マスター鍵記憶部310が記憶したマスター鍵と、有効であると一時鍵生成用データ検証部350が判定した一時鍵生成用データとをハッシュ関数の入力とし、ハッシュ値を算出する。一時鍵生成部360は、算出したハッシュ値を一時鍵とする。
 暗号通信部390は、一時鍵生成部360が生成した一時鍵を使って、暗号通信装置200との間で暗号通信をする。例えば、暗号通信部390は、通信装置915を用いて、暗号通信装置200の暗号通信部290が送信した暗号文を受信し、処理装置911を用いて、受信した暗号文を、一時鍵生成部360が生成した一時鍵を使って復号する。あるいは、暗号通信部390は、処理装置911を用いて、一時鍵生成部360が生成した一時鍵を使って暗号文を生成し、通信装置915を用いて、生成した暗号文を暗号通信装置200に対して送信する。
 マスター鍵記憶部310が記憶したマスター鍵は、管理装置100のマスター鍵記憶部110が記憶したマスター鍵と同一の、又は、そのマスター鍵に対応するマスター鍵である。また、一時鍵生成用データ取得部320が取得した一時鍵生成用データは、暗号通信装置200の暗号通信部290が暗号通信に使う一時鍵を管理装置100の一時鍵生成部160が生成するときに使った一時鍵生成用データと同一のデータである。したがって、一時鍵生成部360が生成する一時鍵は、暗号通信装置200の暗号通信部290が暗号通信に使う一時鍵と同一の、又は、その一時鍵に対応する一時鍵である。したがって、暗号通信部390は、暗号通信装置200の暗号通信部290が暗号化した暗号文を復号することができ、暗号通信装置200の暗号通信部290が復号できる暗号文を生成することができる。
 また、暗号通信装置200の一時鍵生成用データ記憶部230が記憶した一時鍵生成用データと、一時鍵記憶部270が記憶した一時鍵との組が漏洩し、一時鍵生成用データと一時鍵との組を入手した第三者が、暗号通信装置300と暗号通信をして、暗号通信装置300から情報を窃取しようとした場合について考える。
 検証用データ記憶部330が記憶した検証用データを検証用データ更新部340が更新すると、第三者が入手した一時鍵生成用データ及びそれを使って生成した一時鍵は、最新のものではなくなる。このため、第三者が入手した一時鍵生成用データを暗号通信装置300に対して通知しても、一時鍵生成用データ検証部350は、それを有効でないと判定する。これにより、第三者が暗号通信装置300と暗号通信をするのを防ぐことができる。
 次に、動作について説明する。
 暗号通信システム800における処理には、大きく分けて、初期化処理S601と、更新処理S602と、一時鍵通知処理S603と、暗号通信処理S604とがある。
 初期化処理S601において、管理装置100や暗号通信装置300が、マスター鍵、一時鍵生成用データ、検証用データなどを初期化する。
 更新処理S602において、管理装置100や暗号通信装置300が、一時鍵生成用データや検証用データを定期的に更新する。
 一時鍵通知処理S603において、管理装置100が一時鍵を生成し、生成した一時鍵を暗号通信装置200に対して通知する。
 暗号通信処理S604において、暗号通信装置200と暗号通信装置300とが暗号通信に使う一時鍵を合意して、暗号通信をする。
 図6は、この実施の形態における初期化処理S601の流れの一例を示すフロー図である。
 管理装置100は、初期化処理S601において、例えば、マスター鍵記憶工程S611と、一時鍵生成用データ初期化工程S612とを実行する。
 マスター鍵記憶工程S611において、管理装置100のマスター鍵記憶部110は、マスター鍵を取得する。
 例えば、管理装置100の外部にマスター鍵生成装置を設ける。マスター鍵記憶部110は、通信装置915を用いて、マスター鍵生成装置と通信することにより、マスター鍵生成装置が生成した管理装置100用のマスター鍵を取得する。あるいは、管理装置100の内部にマスター鍵生成部を設ける。マスター鍵記憶部110は、処理装置911を用いて、マスター鍵生成部が生成した管理装置100用のマスター鍵を取得する。
 マスター鍵記憶部110は、記憶装置914を用いて、取得したマスター鍵を記憶する。
 一時鍵生成用データ初期化工程S612において、管理装置100の一時鍵生成用データ記憶部130は、一時鍵生成用データを初期化する。
 例えば、一時鍵生成用データ記憶部130は、一時鍵生成用データの初期データを取得する。一時鍵生成用データ記憶部130が取得する初期データは、例えば、一時鍵生成用データが表わす数値の最小値を表わす。一時鍵生成用データ記憶部130は、記憶装置914を用いて、取得した初期データを、一時鍵生成用データとして記憶する。
 暗号通信装置300は、初期化処理S601において、例えば、マスター鍵記憶工程S631と、検証用データ初期化工程S632とを実行する。なお、暗号通信装置300は、管理装置100と無関係に初期化処理S601を実行する。すなわち、暗号通信装置300が初期化処理S601を実行するタイミングは、管理装置100が初期化処理S601を実行するタイミングと同じである必要はない。
 マスター鍵記憶工程S631において、暗号通信装置300のマスター鍵記憶部310は、マスター鍵記憶工程S611で管理装置100のマスター鍵記憶部110が記憶したマスター鍵と同一の、又は、そのマスター鍵に対応するマスター鍵を取得する。
 例えば、マスター鍵記憶部310は、通信装置915を用いて、マスター鍵生成装置と通信することにより、マスター鍵生成装置が生成した暗号通信装置300用のマスター鍵を取得する。あるいは、マスター鍵記憶部310は、通信装置915を用いて、管理装置100と通信することにより、管理装置100のマスター鍵生成部が生成した暗号通信装置300用のマスター鍵を取得する。
 マスター鍵記憶部310は、記憶装置914を用いて、取得したマスター鍵を記憶する。
 検証用データ初期化工程S632において、暗号通信装置300の検証用データ記憶部330は、検証用データを初期化する。
 例えば、検証用データ記憶部330は、検証用データの初期データを取得する。検証用データ記憶部330が取得する初期データは、例えば、一時鍵生成用データが表わす数値の最小値を表わす。検証用データ記憶部330は、記憶装置914を用いて、取得した初期データを、検証用データとして記憶する。
 図7は、この実施の形態における更新処理S602の流れの一例を示すフロー図である。
 管理装置100は、更新処理S602において、例えば、周期経過判定工程S613と、一時鍵生成用データ更新工程S614とを実行する。
 周期経過判定工程S613において、管理装置100の一時鍵生成用データ更新部140は、あらかじめ定められた更新周期が経過したか否かを判定する。例えば、一時鍵生成用データ更新部140は、処理装置911を用いて、前回の更新からの経過時間と更新周期とを比較して、経過時間が更新周期より大きい場合に、更新周期が経過したと判定する。
 更新周期が経過したと判定した場合、一時鍵生成用データ更新部140は、一時鍵生成用データ更新工程S614へ処理を進める。
 一時鍵生成用データ更新工程S614において、管理装置100の一時鍵生成用データ更新部140は、一時鍵生成用データを更新する。
 例えば、一時鍵生成用データ更新部140は、処理装置911を用いて、一時鍵生成用データ記憶部130が記憶した一時鍵生成用データを取得する。一時鍵生成用データ更新部140は、処理装置911を用いて、取得した一時鍵生成用データが表わす数値と、あらかじめ定められた増分値とを合計した合計値を算出する。一時鍵生成用データ更新部140は、算出した合計値を表わすデータを使って、一時鍵生成用データ記憶部130が記憶した一時鍵生成用データを更新する。一時鍵生成用データ記憶部130は、古い一時鍵生成用データに代えて、新しく一時鍵生成用データ更新部140が算出した合計値を表わすデータを、記憶装置914を用いて、一時鍵生成用データとして記憶する。
 その後、一時鍵生成用データ更新部140は、周期経過判定工程S613に処理を戻し、次の更新周期が経過するのを待つ。
 暗号通信装置300は、更新処理S602において、例えば、周期経過判定工程S633と、検証用データ更新工程S634とを実行する。なお、暗号通信装置300は、管理装置100と無関係に更新処理S602を実行する。すなわち、暗号通信装置300が更新処理S602を実行するタイミングは、管理装置100が更新処理S602を実行するタイミングと同じである必要はない。
 周期経過判定工程S633において、暗号通信装置300の検証用データ更新部340は、あらかじめ定められた更新周期が経過したか否かを判定する。例えば、検証用データ更新部340は、処理装置911を用いて、前回の更新からの経過時間と更新周期とを比較して、経過時間が更新周期より大きい場合に、更新周期が経過したと判定する。
 更新周期が経過したと判定した場合、検証用データ更新部340は、検証用データ更新工程S634へ処理を進める。
 検証用データ更新工程S634において、暗号通信装置300の検証用データ更新部340は、検証用データを更新する。
 例えば、検証用データ更新部340は、処理装置911を用いて、検証用データ記憶部330が記憶した検証用データを取得する。検証用データ更新部340は、処理装置911を用いて、取得した検証用データが表わす数値と、あらかじめ定められた増分値とを合計した合計値を算出する。検証用データ更新部340は、算出した合計値を表わすデータを使って、検証用データ記憶部330が記憶した検証用データを更新する。検証用データ記憶部330は、古い検証用データに代えて、新しく検証用データ更新部340が算出した合計値を表わすデータを、記憶装置914を用いて、検証用データとして記憶する。
 その後、検証用データ更新部340は、周期経過判定工程S633に処理を戻し、次の更新周期が経過するのを待つ。
 図8は、この実施の形態における一時鍵通知処理S603の流れの一例を示すフロー図である。
 管理装置100は、一時鍵通知処理S603において、例えば、一時鍵要求受付工程S615と、一時鍵生成工程S616と、一時鍵通知工程S618と、一時鍵生成用データ通知工程S619とを実行する。
 また、暗号通信装置200は、一時鍵通知処理S603において、例えば、一時鍵要求工程S621と、一時鍵取得工程S622と、一時鍵生成用データ取得工程S623とを実行する。
 一時鍵要求工程S621において、暗号通信装置200の一時鍵取得部260は、管理装置100に対して、一時鍵を要求する。例えば、一時鍵取得部260は、通信装置915を用いて、一時鍵を要求する一時鍵要求メッセージを管理装置100に対して送信する。
 一時鍵要求受付工程S615において、管理装置100の一時鍵通知部170は、暗号通信装置200からの要求を受け付ける。例えば、一時鍵通知部170は、通信装置915を用いて、暗号通信装置200の一時鍵取得部260が送信した一時鍵要求メッセージを受信する。
 なお、暗号通信装置200に対して一時鍵を通知してよいか否かを確認するため、管理装置100が暗号通信装置200を認証する構成であってもよい。例えば、暗号通信装置200に認証情報入力部を設け、管理装置100に認証情報検証部を設ける。暗号通信装置200の認証情報入力部は、入力装置912を用いて、利用者の指紋などの生体情報やパスワードなどの認証情報を入力する。暗号通信装置200の一時鍵取得部260は、処理装置911を用いて、認証情報入力部が入力した認証情報を含む一時鍵要求メッセージを生成する。管理装置100の認証情報検証部は、処理装置911を用いて、暗号通信装置200から通知された一時鍵要求メッセージに含まれる認証情報を検証することにより、暗号通信装置200を認証する。認証に失敗した場合、管理装置100は、以後の工程を実行せず、一時鍵通知処理S603を終了する。これにより、正規の利用者以外の者が暗号通信装置200を操作している場合に、暗号通信装置200に対して管理装置100が一時鍵を通知するのを防ぐことができる。
 一時鍵生成工程S616において、管理装置100の一時鍵生成部160は、処理装置911を用いて、マスター鍵記憶部110が記憶したマスター鍵と、一時鍵生成用データ記憶部130が記憶した一時鍵生成用データとに基づいて、一時鍵を生成する。
 一時鍵通知工程S618において、管理装置100の一時鍵通知部170は、一時鍵生成工程S616で一時鍵生成部160が生成した一時鍵を暗号通信装置200に対して通知する。
 一時鍵取得工程S622において、暗号通信装置200の一時鍵取得部260は、一時鍵通知工程S618で管理装置100の一時鍵通知部170が通知した一時鍵を取得する。暗号通信装置200の一時鍵記憶部270は、記憶装置914を用いて、一時鍵取得部260が取得した一時鍵を記憶する。
 一時鍵生成用データ通知工程S619において、管理装置100の一時鍵生成用データ通知部150は、一時鍵通知工程S618で一時鍵通知部170が暗号通信装置200に対して通知した一時鍵を、一時鍵生成工程S616で一時鍵生成部160が生成するときに使った一時鍵生成用データを暗号通信装置200に対して通知する。
 一時鍵生成用データ取得工程S623において、暗号通信装置200の一時鍵生成用データ取得部220は、一時鍵生成用データ通知工程S619で管理装置100の一時鍵生成用データ通知部150が通知した一時鍵生成用データを取得する。暗号通信装置200の一時鍵生成用データ記憶部230は、記憶装置914を用いて、一時鍵生成用データ取得部220が取得した一時鍵生成用データを記憶する。
 図9は、この実施の形態における暗号通信処理S604の流れの一例を示すフロー図である。
 暗号通信装置200は、暗号通信処理S604において、例えば、一時鍵生成用データ通知工程S624と、暗号通信工程S625とを実行する。
 また、暗号通信装置300は、暗号通信処理S604において、例えば、一時鍵生成用データ取得工程S635と、一時鍵生成用データ検証工程S636と、一時鍵生成工程S637と、暗号通信工程S638とを実行する。
 一時鍵生成用データ通知工程S624において、暗号通信装置200の一時鍵生成用データ通知部250は、一時鍵生成用データ記憶部230が記憶した一時鍵生成用データを暗号通信装置300に対して通知する。
 一時鍵生成用データ取得工程S635において、暗号通信装置300の一時鍵生成用データ取得部320は、一時鍵生成用データ通知工程S624で暗号通信装置200の一時鍵生成用データ通知部250が通知した一時鍵生成用データを取得する。
 なお、暗号通信装置200は、一時鍵生成用データだけでなく、暗号通信装置200を識別する識別データや認証情報など、暗号通信装置300との間で暗号通信を開始するために必要な情報を、暗号通信装置300に対して通知する構成であってもよい。
 一時鍵生成用データ検証工程S636において、暗号通信装置300の一時鍵生成用データ検証部350は、処理装置911を用いて、検証用データ記憶部330が記憶した検証用データと、一時鍵生成用データ取得部320が取得した一時鍵生成用データとに基づいて、一時鍵生成用データが有効であるか否かを判定する。
 一時鍵生成用データが有効でないと一時鍵生成用データ検証部350が判定した場合、暗号通信装置300は、それ以後の工程を実行せず、暗号通信処理S604を終了する。
 一時鍵生成用データが有効であると一時鍵生成用データ検証部350が判定した場合、検証用データ記憶部330は、記憶装置914を用いて、それまで記憶していた検証用データに代えて、有効であると一時鍵生成用データ検証部350が判定した一時鍵生成用データを、新たな検証用データとして記憶する。これにより、管理装置100と暗号通信装置300とが、緩やかに同期する。
 なお、暗号通信装置300は、検証結果を暗号通信装置200に対して通知する構成であってもよい。また、暗号通信装置300は、検証結果だけでなく、暗号通信装置300を識別する識別データや認証情報など、暗号通信装置200との間で暗号通信を開始するために必要な情報を暗号通信装置200に対して送信する構成であってもよい。
 一時鍵生成工程S637において、暗号通信装置300の一時鍵生成部360は、処理装置911を用いて、マスター鍵記憶部310が記憶したマスター鍵と、有効であると一時鍵生成用データ検証部350が判定した一時鍵生成用データとに基づいて、一時鍵を生成する。
 暗号通信工程S625において、暗号通信装置200の暗号通信部290は、一時鍵記憶部270が記憶した一時鍵を使って、暗号通信装置300との間で暗号通信をする。
 暗号通信工程S638において、暗号通信装置300の暗号通信部390は、一時鍵生成工程S637で一時鍵生成部360が生成した一時鍵を使って、暗号通信装置200との間で暗号通信をする。
 例えば、暗号通信装置200の暗号通信部290は、処理装置911を用いて、一時鍵記憶部270が記憶した一時鍵を使って暗号文を生成し、通信装置915を用いて、生成した暗号文を暗号通信装置300に対して送信する。暗号通信装置300の暗号通信部390は、通信装置915を用いて、暗号通信装置200が送信した暗号文を受信し、処理装置911を用いて、一時鍵生成部360が生成した一時鍵を使って暗号文を復号する。また、暗号通信装置300の暗号通信部390は、処理装置911を用いて、一時鍵生成部360が生成した一時鍵を使って暗号文を生成し、通信装置915を用いて、生成した暗号文を暗号通信装置200に対して送信する。暗号通信装置200の暗号通信部290は、通信装置915を用いて、暗号通信装置300が送信した暗号文を受信し、処理装置911を用いて、一時鍵記憶部270が記憶した一時鍵を使って、受信した暗号文を復号する。
 なお、すぐに暗号通信を開始するのではなく、暗号通信を開始するために必要な情報を、合意された一時鍵を使って暗号化して、暗号通信装置200と暗号通信装置300との間でやり取りする構成であってもよい。例えば、暗号通信装置200と暗号通信装置300とは、やり取りした情報に基づいて相互認証をする。あるいは、暗号通信装置200と暗号通信装置300とは、やり取りした情報に基づいて、暗号通信に使う鍵を合意し、合意した鍵を使って暗号通信をする。
 以上のように、一時鍵生成用データの有効性を判定することにより、古い一時鍵を使って、暗号通信装置200と暗号通信装置300とが暗号通信をするのを防ぐことができる。
 例えば、暗号通信装置200が小型で携帯可能である場合、暗号通信装置200の正当な利用者が暗号通信装置200を紛失し、第三者が暗号通信装置200を拾得して悪用する可能性がある。検証用データの更新により、第三者が拾得した暗号通信装置200に保存されている一時鍵が古いものになれば、その暗号通信装置200は、暗号通信装置300との間で暗号通信をすることができない。このため、暗号通信装置300から情報が漏洩するのを防ぐことができる。また、暗号通信装置200には、一時鍵と一時鍵生成用データとが保存されているが、マスター鍵は保存されていない。一時鍵と一時鍵生成用データとからマスター鍵を推測することはできないので、暗号通信装置200を拾得した第三者が、暗号通信装置200から一時鍵や一時鍵生成用データを取り出したとしても、マスター鍵が漏洩することはない。
 実施の形態2.
 実施の形態2について、説明する。
 なお、実施の形態1と共通する部分については、同一の符号を付し、説明を省略する。
 この実施の形態における暗号通信システム800の全体構成、管理装置100や暗号通信装置200,300のハードウェア構成及びブロック構成は、実施の形態1と同様なので、異なる部分のみ説明する。
 暗号通信装置300において、一時鍵生成用データ取得部320が取得した一時鍵生成用データが有効であると一時鍵生成用データ検証部350が判定し、検証用データ記憶部330が、その一時鍵生成用データを検証用データとして記憶した場合、検証用データ更新部340は、前回の更新からの経過時間をリセットする。すなわち、検証用データ更新部340は、検証用データ記憶部330が一時鍵生成用データを検証用データとして記憶してからの経過時間が所定の更新周期に達したときに、検証用データ記憶部330が記憶した検証用データを更新する。
 暗号通信装置300の時計が正確でなく、暗号通信装置300の時計の進み方が管理装置100の時計の進み方より速い場合、検証用データ記憶部330が記憶した検証用データが表わす数値が増加する速さが、管理装置100の一時鍵生成用データ記憶部130が記憶した一時鍵生成用データが表わす数値が増加する速さよりも速くなる。そのままだと、いずれは、検証用データ記憶部330が記憶した検証用データが表わす数値が、管理装置100の一時鍵生成用データ記憶部130が記憶した一時鍵生成用データが表わす数値よりも大きくなり、最新の一時鍵生成用データであっても、一時鍵生成用データ検証部350が有効でないと判定するので、暗号通信装置200と暗号通信装置300との間の暗号通信ができなくなる。
 暗号通信装置200が暗号通信装置300に対して通知した一時鍵生成用データが有効であると一時鍵生成用データ検証部350が判定した時点において、管理装置100では、一時鍵生成用データ記憶部130が記憶した一時鍵生成用データを一時鍵生成用データ更新部140が更新してからある程度の時間が既に経過している。したがって、暗号通信装置300において、その時点から検証用データ更新部340が経過時間を測り直せば、次回の検証用データの更新は、管理装置100における一時鍵生成用データの更新よりも遅くなる。したがって、ある程度定期的に暗号通信装置200と暗号通信装置300とが通信をすれば、暗号通信装置300の時計の進み方が管理装置100の時計の進み方より速い場合でも、検証用データ記憶部330が記憶した検証用データが表わす数値が増加する速さが、一時鍵生成用データ記憶部130が記憶した一時鍵生成用データが表わす数値が増加する速さより速くなるのを防ぐことができる。
 実施の形態3.
 実施の形態3について、図10~図19を用いて説明する。
 なお、実施の形態1または実施の形態2と共通する部分については、同一の符号を付し、説明を省略する。
 図10は、この実施の形態における自動検針システム801の全体構成の一例を示す図である。
 自動検針システム801(暗号通信システム)は、例えば、管理サーバ101と、携帯端末201と、検針メータ301とを有する。
 検針メータ301と携帯端末201とは、無線網802を使って通信する。携帯端末201と管理サーバ101とは、公衆網803を使って通信する。携帯端末201と管理サーバ101との通信は、例えばSSL(Secure Socket Layer)などの安全な通信路を用いる。無線通信と公衆網通信とは、必ずしも同時に行う必要はない。
 なお、携帯端末201や検針メータ301は、通常、複数存在する。
 管理サーバ101、携帯端末201及び検針メータ301のハードウェア構成は、例えば、実施の形態1で説明した管理装置100や暗号通信装置200や暗号通信装置300と同様である。
 図11は、この実施の形態における管理サーバ101の機能ブロックの一例を示す図である。
 管理サーバ101(管理装置)は、例えば、マスター鍵記憶部111と、世代番号カウンタ131と、鍵情報管理部161とを有する。
 マスター鍵記憶部111は、マスター鍵411(第一マスター鍵)を記憶している。マスター鍵411は、共通鍵暗号で使用する鍵であり、検針メータ301も同じ鍵を持っている。複数の検針メータ301がある場合、複数の検針メータ301で共通のマスター鍵を使う構成であってもよいし、検針メータ301ごとに異なる個別のマスター鍵を使う構成であってもよい。
 世代番号カウンタ131(一時鍵生成用データ記憶部)は、世代番号412(一時鍵生成用データ)を記憶している。世代番号カウンタ131(一時鍵生成用データ更新部)は、日付に同期して、世代番号412をインクリメントする。あるいは、世代番号カウンタ131は、一定期間(例えば24時間)が経過するごとに、世代番号412をインクリメントする構成であってもよい。
 鍵情報管理部161は、携帯端末201から一時鍵発行要求421を受信する。鍵情報管理部161は、世代番号カウンタ131から世代番号412を受け取る。鍵情報管理部161は、マスター鍵記憶部111からマスター鍵411を受け取る。鍵情報管理部161(一時鍵生成部)は、マスター鍵411と世代番号412とから一時鍵413(第一一時鍵)を生成する。鍵情報管理部161(一時鍵通知部・一時鍵生成用データ通知部)は、一時鍵413と世代番号412とを携帯端末201に対して送付する。
 図12は、この実施の形態における携帯端末201の機能ブロックの一例を示す図である。
 携帯端末201(第一暗号通信装置)は、例えば、対管理サーバ通信部221と、メッセージ生成部281と、対検針メータ通信部291とを有する。
 対管理サーバ通信部221は、管理サーバ101の鍵情報管理部161に対して一時鍵発行要求421を送出する。対管理サーバ通信部221は、パスワードや、指紋などのバイオメトリックスその他の認証情報を一時鍵発行要求421の一部として送付する構成であってもよい。また、対管理サーバ通信部221は、鍵種別情報422を一時鍵発行要求421として送付する。鍵種別情報422は、使用する鍵の種別を示す。これにより、検針メータ301ごとにマスター鍵が異なる場合などにおいて、用途に応じて複数の鍵を使い分けることができる。
 対管理サーバ通信部221(一時鍵取得部・一時鍵生成用データ取得部)は、管理サーバ101から一時鍵413と世代番号412とを受信する。対管理サーバ通信部221は、受信した一時鍵413と世代番号412とを、対検針メータ通信部291に渡す。
 メッセージ生成部281は、検針メータ301に対するメッセージ423を生成する。
 対検針メータ通信部291は、検針メータ301と通信する。
 例えば、対検針メータ通信部291は、メッセージ生成部281が生成したメッセージ423を受け取る。対検針メータ通信部291は、メッセージ423を一時鍵413で暗号化する。対検針メータ通信部291は、メッセージ識別子を生成する。対検針メータ通信部291は、メッセージ423を暗号化した暗号文と、メッセージ識別子と、世代番号412とを連接して暗号化メッセージ424を生成する。対検針メータ通信部291(一時鍵生成用データ通知部・暗号通信部)は、暗号化メッセージ424を検針メータ301に対して送付する。
 また、対検針メータ通信部291(暗号通信部)は、検針メータ301から暗号化応答434を受信する。対検針メータ通信部291は、暗号化応答434を一時鍵413で復号する。
 図13は、この実施の形態における検針メータ301の機能ブロックの一例を示す図である。
 検針メータ301(第二暗号通信装置)は、例えば、マスター鍵記憶部311と、世代番号カウンタ331と、メッセージ処理部381と、対携帯端末通信部391とを有する。
 マスター鍵記憶部311は、マスター鍵431(第二マスター鍵)を記憶している。
 世代番号カウンタ331(検証用データ記憶部)は、世代番号432(検証用データ)を記憶している。世代番号カウンタ331(検証用データ更新部)は、日付に同期して、世代番号432をインクリメントする。あるいは、世代番号カウンタ331は、一定期間(例えば24時間)が経過するごとに、世代番号432をインクリメントする構成であってもよい。
 対携帯端末通信部391は、携帯端末201と通信する。
 例えば、対携帯端末通信部391(一時鍵生成用データ取得部)は、暗号化メッセージ424を受信する。対携帯端末通信部391は、世代番号カウンタ331から世代番号432を取得する。対携帯端末通信部391(一時鍵生成用データ検証部)は、世代番号432と、暗号化メッセージ424に含まれる世代番号412とを比較する。
 世代番号432が世代番号412より新しい場合、対携帯端末通信部391は、暗号化メッセージ424を破棄し、暗号化応答434としてエラーメッセージを携帯端末201に対して送付する。
 世代番号432が世代番号412と同じか、世代番号412より古い場合、対携帯端末通信部391は、マスター鍵記憶部311からマスター鍵431を取得する。対携帯端末通信部391(一時鍵生成部)は、世代番号412とマスター鍵431とから一時鍵(第二一時鍵)を生成する。対携帯端末通信部391は、一時鍵413と同じ鍵を生成する。対携帯端末通信部391(暗号通信部)は、生成した一時鍵で暗号化メッセージ424を復号し、メッセージ423を再現する。対携帯端末通信部391は、再現したメッセージ423を検証する。
 検証に成功した場合、対携帯端末通信部391は、メッセージ423をメッセージ処理部381に対して送付する。また、世代番号432が世代番号412より古い場合、対携帯端末通信部391は、世代番号412を世代番号カウンタ331に上書きする。
 あるいは、対携帯端末通信部391は、メッセージ処理部381が生成した応答433を受信する。対携帯端末通信部391は、世代番号カウンタ331から世代番号432を取得する。対携帯端末通信部391は、マスター鍵記憶部311からマスター鍵431を取得する。対携帯端末通信部391(一時鍵生成部)は、世代番号432とマスター鍵431とから一時鍵(第二一時鍵)を生成する。対携帯端末通信部391(暗号通信部)は、応答433を暗号化する。対携帯端末通信部391は、メッセージ認証子を生成する。対携帯端末通信部391は、暗号化応答434を生成する。対携帯端末通信部391は、暗号化応答434を携帯端末201の対検針メータ通信部291に対して送付する。
 メッセージ処理部381は、対検針メータ通信部291が復号したメッセージ423を処理し、応答433を生成する。メッセージ処理部381は、応答433を対携帯端末通信部391に対して送付する。
 図14は、この実施の形態の管理サーバ101における鍵情報管理部161の詳細な機能ブロックの一例を示す図である。
 鍵情報管理部161は、例えば、認証部162と、マスター鍵選択部163と、一時鍵生成部164と、出力判定部171とを有する。
 認証部162は、携帯端末201(対管理サーバ通信部221)から一時鍵発行要求421を受信する。認証部162は、一時鍵発行要求421に含まれる認証情報に基づいて、一時鍵発行要求421を処理するか否かを決定する。例えば、認証部162は、認証情報に基づいて送信者の認証を行う。一時鍵発行要求421を処理しないと決定した場合、認証部162は、鍵を出力しない旨を表わす出力判定信号414を出力判定部171に対して出力する。一時鍵発行要求421を処理すると決定した場合、認証部162は、一時鍵発行要求421から鍵種別情報422を分離する。認証部162は、鍵種別情報422をマスター鍵選択部163に渡す。
 なお、認証を行わない場合、認証部162はなくてもよい。
 認証部162は、マスター鍵選択部163は、鍵種別情報422に基づいて、マスター鍵記憶部111が記憶した複数のマスター鍵411のなかから、一時鍵の生成に使うマスター鍵411を選択する。マスター鍵記憶部111が記憶した複数のマスター鍵411のなかに、鍵種別情報422に対応するマスター鍵411が存在しない場合、マスター鍵選択部163は、鍵を出力しない旨を表わす出力判定信号414を出力判定部171に対して出力する。
 なお、マスター鍵記憶部111が記憶したマスター鍵411が一種類である場合、マスター鍵選択部163はなくてもよい。
 一時鍵生成部164は、マスター鍵選択部163が選択したマスター鍵411と、世代番号カウンタ131が記憶した世代番号412とを取得する。一時鍵生成部164は、マスター鍵411と世代番号412とに基づいて、一時鍵413を生成する。例えば、一時鍵生成部164は、一時鍵413として、所定の暗号化方式によって世代番号412をマスター鍵411で暗号化したデータを生成する。あるいは、一時鍵生成部164は、一時鍵413として、世代番号412とマスター鍵411とを入力とした鍵付きハッシュ関数でハッシュ値を生成する。なお、一時鍵生成部164が一時鍵413の生成に使う鍵生成方式は、世代番号412とマスター鍵411とから一時鍵413が一意に生成されること、及び、一時鍵413と世代番号412とからマスター鍵411が推定されないことが必要である。
 世代番号カウンタ131は、世代番号412を保有している。一定期間(例えば1日)が過ぎると、世代番号カウンタ131は、世代番号412を1つ増加する。
 出力判定部171(一時鍵通知部・一時鍵生成用データ通知部)は、一時鍵生成部164が生成した一時鍵413と世代番号412とを出力するか否かを判定する。
 鍵を出力しない旨を表わす出力判定信号414を認証部162やマスター鍵選択部163から受信した場合、出力判定部171は、一時鍵413と世代番号412とを出力しない。なお、出力判定部171は、その代わりとして、所定のエラーコードを携帯端末201(対管理サーバ通信部221)に対して出力する構成であってもよい。
 鍵を出力しない旨を表わす出力判定信号414を認証部162やマスター鍵選択部163から受信しない場合、出力判定部171は、一時鍵413と世代番号412とを携帯端末201(対管理サーバ通信部221)に対して出力する。
 図15は、この実施の形態の携帯端末201における対管理サーバ通信部221の詳細な機能ブロックの一例を示す図である。
 対管理サーバ通信部221は、例えば、一時鍵発行要求生成部222と、一時鍵情報取得部223とを有する。
 一時鍵発行要求生成部222は、例えば、入力装置912から、鍵種別情報422と、認証情報425とを受け取る。入力装置912は、例えば、キーボードのような文字列入力装置である。あるいは、入力装置912は、指紋読取装置のようなバイオメトリック情報を取得する装置である。一時鍵発行要求生成部222は、記憶装置914の所定の記憶領域に鍵種別情報422を記憶しておく。
 一時鍵発行要求生成部222は、取得した認証情報425と鍵種別情報422とに基づいて、一時鍵発行要求421を生成する。一時鍵発行要求生成部222が生成する一時鍵発行要求421は、認証情報425と、鍵種別情報422とを含む。
 一時鍵発行要求生成部222は、一時鍵発行要求421を管理サーバ101(鍵情報管理部161)に対して送付する。
 なお、管理サーバ101が利用者認証を行わない場合、一時鍵発行要求生成部222は、認証情報425を取得しない構成であってもよい。その場合、一時鍵発行要求421は、認証情報425を含まない構成であってもよい。
 また、使用する鍵が一種類である場合、一時鍵発行要求生成部222は、鍵種別情報422を入力装置912から取得しない構成であってもよい。その場合、一時鍵発行要求生成部222は、鍵種別情報422を内部で生成する構成であってもよい。あるいは、一時鍵発行要求421は、鍵種別情報422を含まない構成であってもよい。
 一時鍵発行要求421に対する応答を管理サーバ101から受信した場合、一時鍵発行要求生成部222は、鍵種別情報422を対検針メータ通信部291に対して送付する。
 一時鍵情報取得部223(一時鍵取得部・一時鍵生成用データ取得部)は、管理サーバ101から一時鍵413と世代番号412とを受信する。一時鍵情報取得部223は、一時鍵413と世代番号412とを対検針メータ通信部291に対して送付する。
 図16は、この実施の形態の携帯端末201における対検針メータ通信部291の詳細な機能ブロックの一例を示す図である。
 対検針メータ通信部291は、例えば、暗号化部292と、多重化部293と、分離部294と、復号部295と、受信判定部296とを有する。
 メッセージ生成部281は、携帯端末201に対して送信するメッセージ423を生成する。メッセージ生成部281は、メッセージ423を暗号化部292に対して送付する。
 暗号化部292は、対管理サーバ通信部221から一時鍵413を受信する。暗号化部292は、メッセージ423を一時鍵413で暗号化する。暗号化部292は、メッセージ認証子を生成する。暗号化部292は、暗号文426を生成する。暗号文426は、メッセージ423を暗号化した暗号文本体と、メッセージ認証子とを含む。
 例えば、暗号化部292は、AES(Advanced Encryption Standard)やTDES(Triple Data Encryption Standard)などの共通鍵暗号を所定の利用モードで実行して、メッセージ423を暗号化する。
 また、例えば、暗号化部292は、AESやTDESなどの共通鍵暗号を所定の利用モードで実行して、メッセージ認証子を生成する。あるいは、暗号化部292は、鍵付き暗号ハッシュなどを実行して、メッセージ認証子を生成する。
 多重化部293は、対管理サーバ通信部221から鍵種別情報422と鍵種別情報422とを受信する。多重化部293は、鍵種別情報422と、世代番号412と、暗号文426とを多重化して、暗号化メッセージ424を生成する。多重化部293(一時鍵生成用データ通知部、暗号通信部)は、暗号化メッセージ424を携帯端末201(対検針メータ通信部291)に対して送付する。
 分離部294は、携帯端末201(対検針メータ通信部291)から暗号化応答434を受信する。分離部294は、暗号化応答434を暗号文436と世代番号432とに分離する。
 復号部295は、対管理サーバ通信部221から一時鍵413を受信する。復号部295は、一時鍵413を用いて、暗号文436を復号して、応答433を生成する。復号部295は、検針メータ301における対携帯端末通信部391が使用した暗号化方式に対応する復号方式を使って、暗号文436を復号する。
 また、復号部295は、暗号文436のメッセージ検証をして、検証結果427を生成する。復号部295は、検針メータ301における対携帯端末通信部391が使用したメッセージ認証子生成方式に対応する検証方式を使って、暗号文436を検証する。
 復号部295は、応答433と検証結果427とを出力する。
 受信判定部296は、対管理サーバ通信部221から世代番号412を受信する。受信判定部296は、世代番号412と、世代番号432と、検証結果427とに基づいて、出力判定をする。判定基準は、以下のとおりである。
 ・復号部295がメッセージ検証に失敗した場合、応答433を出力しない。
 ・世代番号432が世代番号412より古い場合、応答433を出力しない。
 ・復号部295がメッセージ検証に成功し、かつ、世代番号432が世代番号412と同じか世代番号412より新しい場合、応答433を出力する。
 応答433を出力するという判定結果の場合、受信判定部296は、応答433をメッセージ生成部281に対して出力する。
 図17は、この実施の形態の検針メータ301における対携帯端末通信部391の詳細な機能ブロックの一例を示す図である。
 対携帯端末通信部391は、例えば、マスター鍵選択部363と、一時鍵生成部364と、暗号化部392と、多重化部393と、分離部394と、復号部395と、受信判定部396とを有する。
 分離部394は、携帯端末201(対検針メータ通信部291)から暗号化メッセージ424を受信する。分離部394は、暗号化メッセージ424を、鍵種別情報422と、暗号文426と、世代番号412とに分離する。
 マスター鍵選択部363は、鍵種別情報422に基づいて、マスター鍵記憶部311が記憶した複数のマスター鍵431のなかから、一時鍵435の生成に使用するマスター鍵431を選択する。
 一時鍵生成部364は、マスター鍵選択部363が選択したマスター鍵431と、世代番号412とから、一時鍵435を生成する。一時鍵生成部364は、管理サーバ101における鍵情報管理部161の一時鍵生成部164と同じ一時鍵生成方式により、一時鍵435を生成する。
 復号部395は、一時鍵435を用いて、暗号文426を復号して、メッセージ423を生成する。復号部395は、携帯端末201における対検針メータ通信部291の暗号化部292が使用した暗号化方式に対応する復号方式を使って、暗号文426を復号する。
 また、復号部395は、暗号文426のメッセージ検証をして、検証結果437を生成する。復号部395は、携帯端末201における対検針メータ通信部291の暗号化部292が使用したメッセージ認証子生成方式に対応する検証方式を使って、暗号文426を検証する。
 復号部395は、暗号文426と検証結果437とを出力する。
 受信判定部396は、世代番号カウンタ331から世代番号432を取得する。受信判定部396は、世代番号432と世代番号412と検証結果437とに基づいて、出力判定をする。判定基準は、以下のとおりである。
 ・復号部395がメッセージ検証に失敗した場合、メッセージ423を出力しない。
 ・世代番号412が世代番号432より古い場合、メッセージ423を出力しない。
 ・復号部395がメッセージ検証に成功し、かつ、世代番号412が世代番号432と同じか世代番号432より新しい場合、メッセージ423を出力する。
 メッセージ423を出力すると判定した場合、受信判定部396は、メッセージ423をメッセージ処理部381に対して出力する。
 また、メッセージ検証に成功し、かつ、世代番号412が世代番号432より新しい場合、受信判定部396は、世代番号カウンタ331が記憶した値を世代番号412に書き換える。
 世代番号カウンタ331は、保持する世代番号432が変更されてから一定期間(例えば1日)が経過すると、保有している世代番号432を1つ増加する。
 暗号化部392は、メッセージ処理部381から応答433を受信する。暗号化部392は、一時鍵435を用いて、応答433を暗号化する。また、暗号化部392は、メッセージ認証子を生成する。暗号化部392は、暗号文436を生成する。暗号化部392は、例えば、携帯端末201における対検針メータ通信部291の暗号化部292と同じ暗号化方式及びメッセージ認証子生成方式を使って、暗号文436を生成する。
 多重化部393は、鍵種別情報422と、世代番号432と、暗号文436とを多重化して、暗号化応答434を生成する。多重化部393は、暗号化応答434を携帯端末201(対検針メータ通信部291)に対して送付する。
 次に、動作について説明する。
 図18は、この実施の形態における一時鍵通知処理S603の流れの一例を示すフロー図である。
 一時鍵通知処理S603は、例えば、一時鍵発行要求生成工程S641と、認証工程S642と、マスター鍵選択工程S643と、一時鍵生成工程S644と、出力工程S645と、一時鍵情報取得工程S646とを有する。
 一時鍵発行要求生成工程S641において、携帯端末201の一時鍵発行要求生成部222は、一時鍵発行要求421を生成する。一時鍵発行要求生成部222は、一時鍵発行要求421を管理サーバ101(鍵情報管理部161)に対して送信する。
 認証工程S642において、管理サーバ101の認証部162は、一時鍵発行要求421を受信する。認証部162は、一時鍵発行要求421を検証する。検証に失敗した場合、認証部162は、一時鍵通知処理S603を終了する。検証に成功した場合、認証部162は、一時鍵発行要求421から鍵種別情報422を分離して、マスター鍵選択工程S643へ処理を進める。
 マスター鍵選択工程S643において、管理サーバ101のマスター鍵選択部163は、鍵種別情報422に基づいて、マスター鍵411を選択する。鍵種別情報422が不正である場合、マスター鍵選択部163は、一時鍵通知処理S603を終了する。鍵種別情報422が正しい場合、マスター鍵選択部163は、一時鍵生成工程S644へ処理を進める。
 一時鍵生成工程S644において、管理サーバ101の一時鍵生成部164は、マスター鍵411と世代番号412とに基づいて、一時鍵413を生成する。
 出力工程S645において、管理サーバ101の出力判定部171は、一時鍵413と世代番号412とを携帯端末201(対管理サーバ通信部221)に対して送信する。
 一時鍵情報取得工程S646において、携帯端末201の一時鍵情報取得部223は、一時鍵413と世代番号412とを受信する。一時鍵情報取得部223は、一時鍵413と世代番号412とを対検針メータ通信部291に対して出力する。一時鍵発行要求生成部222は、鍵種別情報422を対検針メータ通信部291に対して出力する。
 なお、この時点で、管理サーバ101と携帯端末201との間の通信は、切断してもよい。
 図19は、この実施の形態における暗号通信処理S604の流れの一例を示すフロー図である。
 暗号通信処理S604は、例えば、暗号化工程S651と、多重化工程S652と、分離工程S653と、マスター鍵選択工程S654と、一時鍵生成工程S655と、復号工程S656と、受信判定工程S657と、メッセージ処理工程S660と、マスター鍵選択工程S671と、一時鍵生成工程S672と、暗号化工程S673と、多重化工程S674と、分離工程S675と、復号工程S676と、受信判定工程S677とを有する。
 暗号化工程S651において、携帯端末201の暗号化部292は、一時鍵413を使って、メッセージ423を暗号化し、暗号文426を生成する。
 多重化工程S652において、携帯端末201の多重化部293は、暗号文426と、世代番号412と、鍵種別情報422とを多重化して、暗号化メッセージ424を生成する。多重化部293は、暗号化メッセージ424を検針メータ301(対携帯端末通信部391)に対して送信する。
 分離工程S653において、検針メータ301の分離部394は、暗号化メッセージ424を受信する。分離部394は、暗号化メッセージ424を、暗号文426と世代番号412と鍵種別情報422とに分離する。
 マスター鍵選択工程S654において、検針メータ301のマスター鍵選択部363は、鍵種別情報422に基づいて、マスター鍵431を選択する。マスター鍵選択部363は、鍵種別情報422を記憶する。
 一時鍵生成工程S655において、検針メータ301の一時鍵生成部364は、マスター鍵431と世代番号412とに基づいて、一時鍵435を生成する。
 復号工程S656において、検針メータ301の復号部395は、一時鍵435を使って、暗号文426を復号し、メッセージ423と検証結果437とを生成する。
 受信判定工程S657において、検針メータ301の受信判定部396は、世代番号412と世代番号432と検証結果437とに基づいて、メッセージ423を出力するか否かを判定する。メッセージ423を出力しないと判定した場合、受信判定部396は、暗号通信処理S604を終了する。メッセージ423を出力すると判定した場合、受信判定部396は、メッセージ423を出力する。世代番号カウンタ331は、世代番号412を記憶する。
 メッセージ処理工程S660において、検針メータ301のメッセージ処理部381は、メッセージ423を処理し、応答433を生成する。
 マスター鍵選択工程S671において、検針メータ301のマスター鍵選択部363は、記憶していた鍵種別情報422に基づいて、マスター鍵431を選択する。マスター鍵選択部363は、選択したマスター鍵431と鍵種別情報422とを出力する。
 一時鍵生成工程S672において、検針メータ301の一時鍵生成部364は、マスター鍵431と世代番号432とに基づいて、一時鍵435を生成する。一時鍵生成工程S672で一時鍵生成部364が生成する一時鍵435は、一時鍵生成工程S655で一時鍵生成部364が生成した一時鍵435と同一である。
 暗号化工程S673において、検針メータ301の暗号化部392は、一時鍵生成工程S672で一時鍵生成部364が生成した一時鍵435を使って、応答433を暗号化し、暗号文436を生成する。なお、暗号化部392は、一時鍵生成工程S655で一時鍵生成部364が生成した一時鍵435を使って応答433を暗号化する構成であってもよい。その場合、マスター鍵選択工程S671及び一時鍵生成工程S672は、なくてもよい。
 多重化工程S674において、検針メータ301の多重化部393は、暗号文436と世代番号432と鍵種別情報422とを多重化して、暗号化応答434を生成する。多重化部393は、暗号化応答434を携帯端末201(対検針メータ通信部291)に対して送信する。
 分離工程S675において、携帯端末201の分離部294は、暗号化応答434を受信する。分離部294は、暗号化応答434を、暗号文436と世代番号432とに分離する。
 復号工程S676において、携帯端末201の復号部295は、暗号文436を復号して、応答433と検証結果427とを生成する。
 受信判定工程S677において、携帯端末201の受信判定部296は、世代番号432と世代番号412と検証結果427とに基づいて、応答433を出力するか否かを判定する。応答433を出力すると判定した場合、受信判定部296は、応答433をメッセージ生成部281に対して出力する。
 この実施の形態における通信装置(携帯端末201、検針メータ301)は、共通鍵暗号通信において、一時的に生成した暗号鍵を用いて通信する。
 通信装置は、予め装置間で共有しているマスター鍵と、一定期間で単調増加するカウンタとを保持し、前記カウンタからカウンタ値を取得し、前記マスター鍵と前記カウンタ値から一時鍵を生成し、前記一時鍵を用いて所定のメッセージに対しメッセージ認証子を生成し、前記カウンタ値と前記メッセージと前記メッセージ認証子とを送信する。
 通信装置(携帯端末201)は、前記一時鍵と前記カウンタ値を、公衆網経由で所定のサーバ(管理サーバ101)から取得し、前記一時鍵で所定のメッセージに対しメッセージ認証子を生成し、前記カウンタ値と前記メッセージと前記メッセージ認証子とを送信する。
 通信装置(携帯端末201、検針メータ301)は、メッセージを前記一時鍵で暗号化する。
 通信装置(携帯端末201、検針メータ301)は、他の通信装置によって送信されるメッセージを受信する。
 通信装置は、予め装置間で共有しているマスター鍵と、一定期間で単調増加するカウンタを保持し、前記マスター鍵と受信したカウンタ値から一時鍵を生成し、受信したメッセージの検証を行い、メッセージ検証に成功し、かつ前記カウンタから取得したカウンタ値より、受信したカウンタ値が同じか新しい場合に、当該メッセージを受理する。
 通信装置(検針メータ301)は、前記カウンタから取得したカウンタ値より、受信したカウンタ値が新しい場合に、前期カウンタの値を前記受信したカウンタ値に更新する。
 この実施の形態における自動検針システム801(暗号通信システム)は、マスター鍵と世代番号から一時鍵を生成し、暗号化に使用する。世代番号は一定期間ごとに更新されるため、一時鍵も更新可能となる。よって、携帯端末から鍵が漏洩しても、一定期間後に無効化できる。
 また、受信側となる携帯端末通信部は、送られてきた世代番号と自身の保持する世代番号とを比較する。よって、仮に一時鍵が漏洩しても、一時鍵に対応する世代番号が無効になった時点で当該一時鍵を使用することができない。
 さらに、検針メータ内の携帯端末通信部は、メッセージ検証に成功し、自身の保持する世代番号が送られてきた世代番号より古い場合は、自身の世代番号を書き換えるため、世代番号の同期を取ることができる。メッセージ検証を行なうため、仮に攻撃者が任意の世代番号を送っても、その不正を検知できる。
 実施の形態4.
 実施の形態4について、図20~図24を用いて説明する。
 なお、実施の形態1~実施の形態3と共通する部分については、同一の符号を付し、説明を省略する。
 図20は、この実施の形態における暗号通信システム800の全体構成の一例を示すシステム構成図である。
 暗号通信システム800は、複数の暗号通信装置500を有する。複数の暗号通信装置500は、互いに暗号通信をする。
 暗号通信装置500のハードウェア構成は、例えば、実施の形態1で説明した管理装置100や暗号通信装置200や暗号通信装置300と同様である。
 図21は、この実施の形態における暗号通信装置500の全体構成の一例を示すシステム構成図である。
 暗号通信装置500は、例えば、管理部102と、通信部202と、検証部302とを有する。
 管理部102(管理装置)は、マスター鍵や一時鍵生成用データを管理し、一時鍵を生成する。
 管理部102は、例えば、マスター鍵記憶部110と、一時鍵生成用データ記憶部130と、一時鍵生成用データ更新部140と、一時鍵生成部160とを有する。
 マスター鍵記憶部110は、記憶装置914を用いて、マスター鍵を記憶している。複数の暗号通信装置500において、マスター鍵記憶部110が記憶しているマスター鍵は、すべて同一である。
 一時鍵生成用データ記憶部130は、記憶装置914を用いて、一時鍵生成用データを記憶している。複数の暗号通信装置500において、一時鍵生成用データ記憶部130が記憶している一時鍵生成用データは、必ずしも同一でなくてよい。
 一時鍵生成用データ更新部140は、処理装置911を用いて、所定の周期が経過するごとに、一時鍵生成用データ記憶部130が記憶した一時鍵生成用データを、繰り返し更新する。
 一時鍵生成部160は、処理装置911を用いて、一時鍵を生成する。一時鍵生成部160は、マスター鍵記憶部110が記憶したマスター鍵と、一時鍵生成用データ記憶部130が記憶した一時鍵生成用データとを使って、一時鍵を生成する。
 通信部202(第一暗号通信装置)は、管理部102が一時鍵を生成するために使った一時鍵生成用データを他の暗号通信装置500に対して通知するとともに、管理部102が生成した一時鍵を使って、他の暗号通信装置500との間で暗号通信をする。
 通信部202は、例えば、一時鍵生成用データ通知部250と、暗号通信部290とを有する。
 一時鍵生成用データ通知部250は、一時鍵生成用データ記憶部130が記憶した一時鍵生成用データを他の暗号通信装置500に対して通知する。例えば、一時鍵生成用データ通知部250は、通信装置915を用いて、一時鍵生成用データを他の暗号通信装置500に対して送信する。
 暗号通信部290は、一時鍵生成部160が生成した一時鍵を使って、他の暗号通信装置500との間で暗号通信をする。例えば、暗号通信部290は、処理装置911を用いて、一時鍵生成部160が生成した一時鍵を使って暗号化した暗号文を生成し、通信装置915を用いて、他の暗号通信装置500に対して送信する。あるいは、暗号通信部290は、通信装置915を用いて、他の暗号通信装置500が送信した暗号文を受信し、処理装置911を用いて、一時鍵生成部160が生成した一時鍵を使って、受信した暗号文を復号する。
 検証部302は、他の暗号通信装置500から通知された一時鍵生成用データを検証する。
 検証部302は、例えば、一時鍵生成用データ取得部320と、一時鍵生成用データ検証部350とを有する。
 一時鍵生成用データ取得部320は、他の暗号通信装置500から通知された一時鍵生成用データを取得する。例えば、一時鍵生成用データ取得部320は、通信装置915を用いて、他の暗号通信装置500が送信した一時鍵生成用データを受信する。
 一時鍵生成用データ検証部350は、処理装置911を用いて、一時鍵生成用データ取得部320が取得した一時鍵生成用データが有効であるか否かを判定する。一時鍵生成用データ検証部350は、一時鍵生成用データ記憶部130(検証用データ記憶部)が記憶した一時鍵生成用データ(検証用データ)を使って、一時鍵生成用データ取得部320が取得した一時鍵生成用データが有効であるか否かを判定する。
 一時鍵生成用データ検証部350は、一時鍵生成用データ記憶部130が記憶した一時鍵生成用データと、一時鍵生成用データ取得部320が取得した一時鍵生成用データとを比較して、どちらが新しいかを判定する。
 一時鍵生成用データ取得部320が取得した一時鍵生成用データが、一時鍵生成用データ記憶部130が記憶した一時鍵生成用データより古い場合、一時鍵生成用データ検証部350は、一時鍵生成用データ取得部320が取得した一時鍵生成用データが有効でないと判定する。
 一時鍵生成用データ取得部320が取得した一時鍵生成用データが、一時鍵生成用データ記憶部130が記憶した一時鍵生成用データより新しい場合、一時鍵生成用データ検証部350は、一時鍵生成用データ取得部320が取得した一時鍵生成用データが有効であると判定する。
 また、が取得した一時鍵生成用データと、一時鍵生成用データ記憶部130が記憶した一時鍵生成用データとが同じ新しさである場合も、一時鍵生成用データ検証部350は、一時鍵生成用データ取得部320が取得した一時鍵生成用データが有効であると判定する。
 例えば、一時鍵生成用データは、数値を表わすデータであり、一時鍵生成用データ更新部140(検証用データ更新部)は、所定の周期が経過するごとに、一時鍵生成用データ記憶部130が記憶した一時鍵生成用データが表わす数値に所定の増分値を加えた和を算出する。一時鍵生成用データ更新部140は、算出した和を表わすデータで、一時鍵生成用データ記憶部130が記憶した一時鍵生成用データを更新する。一時鍵生成用データ記憶部130は、それまで記憶していた古い一時鍵生成用データに代えて、更新された新しい一時鍵生成用データを記憶する。複数の暗号通信装置500において、一時鍵生成用データが表わす数値が増加する速さがほぼ同じであれば、一時鍵生成用データ更新部140が一時鍵生成用データを更新する周期や一時鍵生成用データが表わす数値に加算する増分値は、必ずしも同じである必要はない。
 一時鍵生成用データ検証部350は、一時鍵生成用データ取得部320が取得した一時鍵生成用データが表わす数値と、一時鍵生成用データ記憶部130が記憶した一時鍵生成用データが表わす数値とを比較し、数値が大きいほうが新しいと判定する。
 一時鍵生成用データ取得部320が取得した一時鍵生成用データが有効であると一時鍵生成用データ検証部350が判定した場合、一時鍵生成用データ記憶部130は、それまで記憶していた古い一時鍵生成用データに代えて、有効であると一時鍵生成用データ検証部350が判定した一時鍵生成用データを記憶する。
 一時鍵生成部160は、更新された一時鍵生成用データに基づいて、一時鍵を生成する。暗号通信部290は、更新された一時鍵生成用データに基づいて一時鍵生成部160が生成した一時鍵を使って、一時鍵生成用データを通知してきた他の暗号通信装置500との間で暗号通信をする。
 次に、動作について説明する。
 暗号通信システム800における処理には、大きく分けて、初期化処理S601と、更新処理S602と、暗号通信処理S604とがある。
 初期化処理S601において、暗号通信装置500は、マスター鍵や一時鍵生成用データなどを初期化する。
 更新処理S602において、暗号通信装置500は、一時鍵生成用データを定期的に更新する。
 暗号通信処理S604において、暗号通信装置500は、他の暗号通信装置500との間で暗号通信に使う一時鍵を合意し、暗号通信をする。
 図22は、この実施の形態における初期化処理S601の流れの一例を示すフロー図である。
 初期化処理S601において、暗号通信装置500は、例えば、マスター鍵記憶工程S611と、一時鍵生成用データ初期化工程S612とを実行する。なお、複数の暗号通信装置500が初期化処理S601を実行するタイミングは、同じである必要はない。
 マスター鍵記憶工程S611において、暗号通信装置500のマスター鍵記憶部110は、マスター鍵を取得する。マスター鍵記憶部110は、記憶装置914を用いて、取得したマスター鍵を記憶する。
 一時鍵生成用データ初期化工程S612において、暗号通信装置500の一時鍵生成用データ記憶部130は、一時鍵生成用データを初期化する。
 図23は、この実施の形態における更新処理S602の流れの一例を示すフロー図である。
 更新処理S602において、暗号通信装置500は、例えば、周期経過判定工程S613と、一時鍵生成用データ更新工程S614とを実行する。
 周期経過判定工程S613において、暗号通信装置500の一時鍵生成用データ更新部140は、あらかじめ定められた更新周期が経過したか否かを判定する。
 更新周期が経過したと判定した場合、一時鍵生成用データ更新部140は、一時鍵生成用データ更新工程S614へ処理を進める。
 一時鍵生成用データ更新工程S614において、暗号通信装置500の一時鍵生成用データ更新部140は、一時鍵生成用データを更新する。
 その後、一時鍵生成用データ更新部140は、周期経過判定工程S613に処理を戻し、次の更新周期が経過するのを待つ。
 なお、一時鍵生成用データ更新部140は、一時鍵生成用データ更新部140による前回の更新時を起点として、更新周期が経過したか否かを判定する構成であってもよいし、前回の更新の後、有効であると一時鍵生成用データ検証部350が判定した一時鍵生成用データを一時鍵生成用データ記憶部130が記憶した場合、その時点を起点として、更新周期が経過したか否かを判定する構成であってもよい。
 図24は、この実施の形態における暗号通信処理S604の流れの一例を示すフロー図である。
 能動的に暗号通信を開始する側(以下「発呼側」と呼ぶ。)の暗号通信装置500は、暗号通信処理S604において、一時鍵生成工程S616と、一時鍵生成用データ通知工程S624と、一時鍵生成用データ取得工程S635bと、一時鍵生成用データ検証工程S636bと、一時鍵生成工程S637bと、暗号通信工程S625とを実行する。
 発呼側の暗号通信装置500からの要求を受けて受動的に暗号通信をする側(以下「着呼側」と呼ぶ。)の暗号通信装置500は、暗号通信処理S604において、一時鍵生成用データ取得工程S635と、一時鍵生成用データ検証工程S636と、一時鍵生成工程S616bと、一時鍵生成用データ通知工程S624bと、一時鍵生成工程S637と、暗号通信工程S638とを実行する。
 一時鍵生成工程S616において、発呼側の暗号通信装置500の一時鍵生成部160は、マスター鍵記憶部110が記憶したマスター鍵と、一時鍵生成用データ記憶部130が記憶した一時鍵生成用データとに基づいて、一時鍵を生成する。
 一時鍵生成用データ通知工程S624において、発呼側の暗号通信装置500の一時鍵生成用データ通知部250は、一時鍵生成工程S616で一時鍵生成部160が一時鍵の生成に使った一時鍵生成用データを着呼側の暗号通信装置500に対して通知する。
 一時鍵生成用データ取得工程S635において、着呼側の暗号通信装置500の一時鍵生成用データ取得部320は、発呼側の暗号通信装置500から通知された一時鍵を取得する。
 一時鍵生成用データ検証工程S636において、着呼側の暗号通信装置500の一時鍵生成用データ検証部350は、一時鍵生成用データ記憶部130が記憶した一時鍵生成用データに基づいて、一時鍵生成用データ取得工程S635で一時鍵生成用データ取得部320が取得した一時鍵生成用データが有効であるか否かを判定する。
 一時鍵生成用データが有効であると一時鍵生成用データ検証部350が判定した場合、着呼側の暗号通信装置500の一時鍵生成用データ記憶部130は、有効であると一時鍵生成用データ検証部350が判定した一時鍵生成用データを、新たな一時鍵生成用データとして記憶する。着呼側の暗号通信装置500は、一時鍵生成工程S637へ処理を進める。
 一時鍵生成用データが有効でないと一時鍵生成用データ検証部350が判定した場合、着呼側の暗号通信装置500は、一時鍵生成用データ記憶部130が記憶した一時鍵生成用データを更新せず、一時鍵生成工程S616bへ処理を進める。
 一時鍵生成工程S637において、着呼側の暗号通信装置500の一時鍵生成部160は、マスター鍵記憶部110が記憶したマスター鍵と、一時鍵生成用データ検証工程S636で一時鍵生成用データ記憶部130が新たに記憶した一時鍵生成用データとに基づいて、一時鍵を生成する。一時鍵生成工程S637で着呼側の暗号通信装置500の一時鍵生成部160が生成する一時鍵は、一時鍵生成工程S616で発呼側の暗号通信装置500の一時鍵生成部160が生成した一時鍵と同一の、又は、その一時鍵に対応する一時鍵である。
 着呼側の暗号通信装置500は、暗号通信工程S638へ処理を進める。
 一時鍵生成工程S616bにおいて、着呼側の暗号通信装置500の一時鍵生成部160は、マスター鍵記憶部110が記憶したマスター鍵と、もともと一時鍵生成用データ記憶部130が記憶していた一時鍵生成用データとに基づいて、一時鍵を生成する。
 一時鍵生成用データ通知工程S624bにおいて、着呼側の暗号通信装置500の一時鍵生成用データ通知部250は、一時鍵生成工程S616bで一時鍵生成部160が一時鍵の生成に使った一時鍵生成用データを発呼側の暗号通信装置500に対して通知する。
 着呼側の暗号通信装置500から一時鍵生成用データを通知された場合、発呼側の暗号通信装置500は、一時鍵生成用データ取得工程S635bへ処理を進める。
 一時鍵生成用データ取得工程S635bにおいて、発呼側の暗号通信装置500の一時鍵生成用データ取得部320は、着呼側の暗号通信装置500から通知された一時鍵生成用データを取得する。
 一時鍵生成用データ検証工程S636bにおいて、発呼側の暗号通信装置500の一時鍵生成用データ検証部350は、一時鍵生成用データ記憶部130が記憶した一時鍵生成用データに基づいて、一時鍵生成用データ取得工程S635bで一時鍵生成用データ取得部320が取得した一時鍵生成用データが有効であるか否かを判定する。
 一時鍵生成用データが有効でないと一時鍵生成用データ検証部350が判定した場合、双方の暗号通信装置500が、相手の一時鍵生成用データが有効でないと判定したので、暗号通信を開始することができない。このため、暗号通信処理S604を終了する。
 一時鍵生成用データが有効であると一時鍵生成用データ検証部350が判定した場合、発呼側の暗号通信装置500の一時鍵生成用データ記憶部130は、有効であると一時鍵生成用データ検証部350が判定した一時鍵生成用データを、新たな一時鍵生成用データとして記憶する。
 一時鍵生成工程S637bにおいて、発呼側の暗号通信装置500の一時鍵生成部160は、マスター鍵記憶部110が記憶したマスター鍵と、一時鍵生成用データ検証工程S636bで一時鍵生成用データ記憶部130が新たに記憶した一時鍵生成用データとに基づいて、一時鍵を生成する。一時鍵生成工程S637bで発呼側の暗号通信装置500の一時鍵生成部160が生成する一時鍵は、一時鍵生成工程S616で着呼側の暗号通信装置500の一時鍵生成部160が生成した一時鍵と同一の、又は、その一時鍵に対応する一時鍵である。
 暗号通信工程S625において、発呼側の暗号通信装置500の暗号通信部290は、一時鍵生成工程S616(または一時鍵生成工程S637b)で一時鍵生成部160が生成した一時鍵を使って、着呼側の暗号通信装置500との間で暗号通信をする。
 暗号通信工程S638において、着呼側の暗号通信装置500の暗号通信部290は、一時鍵生成工程S637(または一時鍵生成工程S616b)で一時鍵生成部160が生成した一時鍵を使って、発呼側の暗号通信装置500との間で暗号通信をする。
 このように、実施の形態1で説明した三つの装置(管理装置100、暗号通信装置200及び暗号通信装置300)の機能を一つの装置(暗号通信装置500)が有することにより、複数の暗号通信装置500が、互いに暗号通信することができる。なお、この実施の形態における一時鍵生成用データは、実施の形態1における一時鍵生成用データとしての役割と検証用データとしての役割とを兼ね備える。このため、暗号通信装置500は、実施の形態1で説明した検証用データ記憶部330や検証用データ更新部340を有する必要はない。
 発呼側の暗号通信装置500の時計の進み方と、着呼側の暗号通信装置500の時計の進み方とが異なる場合、発呼側の時計の進み方のほうが速ければ、発呼側の一時鍵生成用データが表わす数値が増加する速さが着呼側より速いので、発呼側の一時鍵生成用データが有効であると着呼側の一時鍵生成用データ検証部350が判定し、一時鍵生成用データを発呼側に統一して、暗号通信をする。
 逆に、着呼側の時計のほうが速い場合、発呼側の一時鍵生成用データが有効でないと着呼側の一時鍵生成用データ検証部350が判定する可能性がある。その場合、着呼側から一時鍵生成用データを発呼側に通知し、一時鍵生成用データを着呼側に統一して、暗号通信をする。
 このように、暗号通信装置500同士が暗号通信をするたびに、一時鍵生成用データが、時計の進み方が速いほうに統一される。
 なお、一時鍵生成用データ検証部350は、一時鍵生成用データ取得部320が取得した一時鍵生成用データが、一時鍵生成用データ記憶部130が記憶した一時鍵生成用データよりも古い場合であっても、その差が所定の範囲内である場合は、一時鍵生成用データ取得部320が取得した一時鍵生成用データが有効であると判定する構成であってもよい。その場合、一時鍵生成用データ記憶部130は、記憶した一時鍵生成用データを更新しない構成であってもよい。
 実施の形態5.
 実施の形態5について、図25~図26を用いて説明する。
 なお、実施の形態1~実施の形態4と共通する部分については、同一の符号を付し、説明を省略する。
 図25は、この実施の形態における自動検針システム801の全体構成の一例を示す図である。
 自動検針システム801は、管理サーバ101と、携帯端末201と、複数の検針メータ301とを有する。なお、携帯端末201は、複数存在してもよい。
 検針メータ301は、携帯端末201との間で暗号通信するだけでなく、検針メータ301同士の間でも、無線網802を用いて暗号通信をする。このとき、検針メータ301は、管理サーバ101と通信する必要はない。
 管理サーバ101、携帯端末201及び検針メータ301のハードウェア構成や、管理サーバ101及び携帯端末201のブロック構成は、実施の形態3と同様である。
 図26は、この実施の形態における検針メータ301の機能ブロックの一例を示す図である。
 検針メータ301は、実施の形態3で説明した機能ブロックに加えて、更に、対検針メータ通信部371を有する。なお、対携帯端末通信部391は、図示を省略している。
 メッセージ処理部381は、他の検針メータ301に対するメッセージ423aを生成して、対検針メータ通信部371に対して送付し、対検針メータ通信部371が生成した他の検針メータ301からの応答433bを受け取る。
 また、メッセージ処理部381は、対検針メータ通信部371が生成した他の検針メータ301からのメッセージ423bを処理し、応答433aを生成して、対検針メータ通信部371に対して送付する。
 対検針メータ通信部371は、メッセージ処理部381からメッセージ423a/応答433aを受信する。対検針メータ通信部371は、世代番号カウンタ331から世代番号432aを受け取る。対検針メータ通信部371は、マスター鍵記憶部311が記憶したマスター鍵431と、世代番号432aとを用いて、一時鍵を生成する。対検針メータ通信部371は、生成した一時鍵を使って、メッセージ処理部381が生成したメッセージ423a/応答433aを暗号化して、暗号化メッセージ424a/暗号化応答434aを生成する。対検針メータ通信部371は、暗号化メッセージ424a/暗号化応答434aを他の検針メータ301に送る。
 また、対検針メータ通信部371は、他の検針メータ301から暗号化メッセージ424b/暗号化応答434bを受信する。対検針メータ通信部371は、世代番号カウンタ331から世代番号432aを取得する。対検針メータ通信部371は、暗号化メッセージ424b/暗号化応答434bに含まれる世代番号432bと、世代番号432aとを比較する。世代番号432bが世代番号432aと同じか世代番号432aより新しい場合、対検針メータ通信部371は、マスター鍵記憶部311が記憶したマスター鍵431と、世代番号432bとを用いて、一時鍵を生成する。対検針メータ通信部371は、生成した一時鍵を使って、暗号化メッセージ424b/暗号化応答434bを復号し、メッセージ423b/応答433bを生成する。対検針メータ通信部371は、暗号化メッセージ424b/暗号化応答434bをメッセージ検証する。
 検証にパスした場合、対検針メータ通信部371は、暗号化メッセージ424b/暗号化応答434bを受理し、生成したメッセージ423b/応答433bをメッセージ処理部381に対して送付する。また、世代番号432bが世代番号432aより新しい場合、対検針メータ通信部371は、世代番号カウンタ331の値を世代番号432bに書き換える。
 この実施の形態における対検針メータ通信部371の動作の詳細は、実施の形態3における検針メータ301の対携帯端末通信部391と同様なので、詳細な説明は省略する。
 この実施の形態における自動検針システム801は、暗号通信には一時鍵を用いており、さらにその鍵を一定期間で無効化することができる。また、管理サーバとの通信を行なわなくても、機器間の世代番号の同期を取ることができる。
 実施の形態6.
 実施の形態6について、図27~図31を用いて説明する。
 なお、実施の形態1~実施の形態5と共通する部分については、同一の符号を付し、説明を省略する。
 この実施の形態における暗号通信システム800の全体構成、管理装置100や暗号通信装置200,300のハードウェア構成は、実施の形態1と同様である。
 図27は、この実施の形態における管理装置100の機能ブロックの一例を示すブロック構成図である。
 管理装置100は、実施の形態1で説明した機能ブロックに加えて、更に、初期化コマンド生成部165と、初期化コマンド通知部175とを有する。
 初期化コマンド生成部165は、処理装置911を用いて、初期化コマンドを生成する。初期化コマンドは、暗号通信装置300の検証用データ記憶部330が記憶した検証用データを初期化するためのものである。
 初期化コマンド生成部165が生成する初期化コマンドは、有効期限を有する。
 例えば、初期化コマンドは、初期化コマンドの有効期限を表わす有効期限情報を含む。暗号通信装置300は、初期化コマンドに含まれる有効期限情報に基づいて、初期化コマンドが有効か否かを判定する。
 あるいは、初期化コマンドは、初期化コマンド生成部165がその初期化コマンドを生成した日付や時刻などを表わす生成時刻情報を含む。暗号通信装置300は、初期化コマンドに含まれる生成時刻情報に基づいて、初期化コマンド生成部165が初期化コマンドを生成してから、所定の期間(例えば1日)が経過した場合、その初期化コマンドが有効でないと判定する。
 また、初期化コマンド生成部165が生成する初期化コマンドは、検証用データを初期化すべき初期値を表わす情報を含む構成であってもよい。その場合、一時鍵生成用データ記憶部130が記憶した一時鍵生成用データを、検証用データの初期値とする構成であってもよい。
 また、初期化コマンド生成部165が生成する初期化コマンドは、それを管理装置100が生成したものであることを証明し、暗号通信装置300が検証できる形式を有する。
 例えば、初期化コマンドは、マスター鍵記憶部110が記憶したマスター鍵を使って暗号化されている。暗号通信装置300は、マスター鍵記憶部310が記憶したマスター鍵を使って初期化コマンドを復号する。初期化コマンドを正しく復号できれば、初期化コマンドを暗号化したものがマスター鍵を知っていることがわかるので、管理装置100が初期化コマンドを生成したと判定できる。
 あるいは、初期化コマンドは、マスター鍵記憶部110が記憶したマスター鍵と、所定の一時鍵生成用データとを使って生成した一時鍵を用いて暗号化される構成であってもよい。暗号通信装置300は、初期化コマンドを暗号化するときに用いる一時鍵の生成に使った一時鍵生成用データを知っていれば、暗号通信装置300は、マスター鍵記憶部310が記憶したマスター鍵と、あらかじめ知っている一時鍵生成用データとを使って一時鍵を生成し、生成した一時鍵を使って初期化コマンドを復号することができる。
 なお、初期化コマンドを暗号化するときに使う一時鍵の生成に用いる一時鍵生成用データは、あらかじめ定められたデータでなくてもよい。例えば、初期化コマンド生成部165は、一時鍵生成用データをランダムに生成して一時鍵を生成し、生成した一時鍵を使って暗号化した部分と、暗号化していない一時鍵生成用データとを結合して、初期化コマンドとする構成であってもよい。あるいは、初期化コマンド生成部165は、検証用データの初期値を一時鍵生成用データとして使って一時鍵を生成し、生成した一時鍵を使って暗号化した部分と、暗号化していない検証用データの初期値とを結合して、初期化コマンドとする構成であってもよい。なお、初期化コマンドが、暗号化していない一時鍵生成用データと、その一時鍵生成用データを使って生成した一時鍵により暗号化された部分とを含む場合、暗号化された部分は、その一時鍵生成用データを含むデータを暗号化したものであってもよい。
 初期化コマンド通知部175は、初期化コマンド生成部165が生成した初期化コマンドを暗号通信装置200に対して通知する。例えば、初期化コマンド通知部175は、通信装置915を用いて、初期化コマンド生成部165が生成した初期化コマンドを暗号通信装置200に対して送信する。
 図28は、この実施の形態における暗号通信装置200の機能ブロックの一例を示すブロック構成図である。
 暗号通信装置200は、実施の形態1で説明した機能ブロックに加えて、更に、初期化コマンド取得部265と、初期化コマンド記憶部275と、初期化コマンド通知部285とを有する。
 初期化コマンド取得部265は、管理装置100の初期化コマンド通知部175から通知された初期化コマンドを取得する。例えば、初期化コマンド取得部265は、通信装置915を用いて、初期化コマンド通知部175が送信した初期化コマンドを受信する。
 初期化コマンド記憶部275は、記憶装置914を用いて、初期化コマンド取得部265が取得した初期化コマンドを記憶する。
 初期化コマンド通知部285は、初期化コマンド記憶部275が記憶した初期化コマンドを暗号通信装置300に対して通知する。例えば、初期化コマンド通知部285は、通信装置915を用いて、初期化コマンドを暗号通信装置300に対して送信する。
 初期化コマンド通知部285が暗号通信装置300に対して初期化コマンドを通知するのは、例えば、一時鍵生成用データ通知部250が通知した一時鍵生成用データが有効でないと暗号通信装置300の一時鍵生成用データ検証部350が判定し、暗号通信を開始できなかった場合である。その場合、なんらかの異常により、暗号通信装置300の検証用データ記憶部330が記憶している検証用データが狂っていると考えられる。そこで、初期化コマンドを暗号通信装置300に対して通知することにより、暗号通信装置300の検証用データ記憶部330が記憶している検証用データを初期化する。
 図29は、この実施の形態における暗号通信装置300の機能ブロックの一例を示すブロック構成図である。
 暗号通信装置300は、実施の形態1で説明した機能ブロックに加えて、更に、初期化コマンド取得部365と、初期化コマンド検証部375とを有する。
 初期化コマンド取得部365は、暗号通信装置200の初期化コマンド記憶部275から通知された初期化コマンドを取得する。例えば、初期化コマンド取得部365は、通信装置915を用いて、初期化コマンド通知部285が送信した初期化コマンドを受信する。
 初期化コマンド検証部375は、処理装置911を用いて、初期化コマンド取得部365が取得した初期化コマンドが有効であるか否かを検証する。初期化コマンド検証部375は、初期化コマンドが管理装置100によって生成された正当なものであることと、有効期限が切れていないこととの2つの点から、初期化コマンドの有効性を判断する。
 例えば、初期化コマンド検証部375は、マスター鍵記憶部310が記憶したマスター鍵と、所定の一時鍵生成用データとを使って、一時鍵を生成する。初期化コマンド検証部375は、生成した一時鍵を使って、初期化コマンド取得部365が取得した初期化コマンドを復号する。初期化コマンドが正しく復号できた場合、初期化コマンド検証部375は、初期化コマンドが正当であると判定する。
 あるいは、初期化コマンド検証部375は、初期化コマンド取得部365が取得した初期化コマンドを暗号化された部分と、一時鍵生成用データとに分離し、マスター鍵記憶部310が記憶したマスター鍵と、分離した一時鍵生成用データとを使って一時鍵を生成する。初期化コマンド検証部375は、生成した一時鍵を使って、分離した暗号化された部分を復号する。初期化コマンド検証部375は、復号した結果から一時鍵生成用データを取得する。分離した一時鍵生成用データと、取得した一時鍵生成用データとが一致した場合に、初期化コマンド検証部375は、初期化コマンドが正当であると判定する。
 また、例えば、初期化コマンド検証部375は、初期化コマンド取得部365が取得した初期化コマンドから、有効期限情報を取得する。初期化コマンド検証部375は、取得した有効期限情報によって表わされる有効期限と、現在の時刻とを比較して、有効期限が切れているか否かを判定する。
 あるいは、初期化コマンド検証部375は、初期化コマンド取得部365が取得した初期化コマンドから、初期化コマンドが生成された日付を表わす生成時刻情報を取得する。初期化コマンド検証部375は、現在の日付から所定の日数前の日付を算出し、算出した日付と、生成時刻情報が表わす日付とを比較する。生成時刻情報が表わす日付が、算出した日付と等しいか、算出した日付より新しい場合、初期化コマンド検証部375は、初期化コマンドが有効期限内であると判定する。
 あるいは、初期化コマンド検証部375は、初期化コマンド取得部365が取得した初期化コマンドから、初期化コマンドが生成された時刻を表わす生成時刻情報を取得する。初期化コマンド検証部375は、現在の時刻と、取得した生成時刻情報が表わす時刻とに基づいて、初期化コマンドが生成されてからの経過時間を算出する。算出した経過時間が、所定の有効期間よりも短い場合に、初期化コマンド検証部375は、初期化コマンドが有効期限内であると判定する。
 初期化コマンド取得部365が取得した初期化コマンドが有効であると初期化コマンド検証部375が判定した場合、検証用データ記憶部330は、記憶した検証用データを初期化する。
 例えば、検証用データ記憶部330は、記憶装置914を用いて、あらかじめ定められた初期値を検証用データとして記憶する。
 あるいは、検証用データ記憶部330は、処理装置911を用いて、有効であると初期化コマンド検証部375が判定した初期化コマンドから、検証用データの初期値を取得し、取得した初期値を検証用データとして記憶する。
 図30は、この実施の形態における一時鍵通知処理S603の流れの一例を示すフロー図である。
 管理装置100は、一時鍵通知処理S603において、実施の形態1で説明した工程に加えて、更に、初期化コマンド生成工程S617と、初期化コマンド通知工程S620とを実行する。
 暗号通信装置200は、一時鍵通知処理S603において、実施の形態1で説明した工程に加えて、更に、初期化コマンド取得工程S628を実行する。
 初期化コマンド生成工程S617において、管理装置100の初期化コマンド生成部165は、初期化コマンドを生成する。例えば、初期化コマンド生成部165は、一時鍵生成工程S616で一時鍵生成部160が一時鍵の生成に使った一時鍵生成用データを、検証用データの初期値として含む初期化コマンドを生成する。
 初期化コマンド通知工程S620において、管理装置100の初期化コマンド通知部175は、初期化コマンド生成工程S617で初期化コマンド生成部165が生成した初期化コマンドを暗号通信装置200に対して通知する。なお、管理装置100は、初期化コマンドを、一時鍵や一時鍵生成用データと一つにまとめて送信する構成であってもよい。
 初期化コマンド取得工程S628において、暗号通信装置200の初期化コマンド取得部265は、初期化コマンド通知工程S620で管理装置100の初期化コマンド通知部175が通知した初期化コマンドを取得する。初期化コマンド記憶部275は、記憶装置914を用いて、初期化コマンド取得部265が取得した初期化コマンドを記憶する。
 なお、管理装置100は、暗号通信装置200からの一時鍵要求に対する応答として、一時鍵や一時鍵生成用データとともに初期化コマンドを暗号通信装置200に対して通知するのではなく、暗号通信装置200から、一時鍵要求とは別に、初期化コマンドを要求する初期化コマンド要求を受け、それに対する応答として初期化コマンドを通知する構成であってもよい。
 図31は、この実施の形態における暗号通信処理S604の流れの一例を示すフロー図である。
 暗号通信装置200は、暗号通信処理S604において、実施の形態1で説明した工程に加えて、更に、拒絶取得工程S626と、初期化コマンド通知工程S629とを実行する。
 暗号通信装置300は、暗号通信処理S604において、実施の形態1で説明した工程に加えて、更に、拒絶通知工程S647と、初期化コマンド取得工程S648と、初期化コマンド検証工程S649とを実行する。
 一時鍵生成用データ取得工程S635で暗号通信装置300の一時鍵生成用データ取得部320が取得した一時鍵生成用データが有効でないと、一時鍵生成用データ検証工程S636で暗号通信装置300の一時鍵生成用データ検証部350が判定した場合、一時鍵生成用データ検証部350は、拒絶通知工程S647へ処理を進める。
 拒絶通知工程S647において、暗号通信装置300の一時鍵生成用データ検証部350は、通知された一時鍵生成用データを使って生成した一時鍵による暗号通信を拒否する旨を暗号通信装置200に対して通知する。例えば、一時鍵生成用データ検証部350は、通信装置915を用いて、その旨を表わす拒絶メッセージを暗号通信装置200に対して送信する。
 拒絶取得工程S626において、暗号通信装置200の一時鍵生成用データ通知部250は、拒絶通知工程S647における通知を取得する。例えば、一時鍵生成用データ通知部250は、通信装置915を用いて、暗号通信装置300の一時鍵生成用データ検証部350が送信した拒絶メッセージを受信する。
 初期化コマンド通知工程S629において、暗号通信装置200の初期化コマンド通知部285は、初期化コマンド記憶部275が記憶した初期化コマンドを暗号通信装置300に対して通知する。
 初期化コマンド取得工程S648において、暗号通信装置300の初期化コマンド取得部365は、初期化コマンド通知工程S629で暗号通信装置200の初期化コマンド通知部285が通知した初期化コマンドを取得する。
 初期化コマンド検証工程S649において、暗号通信装置300の初期化コマンド検証部375は、初期化コマンド取得工程S648で初期化コマンド取得部365が取得した初期化コマンドが有効であるか否かを判定する。
 例えば、初期化コマンド検証部375は、初期化コマンドが正当であるか否かを判定する。
 初期化コマンドが正当でないと判定した場合、初期化コマンド検証部375は、初期化コマンドが有効でないと判定し、暗号通信処理S604を終了する。
 初期化コマンドが正当であると判定した場合、初期化コマンド検証部375は、初期化コマンドの有効期限が切れているか否かを判定する。
 初期化コマンドの有効期限が切れていると判定した場合、初期化コマンド検証部375は、初期化コマンドが有効でないと判定し、暗号通信処理S604を終了する。
 初期化コマンドの有効期限が切れていないと判定した場合、初期化コマンド検証部375は、初期化コマンドから検証用データの初期値を取得する。初期化コマンド検証部375は、取得した検証用データの初期値で、検証用データ記憶部330が記憶した検証用データを初期化した場合に、一時鍵生成用データ取得工程S635で一時鍵生成用データ取得部320が取得した一時鍵生成用データが有効であると一時鍵生成用データ検証部350が判定するか否かを判定する。
 検証用データを初期化しても一時鍵生成用データが有効にならない場合、初期化コマンド検証部375は、初期化コマンドが有効でないと判定し、暗号通信処理S604を終了する。
 検証用データを初期化すれば一時鍵生成用データが有効になる場合、初期化コマンド検証部375は、初期化コマンドが有効であると判定する。検証用データ記憶部330は、記憶装置914を用いて、初期化コマンドに含まれる初期値を、検証用データとして記憶する。初期化コマンド検証部375は、一時鍵生成工程S637へ処理を進める。
 なお、初期化コマンド検証部375は、検証用データを初期化すれば一時鍵生成用データが有効になるか否かに関わらず、初期化コマンドが正当であり、かつ、有効期限が切れていない場合に、初期化コマンドが有効であると判定する構成であってもよい。その場合、検証用データ記憶部330が記憶した検証用データを初期化したのち、一時鍵生成用データ取得部320が取得した一時鍵生成用データの有効性を、一時鍵生成用データ検証部350が再び判定する。あるいは、暗号通信処理S604をいったん終了し、暗号通信装置200が一時鍵生成用データを暗号通信装置300に対して再送する構成であってもよい。
 管理装置100は、初期化コマンドを暗号通信装置200に対して通知することにより、暗号通信装置300が記憶している検証用データを初期化する権限を暗号通信装置200に与える。これにより、暗号通信装置300が記憶している検証用データを暗号通信装置200が初期化できるので、なんらかの原因により検証用データが異常値になった場合でも、検証用データを正常値に戻し、暗号通信装置200と暗号通信装置300との間で暗号通信をすることができる。
 初期化コマンドには有効期限があるので、有効期限が過ぎた場合、初期化コマンドで、暗号通信装置300が記憶している検証用データを初期化することができなくなる。これにより、例えば、暗号通信装置200を紛失して、第三者が拾得した場合など、初期化コマンドが漏洩した場合でも、第三者が初期化コマンドを悪用して、暗号通信装置300が記憶している検証用データを初期化し、暗号通信装置300から情報が漏洩するのを防ぐことができる。
 実施の形態7.
 実施の形態7について、図32~図33を用いて説明する。
 なお、実施の形態1~実施の形態6と共通する部分については、同一の符号を付し、説明を省略する。
 この実施の形態における暗号通信システム800の全体構成、管理装置100や暗号通信装置200,300のハードウェア構成は、実施の形態6と同様である。
 図32は、この実施の形態における暗号通信装置200の機能ブロックの一例を示すブロック構成図である。
 暗号通信装置200は、実施の形態6で説明した機能ブロックのうち、初期化コマンド記憶部275を有さない。すなわち、暗号通信装置200は、初期化コマンドを記憶しない。
 初期化コマンド通知部285が暗号通信装置300に対して初期化コマンドを通知する必要が生じた場合、初期化コマンド取得部265が、管理装置100と通信して、初期化コマンドを取得する。初期化コマンド通知部285は、初期化コマンド取得部265が取得した初期化コマンドを暗号通信装置300に対して通知する。
 管理装置100及び暗号通信装置300のブロック構成は、実施の形態6と同様なので、異なる部分のみ説明する。
 暗号通信装置300において、一時鍵生成用データ検証部350は、一時鍵生成用データ取得部320が取得した一時鍵生成用データが表わす数値が、検証用データ記憶部330が記憶した検証用データが表わす数値以上である場合に、一時鍵生成用データが有効であると判定する。
 ただし、初期化コマンド取得部365が取得した初期化コマンドが有効であると初期化コマンド検証部375が判定し、検証用データ記憶部330が記憶した検証用データが初期化された場合、一時鍵生成用データ検証部350は、検証用データが初期化されてから所定の期間(例えば1日)が経過するまでの間、一時鍵生成用データが表わす数値と、検証用データが表わす数値とが等しい場合のみ、一時鍵生成用データが有効であると判定する。一時鍵生成用データが表わす数値が、検証用データが表わす数値よりも大きい場合、一時鍵生成用データ検証部350は、一時鍵生成用データが有効でないと判定する。
 次に、動作について説明する。
 一時鍵通知処理S603における工程は、実施の形態1と同様である。すなわち、一時鍵通知処理S603において、管理装置100は、初期化コマンドを生成せず、暗号通信装置200に対して初期化コマンドを通知しない。
 図33は、この実施の形態における暗号通信処理S604の流れの一例を示すフロー図である。
 暗号通信装置200は、暗号通信処理S604において、実施の形態6で説明した工程に加えて、更に、初期化コマンド要求工程S627と、初期化コマンド取得工程S628とを実行する。
 なお、管理装置100が実行する工程は、図示を省略している。管理装置100は、暗号通信処理S604において、初期化コマンド要求受付工程と、初期化コマンド生成工程S617と、初期化コマンド通知工程S620とを実行する。
 初期化コマンド要求工程S627において、暗号通信装置200の初期化コマンド取得部265は、管理装置100に対して、初期化コマンドを要求する。例えば、初期化コマンド取得部265は、通信装置915を用いて、初期化コマンドを要求する初期化コマンド要求メッセージを管理装置100に対して送信する。初期化コマンド要求メッセージは、例えば、暗号通信装置200の利用者が入力したパスワードや、暗号通信装置200の利用者の指紋その他生体情報など、暗号通信装置200の利用者を認証する認証情報を含む。
 初期化コマンド要求受付工程において、管理装置100の初期化コマンド通知部175は、暗号通信装置200からの要求を受け付ける。例えば、初期化コマンド通知部175は、通信装置915を用いて、暗号通信装置200の初期化コマンド取得部265が送信した初期化コマンド要求メッセージを受信する。初期化コマンド通知部175は、初期化コマンド要求メッセージに含まれる認証情報を検証して、暗号通信装置200の利用者を認証する。認証に失敗した場合、管理装置100は、以後の工程を実行しない。
 初期化コマンド生成工程S617において、管理装置100の初期化コマンド生成部165は、一時鍵生成用データ記憶部130が記憶した一時鍵生成用データを、認証用データの初期値として含む初期化コマンドを生成する。
 初期化コマンド通知工程S620において、管理装置100の初期化コマンド通知部175は、初期化コマンド生成工程S617で初期化コマンド生成部165が生成した初期化コマンドを暗号通信装置200に対して通知する。
 初期化コマンド取得工程S628において、暗号通信装置200の初期化コマンド取得部265は、一時鍵通知工程S618で管理装置100の初期化コマンド通知部175が通知した初期化コマンドを取得する。
 初期化コマンド通知工程S629において、暗号通信装置200の初期化コマンド通知部285は、初期化コマンド取得工程S628で初期化コマンド取得部265が取得した初期化コマンドを暗号通信装置300に対して通知する。
 初期化コマンド検証工程S649において、暗号通信装置300の初期化コマンド検証部375は、初期化コマンド取得工程S648で初期化コマンド取得部365が取得した初期化コマンドが正当であり、かつ、有効期限が切れていないと判定した場合、初期化コマンドに含まれる検証用データの初期値を取得する。初期化コマンド検証部375は、一時鍵生成用データ取得工程S635で一時鍵生成用データ取得部320が取得した一時鍵生成用データと、取得した検証用データの初期値とを比較する。
 一時鍵生成用データと、検証用データの初期値とが一致しない場合、初期化コマンド検証部375は、初期化コマンドが有効でないと判定し、暗号通信処理S604を終了する。
 一時鍵生成用データと、検証用データの初期値とが一致している場合、初期化コマンド検証部375は、初期化コマンドが有効であると判定する。
 例えば、暗号通信装置200が小型で携帯可能である場合、暗号通信装置200の正当な利用者が暗号通信装置200を紛失して、第三者がそれを拾得して悪用する可能性がある。しかし、検証用データの更新により、第三者が拾得した暗号通信装置200に保存されている一時鍵が古いものになれば、その暗号通信装置200は、暗号通信装置300との間で暗号通信をすることができない。
 また、初期化コマンドは、暗号通信装置200に保存されていないので、第三者は、暗号通信装置300が記憶している検証用データを初期化することができない。
 仮に、なんらかの手段により、第三者が、初期化コマンドを別途入手したとする。第三者は、初期化コマンドを暗号通信装置300に通知して、暗号通信装置300が記憶している検証用データを初期化しようとする。しかし、第三者が拾得した暗号通信装置200に保存されている一時鍵及びそれの生成に使われた一時鍵生成用データと、第三者がそれとは別に入手した初期化コマンドに含まれる検証用データの初期値とが一致しなければ、その暗号通信装置200は、暗号通信装置300との間で暗号通信をすることができない。
 このため、暗号通信装置300から情報が漏洩するのを防ぐことができる。
 実施の形態8.
 実施の形態8について、図34~図41を用いて説明する。
 なお、実施の形態1~実施の形態7と共通する部分については、同一の符号を付し、説明を省略する。
 この実施の形態における自動検針システム801(暗号通信システム)の全体構成や、管理サーバ101、携帯端末201及び検針メータ301のハードウェア構成は、実施の形態3と同様である。
 図34は、この実施の形態における管理サーバ101の機能ブロックの一例を示す図である。
 管理サーバ101(管理装置)は、実施の形態3で説明した構成に加えて、更に、時計156と、リセットパケット生成部166とを有する。なお、鍵情報管理部161は、図示を省略している。
 時計156は、現在時刻418を計測する。例えば、時計156は、通信装置915を用いて、時刻サーバと通信し、NTP(Network Time Protocol)などの仕組みで時刻サーバと同期を取ることにより、正確な現在時刻418を計測する。時計は、計測した現在時刻418を出力する。
 リセットパケット生成部166(初期化コマンド生成部)は、携帯端末201からリセットパケット発行要求428を受け取る。リセットパケット生成部166は、世代番号カウンタ131から世代番号412を取得する。リセットパケット生成部166は、時計156から現在時刻418を取得する。リセットパケット生成部166は、検針メータ301の世代番号432を、世代番号412にリセットするためのリセットパケット419(初期化コマンド)を生成する。リセットパケット生成部166は、リセットパケット419を携帯端末201に対して送付する。
 図35は、この実施の形態における携帯端末201の機能ブロックの一例を示す図である。
 携帯端末201のブロック構成は、実施の形態3で説明したものと同様なので、異なる点のみを説明する。なお、メッセージ生成部281は、図示を省略している。
 対管理サーバ通信部221は、リセットパケット発行要求428を生成する。対管理サーバ通信部221は、リセットパケット発行要求428を管理サーバ101(リセットパケット生成部166)に対して送付する。
 対管理サーバ通信部221は、管理サーバ101(リセットパケット生成部166)からリセットパケット419を受け取る。
 対検針メータ通信部291は、対管理サーバ通信部221からリセットパケット419を受け取る。対検針メータ通信部291(初期化コマンド通知部)は、リセットパケット419を検針メータ301に対して送付する。
 図36は、この実施の形態における検針メータ301の機能ブロックの一例を示す図である。
 検針メータ301は、実施の形態3で説明した機能ブロックに加えて、更に、時計356を有する。
 時計356は、現在時刻438を計測する。例えば、時計356は、通信装置915を用いて、時刻サーバと通信し、NTPなどの仕組みで時刻サーバと同期を取ることにより、正確な現在時刻438を計測する。時計は、計測した現在時刻438を出力する。
 対携帯端末通信部391(初期化コマンド検証部)は、携帯端末201からリセットパケット419を受け取る。対携帯端末通信部391は、時計356から現在時刻438を取得する。対携帯端末通信部391は、時計356と、マスター鍵記憶部311が記憶したマスター鍵431とを用いて、リセットパケット419を検証する。検証に成功した場合、対携帯端末通信部391は、リセットパケット419から世代番号412を取得する。対携帯端末通信部391は、世代番号412をメッセージ処理部381に対して送付する。
 対携帯端末通信部391は、世代番号412から応答433を受け取る。対携帯端末通信部391は、応答433を暗号化してリセット応答439(暗号化応答)を生成する。対携帯端末通信部391は、リセット応答439を携帯端末201に対して送付する。
 メッセージ処理部381は、対携帯端末通信部391から世代番号412を受け取る。メッセージ処理部381は、世代番号カウンタ331の値を世代番号412に書き換える。メッセージ処理部381は、検証結果を表わす応答433を生成する。メッセージ処理部381は、応答433を対携帯端末通信部391(対検針メータ通信部291)に対して送付する。
 図37は、この実施の形態の管理サーバ101におけるリセットパケット生成部166の詳細な機能ブロックの一例を示す図である。
 リセットパケット生成部166は、例えば、認証部172と、マスター鍵選択部173と、一時鍵生成部174と、パケット生成部176と、出力判定部177とを有する。なお、認証部172、マスター鍵選択部173、一時鍵生成部174及び出力判定部177は、鍵情報管理部161の認証部162、マスター鍵選択部163、一時鍵生成部164及び出力判定部171を、鍵情報管理部161と共用する構成であってもよい。
 認証部172は、携帯端末201(対管理サーバ通信部221)からリセットパケット発行要求428を受信する。認証部172は、リセットパケット発行要求428に含まれる認証情報に基づいて、リセットパケット発行要求428を処理するか否かを決定する。例えば、認証部172は、認証情報に基づいて送信者を認証する。なお、認証をしない場合、認証部172は、なくてもよい。
 リセットパケット発行要求428を処理しないと決定した場合、認証部172は、リセットパケット419を出力しない旨を表わす出力判定信号414を出力判定部177に対して出力する。
 マスター鍵選択部173は、マスター鍵記憶部111が記憶した複数のマスター鍵411のなかから、マスター鍵411を任意に選択する。例えば、マスター鍵選択部173は、マスター鍵411をランダムに選択する。
 マスター鍵選択部173は、選択したマスター鍵411に対応する鍵種別情報422を生成する。
 一時鍵生成部174は、マスター鍵選択部173が選択したマスター鍵411と、所定の定数とに基づいて、一時鍵413を生成する。一時鍵生成部174は、世代番号412の代わりに定数を使って一時鍵413を生成する。例えば、一時鍵生成部174は、一時鍵413として、所定の暗号化方式によって定数をマスター鍵411で暗号したデータを生成する。あるいは、一時鍵生成部174は、一時鍵413として、定数とマスター鍵411とを入力した鍵付きハッシュ関数を使ってハッシュ値を生成する。なお、一時鍵生成部174が一時鍵413の生成に使う鍵生成方式は、定数とマスター鍵411とから一時鍵413が一意に生成されること、及び、一時鍵413と定数とからマスター鍵411が推定されないことが必要である。
 一時鍵生成部174が一時鍵413の生成に使う定数には、例えば、世代番号412として入力可能な数の最大値を設定する。例えば、世代番号412が16ビットの2進数で表現される場合、一時鍵生成部174は、16進表現で「FFFF」を定数として使って一時鍵413を生成する。なお、世代番号412の最大値が別途定められている場合は、その値を使う構成であってもよい。
 パケット生成部176は、世代番号カウンタ131から世代番号412を取得する。パケット生成部176は、リセットパケット419の生成時刻として、時計156から現在時刻418を取得する。パケット生成部176は、世代番号412と、生成時刻と、鍵種別情報422と、マスター鍵選択部173が一時鍵413の生成に使った定数とに対して、メッセージ検証子を生成する。パケット生成部176は、世代番号412と、生成時刻と、鍵種別情報422と、定数と、メッセージ検証子とを含むリセットパケット419を生成する。
 出力判定部177は、パケット生成部176が生成したリセットパケット419を出力するか否かを判定する。
 リセットパケット419を出力しない旨を表わす出力判定信号414を認証部172から受信した場合、出力判定部177は、リセットパケット419を出力しないと判定する。その場合、出力判定部177は、リセットパケット419の代わりとして、所定のエラーコードを出力する構成であってもよい。
 リセットパケット419を出力しない旨を表わす出力判定信号414を認証部172から受信しない場合、出力判定部177は、リセットパケット419を出力すると判定する。出力判定部177は、リセットパケット419を携帯端末201に対して出力する。
 図38は、この実施の形態の携帯端末201における対管理サーバ通信部221及び対検針メータ通信部291の詳細な機能ブロックの一例を示す図である。
 対管理サーバ通信部221は、実施の形態3で説明した機能ブロックに加えて、更に、リセットパケット発行要求生成部224と、リセットパケット取得部225とを有する。なお、一時鍵発行要求生成部222及び一時鍵情報取得部223は、図示を省略している。
 リセットパケット発行要求生成部224は、入力装置912から認証情報425を受け取る。入力装置912は、例えば、キーボードのような文字列入力装置である。あるいは、入力装置912は、指紋読取装置のようなバイオメトリック情報を取得する装置である。
 リセットパケット発行要求生成部224は、取得した認証情報425に基づいてリセットパケット発行要求428を生成する。リセットパケット発行要求生成部224が生成するリセットパケット発行要求428は、認証情報425を含む。
 リセットパケット発行要求生成部224は、リセットパケット発行要求428を管理サーバ101(リセットパケット生成部166)に対して送付する。
 なお、管理サーバ101が利用者認証を行わない場合、リセットパケット発行要求生成部224は、認証情報425を取得しない構成であってもよい。その場合、リセットパケット発行要求428は、認証情報425を含まない構成であってもよい。
 リセットパケット取得部225は、管理サーバ101からリセットパケット419を受信する。リセットパケット取得部225は、リセットパケット419を対検針メータ通信部291に対して送付する。
 対検針メータ通信部291は、実施の形態3で説明した機能ブロックに加えて、更に、リセットパケット出力部297を有する。なお、暗号化部292、多重化部293、分離部294、復号部295及び受信判定部296は、図示を省略している。
 リセットパケット出力部297は、対管理サーバ通信部221からリセットパケット419を受信する。リセットパケット出力部297は、受信したリセットパケット419をそのまま検針メータ301(対携帯端末通信部391)に対して送付する。
 図39は、この実施の形態の検針メータ301における対携帯端末通信部391の詳細な機能ブロックの一例を示す図である。
 対携帯端末通信部391は、実施の形態3で説明した構成に加えて、更に、応答メッセージ生成部397と、メッセージ検証部398とを有する。なお、暗号化部392及び復号部395は、図示を省略している。
 分離部394は、携帯端末201(対検針メータ通信部291)からリセットパケット419を受信する。分離部394は、リセットパケット419から鍵種別情報422と定数417とを分離する。
 マスター鍵選択部363は、鍵種別情報422に基づいて、マスター鍵記憶部311が記憶した複数のマスター鍵431のなかから、マスター鍵431を選択する。
 一時鍵生成部364は、マスター鍵選択部363が選択したマスター鍵431と、定数417とにから、一時鍵435を生成する。一時鍵生成部364は、管理サーバ101における鍵情報管理部161の一時鍵生成部174と同じ一時鍵生成方式により、一時鍵435を生成する。
 メッセージ検証部398は、一時鍵435を用いて、リセットパケット419のメッセージ検証をして、検証結果437を生成する。メッセージ検証部398は、リセットパケット419から、世代番号412と生成時刻416とを分離する。メッセージ検証部398は、管理サーバ101におけるパケット生成部176が使用したメッセージ認証子生成方式に対応する検証方式を使って、リセットパケット419を検証する。
 受信判定部396は、時計356から現在時刻438を取得する。受信判定部396は、現在時刻438と生成時刻416と検証結果437とに基づいて、出力判定をする。判定基準は、以下のとおりである。
 ・メッセージ検証部398がメッセージ検証に失敗した場合、世代番号412を出力しない。
 ・生成時刻416が現在時刻438に対して一定以上(例えば1日以上)古い場合、世代番号412を出力しない。
 ・メッセージ検証部398がメッセージ検証に成功し、かつ、生成時刻416が現在時刻438より新しく又は生成時刻416と現在時刻438との差が一定以下(例えば1日以下)である場合、世代番号412を出力する。
 世代番号412を出力すると判定した場合、受信判定部396は、世代番号412をメッセージ処理部381に対して出力する。
 メッセージ処理部381は、受信判定部396から世代番号412を受け取る。メッセージ処理部381は、世代番号カウンタ331の値を、世代番号412に書き換える。
 メッセージ処理部381は、応答433を生成する。なお、メッセージ処理部381が応答433を生成するのではなく、受信判定部396が応答433を生成する構成であってもよい。
 なお、リセットパケット419を受理してメッセージ処理部381が世代番号カウンタ331の値を書き換えた場合、受信判定部396は、世代番号カウンタ331の値を書き換えてから一定期間(例えば1日)の間は、世代番号412と世代番号432とが一致したときのみ、暗号化メッセージ424を受理してメッセージ423を出力する構成であってもよい。
 応答メッセージ生成部397は、メッセージ処理部381から応答433を受信する。応答メッセージ生成部397は、一時鍵435を用いて、応答433からメッセージ認証子440を生成する。応答メッセージ生成部397は、例えば、管理サーバ101におけるリセットパケット生成部166のパケット生成部176と同じメッセージ認証子生成方式を使って、メッセージ認証子440を生成する。
 多重化部393は、鍵種別情報422と、世代番号432と、応答433と、メッセージ認証子440とを多重化して、リセット応答439を生成する。多重化部393は、リセット応答439を携帯端末201(対検針メータ通信部291)に対して送付する。
 次に、動作について説明する。
 図40は、この実施の形態におけるリセットパケット通知処理S605の流れの一例を示すフロー図である。
 リセットパケット通知処理S605は、例えば、リセットパケット発行要求生成工程S681と、認証工程S682と、マスター鍵選択工程S683と、一時鍵生成工程S684と、パケット生成工程S685と、出力工程S686と、リセットパケット取得工程S687とを有する。
 リセットパケット発行要求生成工程S681において、携帯端末201のリセットパケット発行要求生成部224は、リセットパケット発行要求428を生成する。リセットパケット発行要求生成部224は、リセットパケット発行要求428を管理サーバ101(リセットパケット生成部166)に対して送信する。
 認証工程S682において、管理サーバ101の認証部172は、リセットパケット発行要求428を受信する。認証部172は、リセットパケット発行要求428を検証する。検証に失敗した場合、認証部172は、リセットパケット通知処理S605を終了する。検証に成功した場合、認証部172は、マスター鍵選択工程S683へ処理を進める。
 マスター鍵選択工程S683において、管理サーバ101のマスター鍵選択部173は、マスター鍵411を任意に選択する。マスター鍵選択部173は、選択したマスター鍵411に対応する鍵種別情報422を生成する。
 一時鍵生成工程S684において、管理サーバ101の一時鍵生成部174は、マスター鍵411と定数417とに基づいて、一時鍵413を生成する。
 パケット生成工程S685において、管理サーバ101のパケット生成部176は、一時鍵413を使って、鍵種別情報422と、定数417と、世代番号412と、現在時刻418とから、リセットパケット419を生成する。
 出力工程S686において、管理サーバ101の出力判定部177は、リセットパケット419を携帯端末201(対管理サーバ通信部221)に対して送信する。
 リセットパケット取得工程S687において、携帯端末201のリセットパケット取得部225は、リセットパケット419を受信する。リセットパケット取得部225は、リセットパケット419を対検針メータ通信部291に対して出力する。
 図41は、この実施の形態における世代番号リセット処理S606の流れの一例を示すフロー図である。
 世代番号リセット処理S606は、例えば、リセットパケット出力工程S691と、分離工程S692と、マスター鍵選択工程S693と、一時鍵生成工程S694と、メッセージ検証工程S695と、受信判定工程S696と、世代番号リセット工程S697と、マスター鍵選択工程S701と、一時鍵生成工程S702と、応答メッセージ生成工程S703と、多重化工程S704と、リセット応答取得工程S705とを有する。
 リセットパケット出力工程S691において、携帯端末201のリセットパケット出力部297は、リセットパケット419を検針メータ301(対携帯端末通信部391)に対して送信する。
 分離工程S692において、検針メータ301の分離部394は、リセットパケット419を受信する。分離部394は、リセットパケット419から、鍵種別情報422と定数417とを分離する。
 マスター鍵選択工程S693において、検針メータ301のマスター鍵選択部363は、鍵種別情報422に基づいて、マスター鍵431を選択する。マスター鍵選択部363は、鍵種別情報422を記憶する。
 一時鍵生成工程S694において、検針メータ301の一時鍵生成部364は、マスター鍵431と定数417とに基づいて、一時鍵435を生成する。
 メッセージ検証工程S695において、検針メータ301の応答メッセージ生成部397は、一時鍵435を使って、リセットパケット419を検証し、世代番号412と生成時刻416と検証結果437とを生成する。
 受信判定工程S696において、検針メータ301の受信判定部396は、生成時刻416と現在時刻438とと検証結果437とに基づいて、世代番号412を出力するか否かを判定する。世代番号412を出力しないと判定した場合、受信判定部396は、世代番号リセット処理S606を終了する。世代番号412を出力すると判定した場合、受信判定部396は、世代番号412を出力する。
 世代番号リセット工程S697において、検針メータ301のメッセージ処理部381は、世代番号カウンタ331が記憶した世代番号432を、世代番号412で書き換える。世代番号カウンタ331は、世代番号412を記憶する。メッセージ処理部381は、応答433を生成する。
 マスター鍵選択工程S701において、検針メータ301のマスター鍵選択部363は、記憶していた鍵種別情報422に基づいて、マスター鍵431を選択する。マスター鍵選択部363は、選択したマスター鍵431と鍵種別情報422とを出力する。
 一時鍵生成工程S702において、検針メータ301の一時鍵生成部364は、マスター鍵431と世代番号432とに基づいて、一時鍵435を生成する。一時鍵生成工程S702で一時鍵生成部364が生成する一時鍵435は、一時鍵生成工程S694で一時鍵生成部364が生成した一時鍵435と同一である。
 応答メッセージ生成工程S703において、検針メータ301の応答メッセージ生成部397は、一時鍵生成工程S672で一時鍵生成部364が生成した一時鍵435を使って、メッセージ認証子440を生成する。なお、応答メッセージ生成部397は、一時鍵生成工程S655で一時鍵生成部364が生成した一時鍵435を使ってメッセージ認証子440を生成する構成であってもよい。その場合、マスター鍵選択工程S671及び一時鍵生成工程S672は、なくてもよい。
 多重化工程S704において、検針メータ301の多重化部393は、応答433とメッセージ認証子440と世代番号432と鍵種別情報422とを多重化して、リセット応答439を生成する。多重化部393は、リセット応答439を携帯端末201(対検針メータ通信部291)に対して送信する。
 リセット応答取得工程S705において、携帯端末201の対検針メータ通信部291は、リセット応答439を受信する。
 なお、管理サーバ101と検針メータ301とが直接通信して、管理サーバ101がリセットパケット419を検針メータ301に対して直接送信する構成であってもよい。
 この実施の形態における通信装置(検針メータ301)は、管理サーバ(101)にて生成したカウンタ値をリセットする信号を受け、前記前期カウンタの値を前記リセット信号に含まれるカウンタ値に更新する。
 管理サーバ(101)は、カウンタ値をリセットする信号を生成する。
 管理サーバは、予め共有しているマスター鍵と、所定の定数から一時鍵を生成し、少なくとも修正後のカウンタ値、信号の生成日時に対してメッセージ検証子を生成し、前記定数、前記修正後のカウンタ値、前記信号の生成日時、前記メッセージ検証子をリセット信号として送信する。
 通信装置(検針メータ301)は、管理サーバ(101)から発信されたリセット信号を受信する。
 通信装置は、少なくとも修正後のカウンタ値、信号の生成日時に対するメッセージ認証を行なった後、自身の持つ時計の現在時刻と、リセット信号に含まれる生成日時を比較し、前記生成日時が前記現在時刻より新しいか、その差が一定以下の場合に自身の持つカウンタの値を前記修正後のカウンタ値に更新する。
 この実施の形態における自動検針システム801(暗号通信システム)は、検針メータ(301)の世代番号が管理サーバ(101)より進んでいたとしても、管理サーバの世代番号にあわせることができる。また、リセットパケットには日付を入れているため、メータに時計を持たせることで、古いリセットパケットや不正に取得したリセットパケットを無効化することができる。さらに、リセットパケット受信後、一定期間(たとえば1日)は、メッセージの受理条件にリセットパケットで更新した世代番号と同じ番号しか受け付けないようにすることで、世代番号の更新過程においても、上書きされること無く、確実に同期を取ることができる。
 まとめ.
 以上、各実施の形態で説明した構成は、一例であり、他の構成であってもよい。例えば、異なる実施の形態で説明した構成を組み合わせた構成であってもよいし、本質的でない部分の構成を、他の構成で置き換えた構成であってもよい。
 以上説明した暗号通信システム(暗号通信システム800、自動検針システム801)は、管理装置(100、暗号通信装置500、管理サーバ101)と、第一暗号通信装置(暗号通信装置200,500、携帯端末201)と、第二暗号通信装置(暗号通信装置300,500、検針メータ301)とを備える。
 上記管理装置は、マスター鍵記憶部(110、111)と、一時鍵生成部(160、164)とを有する。
 上記管理装置の上記マスター鍵記憶部は、第一マスター鍵(マスター鍵411)を記憶する。
 上記管理装置の上記一時鍵生成部は、上記管理装置の上記マスター鍵記憶部が記憶した上記第一マスター鍵と、一時鍵生成用データ(世代番号412)とを使って、第一一時鍵(一時鍵413)を生成する。
 上記第一暗号通信装置は、一時鍵生成用データ通知部(250、対検針メータ通信部291)と、暗号通信部(290、対検針メータ通信部291)とを有する。
 上記第一暗号通信装置の上記一時鍵生成用データ通知部は、上記管理装置の上記一時鍵生成部が上記第一一時鍵の生成に使った上記一時鍵生成用データを、上記第二暗号通信装置に対して通知する。
 上記第一暗号通信装置の上記暗号通信部は、上記管理装置の上記一時鍵生成部が生成した上記第一一時鍵を使って、上記第二暗号通信装置との間で暗号通信をする。
 上記第二暗号通信装置は、マスター鍵記憶部(310、311)と、一時鍵生成用データ検証部(350、受信判定部396)と、一時鍵生成部(360、364)と、暗号通信部(390、対携帯端末通信部391)とを有する。
 上記第二暗号通信装置の上記マスター鍵記憶部は、上記管理装置の上記マスター鍵記憶部が記憶した上記第一マスター鍵と同一の、又は、上記第一マスター鍵に対応する、第二マスター鍵(マスター鍵431)を記憶する。
 上記第二暗号通信装置の上記一時鍵生成用データ検証部は、上記第一暗号通信装置の上記一時鍵生成用データ通知部から通知された上記一時鍵生成用データが有効であるか否かを判定する。
 上記第二暗号通信装置の上記一時鍵生成部は、上記第一暗号通信装置の上記一時鍵生成用データ通知部から通知された上記一時鍵生成用データが有効であると上記第二暗号通信装置の上記一時鍵生成用データ検証部が判定した場合に、上記第二暗号通信装置の上記マスター鍵記憶部が記憶した上記第二マスター鍵と、上記第二暗号通信装置の上記一時鍵生成用データ検証部が有効であると判定した上記一時鍵生成用データとを使って、上記管理装置の上記一時鍵生成部が生成した上記第一一時鍵と同一の、又は、上記第一一時鍵に対応する第二一時鍵(一時鍵435)を生成する。
 上記第二暗号通信装置の上記暗号通信部は、上記第二暗号通信装置の上記一時鍵生成部が生成した上記第二一時鍵を使って、上記第一暗号通信装置との間で暗号通信をする。
 第二暗号通信装置が第一暗号通信装置から通知された一時鍵生成用データを使って一時鍵を生成するので、第一暗号通信装置と第二暗号通信装置とが、同一の、又は対応する一時鍵を使って、暗号通信をすることができる。
 上記管理装置(100、暗号通信装置500、管理サーバ101)は、更に、一時鍵生成用データ記憶部(130、世代番号カウンタ131)と、一時鍵生成用データ更新部(140、世代番号カウンタ131)とを有する。
 上記管理装置の上記一時鍵生成用データ記憶部は、上記管理装置の上記一時鍵生成部(160、164)が上記第一一時鍵(一時鍵413)の生成に使う一時鍵生成用データ(世代番号412)を記憶する。
 上記管理装置の上記一時鍵生成用データ更新部は、所定の周期が経過するごとに、上記管理装置の上記一時鍵生成用データ記憶部が記憶した上記一時鍵生成用データを、繰り返し更新する。
 上記第二暗号通信装置(暗号通信装置300,500、検針メータ301)は、更に、検証用データ記憶部(330、一時鍵生成用データ記憶部130、世代番号カウンタ331)と、検証用データ更新部(340、一時鍵生成用データ更新部140、世代番号カウンタ331)とを有する。
 上記第二暗号通信装置の上記検証用データ記憶部は、検証用データ(一時鍵生成用データ、世代番号432)を記憶する。
 上記第二暗号通信装置の上記検証用データ更新部は、所定の周期が経過するごとに、上記第二暗号通信装置の上記検証用データ記憶部が記憶した上記検証用データを、繰り返し更新する。
 上記第二暗号通信装置の上記一時鍵生成用データ検証部は、上記第二暗号通信装置の上記検証用データ記憶部が記憶した上記検証用データを使って、上記第一暗号通信装置の上記一時鍵生成用データ通知部から通知された上記一時鍵生成用データが有効であるか否かを判定する。
 管理装置が一時鍵生成用データを繰り返し更新し、それに合わせて、第二暗号通信装置が検証用データを繰り返し更新するので、古い一時鍵生成用データから生成された一時鍵を無効にすることができる。これにより、第一暗号通信装置から第一一時鍵が漏洩しても、第三者が、第二暗号通信装置との間で暗号通信をするのを防ぐことができる。また、第一暗号通信装置は第一マスター鍵を知らないので、第一暗号通信装置から第一マスター鍵が漏洩することはない。このため、第一暗号通信装置から情報が漏洩しても、第三者が、第二暗号通信装置と暗号通信できる第一一時鍵を生成することはできない。
 上記管理装置(100、暗号通信装置500、管理サーバ101)の上記一時鍵生成用データ記憶部(130、世代番号カウンタ131)が記憶した上記一時鍵生成用データ(世代番号412)、及び、上記第二暗号通信装置(暗号通信装置300,500、検針メータ301)の上記検証用データ記憶部(330、一時鍵生成用データ記憶部130、世代番号カウンタ331)が記憶した上記検証用データ(一時鍵生成用データ、世代番号432)は、数値を表わすデータである。
 上記管理装置の上記一時鍵生成用データ更新部(140、世代番号カウンタ131)は、上記管理装置の上記一時鍵生成用データ記憶部が記憶した上記一時鍵生成用データが表わす上記数値に、所定の増分値を加算した和を算出し、上記管理装置の上記一時鍵生成用データ記憶部が記憶した上記一時鍵生成用データを、算出した上記和を表わすデータで更新する。
 上記第二暗号通信装置の上記検証用データ更新部(340、一時鍵生成用データ更新部140、世代番号カウンタ331)は、上記管理装置の上記一時鍵生成用データ更新部が上記一時鍵生成用データを更新する上記所定の周期の略n倍(nは、正の実数。)の周期が経過するごとに、上記第二暗号通信装置の上記検証用データ記憶部が記憶した上記検証用データが表わす上記数値に、上記管理装置の上記一時鍵生成用データ更新部が上記一時鍵生成用データの更新に使う上記所定の増分値のn倍の増分値を加算した和を算出し、上記第二暗号通信装置の上記検証用データ記憶部が記憶した上記検証用データを、算出した上記和を表わすデータで更新する。
 上記第二暗号通信装置の上記一時鍵生成用データ検証部(350、受信判定部396)は、上記第一暗号通信装置(暗号通信装置200,500、携帯端末201)の上記一時鍵生成用データ通知部(250、対検針メータ通信部291)から通知された上記一時鍵生成用データが表わす上記数値が、上記第二暗号通信装置の上記検証用データ記憶部が記憶した上記検証用データが表わす上記数値以上である場合に、上記第一暗号通信装置の上記一時鍵生成用データ通知部から通知された上記一時鍵生成用データが有効であると判定する。
 これにより、一時鍵生成用データが有効であるか否かを容易に判定することができる。
 上記第二暗号通信装置(暗号通信装置300,500、検針メータ301)の上記検証用データ記憶部(330、一時鍵生成用データ記憶部130、世代番号カウンタ331)は、上記第一暗号通信装置(暗号通信装置200,500、携帯端末201)の上記一時鍵生成用データ通知部(250、対検針メータ通信部291)から通知された上記一時鍵生成用データ(世代番号412)が有効であると上記第二暗号通信装置の上記一時鍵生成用データ検証部(350、受信判定部396)が判定した場合に、上記第二暗号通信装置の上記一時鍵生成用データ検証部が有効であると判定した上記一時鍵生成用データを、上記検証用データ(一時鍵生成用データ、世代番号432)として記憶する。
 これにより、管理装置の一時鍵生成用データと、第二暗号通信装置の検証用データとを、容易に同期させることができる。
 上記管理装置(100、管理サーバ101)は、更に、初期化コマンド生成部(165、リセットパケット生成部166)を有する。
 上記管理装置の上記初期化コマンド生成部は、上記第二暗号通信装置(暗号通信装置300、検針メータ301)の上記検証用データ記憶部(330、世代番号カウンタ331)が記憶した検証用データ(世代番号432)を初期化する初期化コマンド(リセットパケット419)を生成する。
 上記第一暗号通信装置(暗号通信装置200、携帯端末201)は、更に、初期化コマンド通知部(285、リセットパケット出力部297)を有する。
 上記第一暗号通信装置の上記初期化コマンド通知部は、上記管理装置の上記初期化コマンド生成部が生成した上記初期化コマンドを上記第二暗号通信装置に対して通知する。
 上記第二暗号通信装置は、更に、初期化コマンド検証部(375、受信判定部396)を有する。
 上記第二暗号通信装置の上記初期化コマンド検証部は、上記第一暗号通信装置の上記初期化コマンド通知部から通知された上記初期化コマンドが有効であるか否かを判定する。
 上記第二暗号通信装置の上記検証用データ記憶部は、上記第一暗号通信装置の上記初期化コマンド通知部から通知された上記初期化コマンドが有効であると上記第二暗号通信装置の上記初期化コマンド検証部が判定した場合に、記憶した上記検証用データを初期化する。
 これにより、なんらかの原因により、検証用データが異常値になった場合でも、検証用データを初期化して、正常値に戻すことができる。
 上記第二暗号通信装置(暗号通信装置300、検針メータ301)の上記初期化コマンド検証部(375、受信判定部396)は、上記第一暗号通信装置(暗号通信装置200、携帯端末201)の上記初期化コマンド通知部(285、リセットパケット出力部297)から通知された上記初期化コマンド(リセットパケット419)が生成されてから所定の期間が経過していない場合に、上記第一暗号通信装置の上記初期化コマンド通知部から通知された上記初期化コマンドが有効であると判定する。
 これにより、古い初期化コマンドを無効にすることができるので、初期化コマンドが漏洩した場合でも、第三者が初期化コマンドを悪用して第二暗号通信装置との間で暗号通信をするのを防ぐことができる。
 上記管理装置(100、管理サーバ101)の上記初期化コマンド生成部(165、リセットパケット生成部166)が生成した上記初期化コマンド(リセットパケット419)は、上記初期化コマンドが生成された日付を表わす情報を含む。
 上記第二暗号通信装置(暗号通信装置300、検針メータ301)の上記初期化コマンド検証部(375、受信判定部396)は、上記第一暗号通信装置(暗号通信装置200、携帯端末201)の上記初期化コマンド通知部(285、リセットパケット出力部297)から通知された上記初期化コマンドに含まれる上記情報が表わす上記日付が、現在の日付から所定の日数前より以後である場合に、上記第一暗号通信装置の上記初期化コマンド通知部から通知された上記初期化コマンドが有効であると判定する。
 これにより、生成されてから所定の日数以上が経過した初期化コマンドを無効にすることができる。
 上記管理装置(100、管理サーバ101)の上記初期化コマンド生成部(165、リセットパケット生成部166)が生成した上記初期化コマンド(リセットパケット419)は、上記管理装置の上記一時鍵生成用データ記憶部(130、世代番号カウンタ131)が記憶した上記一時鍵生成用データ(世代番号412)を表わす情報を含む。
 上記第二暗号通信装置(暗号通信装置300、検針メータ301)の上記検証用データ記憶部(330、世代番号カウンタ331)は、有効であると上記第二暗号通信装置の上記初期化コマンド検証部(375、受信判定部396)が判定した上記初期化コマンドに含まれる上記情報が表わす上記一時鍵生成用データを、上記検証用データ(世代番号432)として記憶することにより、上記検証用データを初期化する。
 これにより、管理装置の一時鍵生成用データと、第二暗号通信装置の検証用データとを、同期させることができる。
 上記第二暗号通信装置(暗号通信装置300、検針メータ301)の上記一時鍵生成用データ検証部(350、受信判定部396)は、上記第二暗号通信装置の上記検証用データ記憶部(330、世代番号カウンタ331)が上記検証用データ(世代番号432)を初期化してから所定の期間が経過するまでの間は、上記第一暗号通信装置(暗号通信装置200、携帯端末201)の上記一時鍵生成用データ通知部(250、対検針メータ通信部291)から通知された上記一時鍵生成用データ(世代番号412)が表わす上記数値が、上記第二暗号通信装置の上記検証用データ記憶部(330、世代番号カウンタ331)が記憶した上記検証用データ(世代番号432)が表わす上記数値と等しい場合に、上記第一暗号通信装置の上記一時鍵生成用データ通知部から通知された上記一時鍵生成用データが有効であると判定し、上記第二暗号通信装置の上記検証用データ記憶部が上記検証用データを初期化する前、及び、上記第二暗号通信装置の上記検証用データ記憶部が上記検証用データを初期化してから所定の期間が経過した後は、上記第一暗号通信装置の上記一時鍵生成用データ通知部から通知された上記一時鍵生成用データが表わす上記数値が、上記第二暗号通信装置の上記検証用データ記憶部が記憶した上記検証用データが表わす上記数値以上である場合に、上記第一暗号通信装置の上記一時鍵生成用データ通知部から通知された上記一時鍵生成用データが有効であると判定する。
 これにより、検証用データが初期化されてから所定の期間が経過するまでの間は、初期化された検証用データと等しい一時鍵生成用データしか受け付けないので、初期化コマンドや一時鍵が漏洩した場合でも、第三者が第二暗号通信装置と暗号通信をするのを防ぐことができる。
 上記管理装置(100、管理サーバ101)の上記初期化コマンド生成部(165、リセットパケット生成部166)が生成した上記初期化コマンド(リセットパケット419)は、上記管理装置の上記マスター鍵記憶部(110、111)が記憶した第一マスター鍵(マスター鍵411)を使って暗号化した情報を含む。
 上記第二暗号通信装置(暗号通信装置300、検針メータ301)の上記初期化コマンド検証部(375、メッセージ検証部398)は、上記第一暗号通信装置(暗号通信装置200、携帯端末201)の上記初期化コマンド通知部(285、リセットパケット出力部297)から通知された上記初期化コマンドに含まれる情報を、上記第二暗号通信装置の上記マスター鍵記憶部(310、311)が記憶した第二マスター鍵(マスター鍵431)を使って復号する。
 これにより、第一マスター鍵を知っているものが初期化コマンドを生成したことを検証することができる。
 上記第一暗号通信装置(暗号通信装置200、携帯端末201)は、上記管理装置から物理的に離れて構成された装置である。
 上記管理装置(100、管理サーバ101)は、更に、一時鍵通知部(170、出力判定部171)と、一時鍵生成用データ通知部(150、出力判定部171)とを有する。
 上記管理装置の上記一時鍵通知部は、上記管理装置の上記一時鍵生成部(160、一時鍵生成部164)が生成した上記第一一時鍵(一時鍵413)を、上記第一暗号通信装置に対して通知する。
 上記管理装置の上記一時鍵生成用データ通知部は、上記管理装置の上記一時鍵生成部が上記第一一時鍵の生成に使った上記一時鍵生成用データ(世代番号412)を、上記第一暗号通信装置に対して通知する。
 上記第一暗号通信装置は、更に、一時鍵記憶部(270)と、一時鍵生成用データ記憶部(230)とを有する。
 上記第一暗号通信装置の上記一時鍵記憶部は、上記管理装置の上記一時鍵通知部から通知された上記第一一時鍵を記憶する。
 上記第一暗号通信装置の上記一時鍵生成用データ記憶部は、上記管理装置の上記一時鍵生成用データ通知部から通知された上記一時鍵生成用データを記憶する。
 上記第一暗号通信装置の上記一時鍵生成用データ通知部(250、対検針メータ通信部291)は、上記第一暗号通信装置の上記一時鍵生成用データ記憶部が記憶した上記一時鍵生成用データを、上記第二暗号通信装置(300、検針メータ301)に対して通知する。
 第一暗号通信装置があらかじめ一時鍵と一時鍵生成用データとを取得して記憶しておくことにより、管理装置と通信する回数を減らすことができる。また、第一暗号通信装置は、第一マスター鍵を知らないので、第一暗号通信装置から情報が漏洩した場合でも、第三者が、第二暗号通信装置と暗号通信できる一時鍵を生成するのを防ぐことができる。
 上記第一暗号通信装置(暗号通信装置200、携帯端末201)は、携帯可能である。
 第一暗号通信装置が携帯可能なので、第一暗号通信装置の利用者が第一暗号通信装置を紛失し、第三者が拾得することにより、第一暗号通信装置が記憶した情報が漏洩する可能性がある。しかし、第一暗号通信装置は、第一マスター鍵を知らないので、第三者が、第二暗号通信装置と暗号通信できる一時鍵を生成するのを防ぐことができる。
 以上説明した暗号処理装置(管理装置100、暗号通信装置200,300,500、管理サーバ101、携帯端末201、検針メータ301)は、マスター鍵記憶部(110、310、111、311)と、一時鍵生成部(160、360、164、364)とを有する。
 上記マスター鍵記憶部は、マスター鍵(411、431)を記憶する。
 上記一時鍵生成部は、上記マスター鍵記憶部が記憶した上記マスター鍵と、一時鍵生成用データ(世代番号412,432)とを使って、一時鍵(413,435)を生成する。
 マスター鍵と一時鍵生成用データとから一時鍵を生成するので、暗号通信に使う一時鍵を容易に変えることができる。
 上記暗号処理装置(暗号通信装置300,500、検針メータ301)は、更に、一時鍵生成用データ検証部(350、受信判定部396)と、暗号通信部(390、対携帯端末通信部391)とを有する。
 上記一時鍵生成用データ検証部は、他の暗号処理装置(暗号通信装置200,500、携帯端末201、検針メータ301)から通知された一時鍵生成用データ(世代番号412,432)が有効であるか否かを判定する。
 上記一時鍵生成部は、上記他の暗号処理装置から通知された上記一時鍵生成用データが有効であると上記一時鍵生成用データ検証部が判定した場合に、上記マスター鍵記憶部(110、310、111、311)が記憶した上記マスター鍵(411、431)と、有効であると上記一時鍵生成用データ検証部が判定した上記一時鍵生成用データとを使って、一時鍵(435)を生成する。
 上記暗号通信部(390、対携帯端末通信部391)は、上記一時鍵生成部が生成した上記一時鍵を使って、上記他の暗号処理装置との間で暗号通信をする。
 他の暗号処理装置から通知された一時鍵生成用データの有効性を判定し、有効であると判定した一時鍵生成用データを使って生成した一時鍵を使って暗号通信をするので、容易に、暗号通信に使う一時鍵を合意することができる。
 上記暗号処理装置(暗号通信装置300,500、検針メータ301)は、更に、一時鍵生成用データ記憶部(130、検証用データ記憶部330、世代番号カウンタ331)と、一時鍵生成用データ更新部(140、検証用データ更新部340、世代番号カウンタ331)とを有する。
 上記一時鍵生成用データ記憶部は、上記一時鍵生成部(160、360、364)が上記一時鍵(413、435)の生成に使う一時鍵生成用データ(世代番号432)を記憶する。
 上記一時鍵生成用データ更新部は、所定の周期が経過するごとに、上記一時鍵生成用データ記憶部が記憶した上記一時鍵生成用データを、繰り返し更新する。
 上記一時鍵生成用データ検証部(350、受信判定部396)は、上記一時鍵生成用データ記憶部が記憶した上記一時鍵生成用データを使って、上記他の暗号処理装置(暗号通信装置200,500、携帯端末201、検針メータ301)から通知された上記一時鍵生成用データ(世代番号412,432)が有効であるか否かを判定する。
 古い一時鍵生成用データを無効にすることができるので、一時鍵が漏洩した場合でも、第三者が暗号処理装置と暗号通信をするのを防ぐことができる。
 上記一時鍵生成用データ記憶部(130、検証用データ記憶部330、世代番号カウンタ331)が記憶した上記一時鍵生成用データ(世代番号432)は、数値を表わすデータである。
 上記一時鍵生成用データ更新部(140、検証用データ更新部340、世代番号カウンタ331)は、上記一時鍵生成用データ記憶部が記憶した上記一時鍵生成用データが表わす上記数値に、所定の増分値を加算した和を算出し、上記一時鍵生成用データ記憶部が記憶した上記一時鍵生成用データを、算出した上記和を表わすデータで更新する。
 上記一時鍵生成用データ検証部(350、受信判定部396)は、上記他の暗号処理装置(暗号通信装置200,500、携帯端末201、検針メータ301)から通知された上記一時鍵生成用データ(世代番号412)が表わす上記数値が、上記一時鍵生成用データ記憶部が記憶した上記一時鍵生成用データが表わす上記数値以上である場合に、上記他の暗号処理装置から通知された上記一時鍵生成用データが有効であると判定する。
 これにより、一時鍵生成用データの有効性を、容易に判定することができる。
 上記一時鍵生成用データ記憶部(130、検証用データ記憶部330、世代番号カウンタ331)は、上記他の暗号処理装置(暗号通信装置200,500、携帯端末201、検針メータ301)から通知された上記一時鍵生成用データ(世代番号412,432)が有効であると上記一時鍵生成用データ検証部(350、受信判定部396)が判定した場合に、有効であると上記一時鍵生成用データ検証部が判定した上記一時鍵生成用データを記憶する。
 これにより、暗号処理装置間で、一時鍵生成用データを容易に同期することができる。
 上記暗号処理装置(暗号通信装置300、検針メータ301)は、更に、初期化コマンド検証部(初期化コマンド検証部375、受信判定部396)を有する。
 上記初期化コマンド検証部は、上記他の暗号処理装置(暗号通信装置200、携帯端末201、管理サーバ101)から通知された初期化コマンド(リセットパケット419)が有効であるか否かを判定する。
 上記一時鍵生成用データ記憶部(検証用データ記憶部330、世代番号カウンタ331)は、上記他の暗号処理装置から通知された上記初期化コマンドが有効であると上記初期化コマンド検証部が判定した場合に、記憶した上記一時鍵生成用データ(世代番号432)を初期化する。
 これにより、なんらかの原因で一時鍵生成用データが異常値になった場合でも、一時鍵生成用データを正常値に戻すことができる。
 上記暗号処理装置(暗号通信装置200,500、携帯端末201、検針メータ301)は、更に、一時鍵生成用データ通知部(250、対検針メータ通信部291)と、暗号通信部(290、対検針メータ通信部291,371)とを有する。
 上記一時鍵生成用データ通知部は、上記一時鍵生成部(160、164、364)が上記一時鍵(一時鍵413,435)の生成に使った上記一時鍵生成用データ(世代番号412,432)を、他の暗号処理装置(暗号通信装置300,500、検針メータ301)に対して通知する。
 上記暗号通信部は、上記一時鍵生成部が生成した上記一時鍵を使って、上記他の暗号通信装置との間で暗号通信をする。
 他の暗号処理装置に対して通知した一時鍵生成用データを使って生成した一時鍵を使って暗号通信をするので、容易に、暗号通信に使う一時鍵を合意することができる。
 以上説明した管理装置(100、暗号通信装置500、管理サーバ101)、第一暗号通信装置(暗号通信装置200,500、携帯端末201)、第二暗号通信装置(暗号通信装置300,500、検針メータ301)及び暗号処理装置(管理装置100、暗号通信装置200,300,500、管理サーバ101、携帯端末201、検針メータ301)は、コンピュータプログラムをコンピュータが実行することにより実現することができる。
 管理装置、第一暗号通信装置、第二暗号通信装置または暗号処理装置としてコンピュータを機能させるコンピュータプログラムによれば、以上説明した効果を奏する暗号通信システムや暗号処理装置を、容易に実現することができる。
 例えば、自動検針システム(801)では、検針メータ(301)と外部装置(携帯端末201)とが通信を行い、電力情報や制御情報を通信する。この際、無線区間を通信することがあり、盗聴等の不正行為からこれらを保護する必要がある。情報を盗聴や改ざん等の不正行為から保護するために、情報に対して暗号化を施して送信し、受信側で復号して利用する暗号通信システムが利用される。
 暗号通信システムにおいては、送受信者間で暗号化に使用する鍵の共有を図る必要がある。特に、共通鍵暗号と呼ばれる暗号を用いる場合は、共有した鍵が外部に漏洩しないようにする必要がある。
 以上説明した暗号通信システムによれば、暗号化に使用する鍵を容易に変えることができる。また、携帯端末を紛失し、万一、不正者が当該端末を取得した場合でも、全ての検針メータの検針情報を取得することはできない。
 また、クライアント―サーバ間でカウンタを容易に同期させることができる。カウンタがずれた場合でも、ずれを修正することができるので、ずれが一定範囲を超えた場合でも通信が可能である。
 また、一時鍵が漏洩しても、一定期間の経過により一時鍵を自動的に無効化することができる。
 また、検針メータの時計と、携帯端末の時計とを、完全に同期させる必要はない。このため、時刻同期情報の精度や真正性を別に担保する必要がない。
 以上説明した暗号通信システムによれば、一時鍵を用いながらも、鍵の無効化と鍵の同期を実現する通信装置を提供できる。
 なお、以上説明した暗号通信システムは、自動検針システムにおける検針メータと携帯端末との間の通信に限らず、任意の装置の暗号通信に適用することができる。
 100 管理装置、101 管理サーバ、102 管理部、110,111,310,311 マスター鍵記憶部、130,230 一時鍵生成用データ記憶部、131,331 世代番号カウンタ、140 一時鍵生成用データ更新部、150,250 一時鍵生成用データ通知部、156,356 時計、160,164,174,360,364 一時鍵生成部、161 鍵情報管理部、162,172 認証部、163,173,363 マスター鍵選択部、165 初期化コマンド生成部、166 リセットパケット生成部、170 一時鍵通知部、171,177 出力判定部、175,285 初期化コマンド通知部、176 パケット生成部、200,300,500 暗号通信装置、201 携帯端末、202 通信部、220,320 一時鍵生成用データ取得部、221 対管理サーバ通信部、222 一時鍵発行要求生成部、223 一時鍵情報取得部、224 リセットパケット発行要求生成部、225 リセットパケット取得部、260 一時鍵取得部、265,365 初期化コマンド取得部、270 一時鍵記憶部、275 初期化コマンド記憶部、281 メッセージ生成部、290,390 暗号通信部、291,371 対検針メータ通信部、292,392 暗号化部、293,393 多重化部、294,394 分離部、295,395 復号部、296,396 受信判定部、297 リセットパケット出力部、301 検針メータ、302 検証部、330 検証用データ記憶部、340 検証用データ更新部、350 一時鍵生成用データ検証部、375 初期化コマンド検証部、381 メッセージ処理部、391 対携帯端末通信部、397 応答メッセージ生成部、398 メッセージ検証部、411,431 マスター鍵、412,432 世代番号、413,435 一時鍵、414 出力判定信号、416 生成時刻、417 定数、418,438 現在時刻、419 リセットパケット、421 一時鍵発行要求、422 鍵種別情報、423 メッセージ、424 暗号化メッセージ、425 認証情報、426,436 暗号文、427,437 検証結果、428 リセットパケット発行要求、433 応答、434 暗号化応答、439 リセット応答、440 メッセージ認証子、800 暗号通信システム、801 自動検針システム、802 無線網、803 公衆網、911 処理装置、912 入力装置、913 出力装置、914 記憶装置、915 通信装置、S601 初期化処理、S602 更新処理、S603 一時鍵通知処理、S604 暗号通信処理、S605 リセットパケット通知処理、S606 世代番号リセット処理、S611,S631 マスター鍵記憶工程、S612 一時鍵生成用データ初期化工程、S613,S633 周期経過判定工程、S614 一時鍵生成用データ更新工程、S615 一時鍵要求受付工程、S616,S637,S644,S655,S672,S684,S694,S702 一時鍵生成工程、S617 初期化コマンド生成工程、S618 一時鍵通知工程、S619,S624 一時鍵生成用データ通知工程、S620,S629 初期化コマンド通知工程、S621 一時鍵要求工程、S622 一時鍵取得工程、S623,S635 一時鍵生成用データ取得工程、S625,S638 暗号通信工程、S626 拒絶取得工程、S627 初期化コマンド要求工程、S628,S648 初期化コマンド取得工程、S632 検証用データ初期化工程、S634 検証用データ更新工程、S636 一時鍵生成用データ検証工程、S641 一時鍵発行要求生成工程、S642,S682 認証工程、S643,S654,S671,S683,S693,S701 マスター鍵選択工程、S645,S686 出力工程、S646 一時鍵情報取得工程、S647 拒絶通知工程、S649 初期化コマンド検証工程、S651,S673 暗号化工程、S652,S674,S704 多重化工程、S653,S675,S692 分離工程、S656,S676 復号工程、S657,S677,S696 受信判定工程、S660 メッセージ処理工程、S681 リセットパケット発行要求生成工程、S685 パケット生成工程、S687 リセットパケット取得工程、S691 リセットパケット出力工程、S695 メッセージ検証工程、S697 世代番号リセット工程、S703 応答メッセージ生成工程、S705 リセット応答取得工程。

Claims (21)

  1.  管理装置と、第一暗号通信装置と、第二暗号通信装置とを備える暗号通信システムにおいて、
     上記管理装置は、マスター鍵記憶部と、一時鍵生成部とを有し、
     上記管理装置の上記マスター鍵記憶部は、第一マスター鍵を記憶し、
     上記管理装置の上記一時鍵生成部は、上記管理装置の上記マスター鍵記憶部が記憶した上記第一マスター鍵と、一時鍵生成用データとを使って、第一一時鍵を生成し、
     上記第一暗号通信装置は、一時鍵生成用データ通知部と、暗号通信部とを有し、
     上記第一暗号通信装置の上記一時鍵生成用データ通知部は、上記管理装置の上記一時鍵生成部が上記第一一時鍵の生成に使った上記一時鍵生成用データを、上記第二暗号通信装置に対して通知し、
     上記第一暗号通信装置の上記暗号通信部は、上記管理装置の上記一時鍵生成部が生成した上記第一一時鍵を使って、上記第二暗号通信装置との間で暗号通信をし、
     上記第二暗号通信装置は、マスター鍵記憶部と、一時鍵生成用データ検証部と、一時鍵生成部と、暗号通信部とを有し、
     上記第二暗号通信装置の上記マスター鍵記憶部は、上記管理装置の上記マスター鍵記憶部が記憶した上記第一マスター鍵と同一の、又は、上記第一マスター鍵に対応する、第二マスター鍵を記憶し、
     上記第二暗号通信装置の上記一時鍵生成用データ検証部は、上記第一暗号通信装置の上記一時鍵生成用データ通知部から通知された上記一時鍵生成用データが有効であるか否かを判定し、
     上記第二暗号通信装置の上記一時鍵生成部は、上記第一暗号通信装置の上記一時鍵生成用データ通知部から通知された上記一時鍵生成用データが有効であると上記第二暗号通信装置の上記一時鍵生成用データ検証部が判定した場合に、上記第二暗号通信装置の上記マスター鍵記憶部が記憶した上記第二マスター鍵と、上記第二暗号通信装置の上記一時鍵生成用データ検証部が有効であると判定した上記一時鍵生成用データとを使って、上記管理装置の上記一時鍵生成部が生成した上記第一一時鍵と同一の、又は、上記第一一時鍵に対応する第二一時鍵を生成し、
     上記第二暗号通信装置の上記暗号通信部は、上記第二暗号通信装置の上記一時鍵生成部が生成した上記第二一時鍵を使って、上記第一暗号通信装置との間で暗号通信をする
    ことを特徴とする暗号通信システム。
  2.  上記管理装置は、更に、一時鍵生成用データ記憶部と、一時鍵生成用データ更新部とを有し、
     上記管理装置の上記一時鍵生成用データ記憶部は、上記管理装置の上記一時鍵生成部が上記第一一時鍵の生成に使う一時鍵生成用データを記憶し、
     上記管理装置の上記一時鍵生成用データ更新部は、所定の周期が経過するごとに、上記管理装置の上記一時鍵生成用データ記憶部が記憶した上記一時鍵生成用データを、繰り返し更新し、
     上記第二暗号通信装置は、更に、検証用データ記憶部と、検証用データ更新部とを有し、
     上記第二暗号通信装置の上記検証用データ記憶部は、検証用データを記憶し、
     上記第二暗号通信装置の上記検証用データ更新部は、所定の周期が経過するごとに、上記第二暗号通信装置の上記検証用データ記憶部が記憶した上記検証用データを、繰り返し更新し、
     上記第二暗号通信装置の上記一時鍵生成用データ検証部は、上記第二暗号通信装置の上記検証用データ記憶部が記憶した上記検証用データを使って、上記第一暗号通信装置の上記一時鍵生成用データ通知部から通知された上記一時鍵生成用データが有効であるか否かを判定する
    ことを特徴とする請求項1に記載の暗号通信システム。
  3.  上記管理装置の上記一時鍵生成用データ記憶部が記憶した上記一時鍵生成用データ、及び、上記第二暗号通信装置の上記検証用データ記憶部が記憶した上記検証用データは、数値を表わすデータであり、
     上記管理装置の上記一時鍵生成用データ更新部は、上記管理装置の上記一時鍵生成用データ記憶部が記憶した上記一時鍵生成用データが表わす上記数値に、所定の増分値を加算した和を算出し、上記管理装置の上記一時鍵生成用データ記憶部が記憶した上記一時鍵生成用データを、算出した上記和を表わすデータで更新し、
     上記第二暗号通信装置の上記検証用データ更新部は、上記管理装置の上記一時鍵生成用データ更新部が上記一時鍵生成用データを更新する上記所定の周期の略n倍(nは、正の実数。)の周期が経過するごとに、上記第二暗号通信装置の上記検証用データ記憶部が記憶した上記検証用データが表わす上記数値に、上記管理装置の上記一時鍵生成用データ更新部が上記一時鍵生成用データの更新に使う上記所定の増分値のn倍の増分値を加算した和を算出し、上記第二暗号通信装置の上記検証用データ記憶部が記憶した上記検証用データを、算出した上記和を表わすデータで更新し、
     上記第二暗号通信装置の上記一時鍵生成用データ検証部は、上記第一暗号通信装置の上記一時鍵生成用データ通知部から通知された上記一時鍵生成用データが表わす上記数値が、上記第二暗号通信装置の上記検証用データ記憶部が記憶した上記検証用データが表わす上記数値以上である場合に、上記第一暗号通信装置の上記一時鍵生成用データ通知部から通知された上記一時鍵生成用データが有効であると判定する
    ことを特徴とする請求項2に記載の暗号通信システム。
  4.  上記第二暗号通信装置の上記検証用データ記憶部は、上記第一暗号通信装置の上記一時鍵生成用データ通知部から通知された上記一時鍵生成用データが有効であると上記第二暗号通信装置の上記一時鍵生成用データ検証部が判定した場合に、上記第二暗号通信装置の上記一時鍵生成用データ検証部が有効であると判定した上記一時鍵生成用データを、上記検証用データとして記憶することを特徴とする請求項2に記載の暗号通信システム。
  5.  上記第二暗号通信装置は、更に、検証用データ記憶部を有し、
     上記第二暗号通信装置の上記検証用データ記憶部は、検証用データを記憶し、
     上記第二暗号通信装置の上記一時鍵生成用データ検証部は、上記第二暗号通信装置の上記検証用データ記憶部が記憶した上記検証用データを使って、上記第一暗号通信装置の上記一時鍵生成用データ通知部から通知された上記一時鍵生成用データが有効であるか否かを判定し、
     上記管理装置は、更に、初期化コマンド生成部を有し、
     上記管理装置の上記初期化コマンド生成部は、上記第二暗号通信装置の上記検証用データ記憶部が記憶した検証用データを初期化する初期化コマンドを生成し、
     上記第一暗号通信装置は、更に、初期化コマンド通知部を有し、
     上記第一暗号通信装置の上記初期化コマンド通知部は、上記管理装置の上記初期化コマンド生成部が生成した上記初期化コマンドを上記第二暗号通信装置に対して通知し、
     上記第二暗号通信装置は、更に、初期化コマンド検証部を有し、
     上記第二暗号通信装置の上記初期化コマンド検証部は、上記第一暗号通信装置の上記初期化コマンド通知部から通知された上記初期化コマンドが有効であるか否かを判定し、
     上記第二暗号通信装置の上記検証用データ記憶部は、上記第一暗号通信装置の上記初期化コマンド通知部から通知された上記初期化コマンドが有効であると上記第二暗号通信装置の上記初期化コマンド検証部が判定した場合に、記憶した上記検証用データを初期化する
    ことを特徴とする請求項1乃至請求項4のいずれかに記載の暗号通信システム。
  6.  上記第二暗号通信装置の上記初期化コマンド検証部は、上記第一暗号通信装置の上記初期化コマンド通知部から通知された上記初期化コマンドが生成されてから所定の期間が経過していない場合に、上記第一暗号通信装置の上記初期化コマンド通知部から通知された上記初期化コマンドが有効であると判定する
    ことを特徴とする請求項5に記載の暗号通信システム。
  7.  上記管理装置の上記初期化コマンド生成部が生成した上記初期化コマンドは、上記初期化コマンドが生成された日付を表わす情報を含み、
     上記第二暗号通信装置の上記初期化コマンド検証部は、上記第一暗号通信装置の上記初期化コマンド通知部から通知された上記初期化コマンドに含まれる上記情報が表わす上記日付が、現在の日付から所定の日数前より以後である場合に、上記第一暗号通信装置の上記初期化コマンド通知部から通知された上記初期化コマンドが有効であると判定する
    ことを特徴とする請求項6に記載の暗号通信システム。
  8.  上記管理装置は、更に、一時鍵生成用データ記憶部と、一時鍵生成用データ更新部とを有し、
     上記管理装置の上記一時鍵生成用データ記憶部は、上記管理装置の上記一時鍵生成部が上記第一一時鍵の生成に使う一時鍵生成用データを記憶し、
     上記管理装置の上記一時鍵生成用データ更新部は、所定の周期が経過するごとに、上記管理装置の上記一時鍵生成用データ記憶部が記憶した上記一時鍵生成用データを、繰り返し更新し、
     上記第二暗号通信装置は、更に、検証用データ更新部を有し、
     上記第二暗号通信装置の上記検証用データ更新部は、所定の周期が経過するごとに、上記第二暗号通信装置の上記検証用データ記憶部が記憶した上記検証用データを、繰り返し更新し、
     上記管理装置の上記初期化コマンド生成部が生成した上記初期化コマンドは、上記管理装置の上記一時鍵生成用データ記憶部が記憶した上記一時鍵生成用データを表わす情報を含み、
     上記第二暗号通信装置の上記検証用データ記憶部は、有効であると上記第二暗号通信装置の上記初期化コマンド検証部が判定した上記初期化コマンドに含まれる上記情報が表わす上記一時鍵生成用データを、上記検証用データとして記憶することにより、上記検証用データを初期化する
    ことを特徴とする請求項5に記載の暗号通信システム。
  9.  上記管理装置の上記一時鍵生成用データ記憶部が記憶した上記一時鍵生成用データ、及び、上記第二暗号通信装置の上記検証用データ記憶部が記憶した上記検証用データは、数値を表わすデータであり、
     上記管理装置の上記一時鍵生成用データ更新部は、上記管理装置の上記一時鍵生成用データ記憶部が記憶した上記一時鍵生成用データが表わす上記数値に、所定の増分値を加算した和を算出し、上記管理装置の上記一時鍵生成用データ記憶部が記憶した上記一時鍵生成用データを、算出した上記和を表わすデータで更新し、
     上記第二暗号通信装置の上記検証用データ更新部は、上記管理装置の上記一時鍵生成用データ更新部が上記一時鍵生成用データを更新する上記所定の周期の略n倍(nは、正の実数。)の周期が経過するごとに、上記第二暗号通信装置の上記検証用データ記憶部が記憶した上記検証用データが表わす上記数値に、上記管理装置の上記一時鍵生成用データ更新部が上記一時鍵生成用データの更新に使う上記所定の増分値のn倍の増分値を加算した和を算出し、上記第二暗号通信装置の上記検証用データ記憶部が記憶した上記検証用データを、算出した上記和を表わすデータで更新し、
     上記第二暗号通信装置の上記一時鍵生成用データ検証部は、上記第二暗号通信装置の上記検証用データ記憶部が上記検証用データを初期化してから所定の期間が経過するまでの間は、上記第一暗号通信装置の上記一時鍵生成用データ通知部から通知された上記一時鍵生成用データが表わす上記数値が、上記第二暗号通信装置の上記検証用データ記憶部が記憶した上記検証用データが表わす上記数値と等しい場合に、上記第一暗号通信装置の上記一時鍵生成用データ通知部から通知された上記一時鍵生成用データが有効であると判定し、上記第二暗号通信装置の上記検証用データ記憶部が上記検証用データを初期化する前、及び、上記第二暗号通信装置の上記検証用データ記憶部が上記検証用データを初期化してから所定の期間が経過した後は、上記第一暗号通信装置の上記一時鍵生成用データ通知部から通知された上記一時鍵生成用データが表わす上記数値が、上記第二暗号通信装置の上記検証用データ記憶部が記憶した上記検証用データが表わす上記数値以上である場合に、上記第一暗号通信装置の上記一時鍵生成用データ通知部から通知された上記一時鍵生成用データが有効であると判定する
    ことを特徴とする請求項8に記載の暗号通信システム。
  10.  上記管理装置の上記初期化コマンド生成部が生成した上記初期化コマンドは、上記管理装置の上記マスター鍵記憶部が記憶した上記第一マスター鍵を使って暗号化した情報を含み、
     上記第二暗号通信装置の上記初期化コマンド検証部は、上記第一暗号通信装置の上記初期化コマンド通知部から通知された上記初期化コマンドに含まれる情報を、上記第二暗号通信装置の上記マスター鍵記憶部が記憶した上記第二マスター鍵を使って復号する
    ことを特徴とする請求項5に記載の暗号通信システム。
  11.  上記第一暗号通信装置は、上記管理装置から物理的に離れて構成された装置であり、
     上記管理装置は、更に、一時鍵通知部と、一時鍵生成用データ通知部とを有し、
     上記管理装置の上記一時鍵通知部は、上記管理装置の上記一時鍵生成部が生成した上記第一一時鍵を、上記第一暗号通信装置に対して通知し、
     上記管理装置の上記一時鍵生成用データ通知部は、上記管理装置の上記一時鍵生成部が上記第一一時鍵の生成に使った上記一時鍵生成用データを、上記第一暗号通信装置に対して通知し、
     上記第一暗号通信装置は、更に、一時鍵記憶部と、一時鍵生成用データ記憶部とを有し、
     上記第一暗号通信装置の上記一時鍵記憶部は、上記管理装置の上記一時鍵通知部から通知された上記第一一時鍵を記憶し、
     上記第一暗号通信装置の上記一時鍵生成用データ記憶部は、上記管理装置の上記一時鍵生成用データ通知部から通知された上記一時鍵生成用データを記憶し、
     上記第一暗号通信装置の上記一時鍵生成用データ通知部は、上記第一暗号通信装置の上記一時鍵生成用データ記憶部が記憶した上記一時鍵生成用データを、上記第二暗号通信装置に対して通知する
    ことを特徴とする請求項1乃至請求項4のいずれかに記載の暗号通信システム。
  12.  上記第一暗号通信装置は、携帯可能であることを特徴とする請求項11に記載の暗号通信システム。
  13.  マスター鍵記憶部と、一時鍵生成部とを有し、
     上記マスター鍵記憶部は、マスター鍵を記憶し、
     上記一時鍵生成部は、上記マスター鍵記憶部が記憶した上記マスター鍵と、一時鍵生成用データとを使って、一時鍵を生成する
    ことを特徴とする暗号処理装置。
  14.  上記暗号処理装置は、更に、一時鍵生成用データ検証部と、暗号通信部とを有し、
     上記一時鍵生成用データ検証部は、他の暗号処理装置から通知された一時鍵生成用データが有効であるか否かを判定し、
     上記一時鍵生成部は、上記他の暗号処理装置から通知された上記一時鍵生成用データが有効であると上記一時鍵生成用データ検証部が判定した場合に、上記マスター鍵記憶部が記憶した上記マスター鍵と、有効であると上記一時鍵生成用データ検証部が判定した上記一時鍵生成用データとを使って、上記一時鍵を生成し、
     上記暗号通信部は、上記一時鍵生成部が生成した上記一時鍵を使って、上記他の暗号処理装置との間で暗号通信をする
    ことを特徴とする請求項13に記載の暗号処理装置。
  15.  上記暗号処理装置は、更に、一時鍵生成用データ記憶部と、一時鍵生成用データ更新部とを有し、
     上記一時鍵生成用データ記憶部は、上記一時鍵生成部が上記一時鍵の生成に使う一時鍵生成用データを記憶し、
     上記一時鍵生成用データ更新部は、所定の周期が経過するごとに、上記一時鍵生成用データ記憶部が記憶した上記一時鍵生成用データを、繰り返し更新し、
     上記一時鍵生成用データ検証部は、上記一時鍵生成用データ記憶部が記憶した上記一時鍵生成用データを使って、上記他の暗号処理装置から通知された上記一時鍵生成用データが有効であるか否かを判定する
    ことを特徴とする請求項14に記載の暗号処理装置。
  16.  上記一時鍵生成用データ記憶部が記憶した上記一時鍵生成用データは、数値を表わすデータであり、
     上記一時鍵生成用データ更新部は、上記一時鍵生成用データ記憶部が記憶した上記一時鍵生成用データが表わす上記数値に、所定の増分値を加算した和を算出し、上記一時鍵生成用データ記憶部が記憶した上記一時鍵生成用データを、算出した上記和を表わすデータで更新し、
     上記一時鍵生成用データ検証部は、上記他の暗号処理装置から通知された上記一時鍵生成用データが表わす上記数値が、上記一時鍵生成用データ記憶部が記憶した上記一時鍵生成用データが表わす上記数値以上である場合に、上記他の暗号処理装置から通知された上記一時鍵生成用データが有効であると判定する
    ことを特徴とする請求項15に記載の暗号処理装置。
  17.  上記一時鍵生成用データ記憶部は、上記他の暗号処理装置から通知された上記一時鍵生成用データが有効であると上記一時鍵生成用データ検証部が判定した場合に、有効であると上記一時鍵生成用データ検証部が判定した上記一時鍵生成用データを記憶することを特徴とする請求項16に記載の暗号処理装置。
  18.  上記暗号処理装置は、更に、初期化コマンド検証部を有し、
     上記初期化コマンド検証部は、上記他の暗号処理装置から通知された初期化コマンドが有効であるか否かを判定し、
     上記一時鍵生成用データ記憶部は、上記他の暗号処理装置から通知された上記初期化コマンドが有効であると上記初期化コマンド検証部が判定した場合に、記憶した上記一時鍵生成用データを初期化する
    ことを特徴とする請求項15乃至請求項17のいずれかに記載の暗号処理装置。
  19.  上記暗号処理装置は、更に、一時鍵生成用データ通知部と、暗号通信部とを有し、
     上記一時鍵生成用データ通知部は、上記一時鍵生成部が上記一時鍵の生成に使った上記一時鍵生成用データを、他の暗号処理装置に対して通知し、
     上記暗号通信部は、上記一時鍵生成部が生成した上記一時鍵を使って、上記他の暗号通信装置との間で暗号通信をする
    ことを特徴とする請求項13乃至請求項17のいずれかに記載の暗号処理装置。
  20.  コンピュータが実行することにより、上記コンピュータを、請求項1乃至請求項4のいずれかに記載の暗号通信システムにおける管理装置及び第一暗号通信装置及び第二暗号通信装置、並びに請求項13または請求項14に記載の暗号処理装置の少なくともいずれかとして機能させることを特徴とするコンピュータプログラム。
  21.  管理装置と、第一暗号通信装置と、第二暗号通信装置とを備える暗号通信システムにおける暗号通信方法において、
     上記管理装置は、第一マスター鍵を記憶し、
     上記第二暗号通信装置は、上記管理装置が記憶した上記第一マスター鍵と同一の、又は、上記第一マスター鍵に対応する、第二マスター鍵を記憶し、
     上記管理装置は、上記管理装置が記憶した上記第一マスター鍵と、一時鍵生成用データとを使って、第一一時鍵を生成し、
     上記第二暗号通信装置は、上記第一暗号通信装置から通知された上記一時鍵生成用データが有効であるか否かを判定し、
     上記第二暗号通信装置は、上記第一暗号通信装置から通知された上記一時鍵生成用データが有効であると上記第二暗号通信装置が判定した場合に、上記第二暗号通信装置が記憶した上記第二マスター鍵と、上記第二暗号通信装置が有効であると判定した上記一時鍵生成用データとを使って、上記管理装置が生成した上記第一一時鍵と同一の、又は、上記第一一時鍵に対応する第二一時鍵を生成し、
     上記第一暗号通信装置は、上記管理装置が上記第一一時鍵の生成に使った上記一時鍵生成用データを、上記第二暗号通信装置に対して通知し、
     上記第一暗号通信装置は、上記管理装置が生成した上記第一一時鍵を使って、上記第二暗号通信装置との間で暗号通信をし、
     上記第二暗号通信装置は、上記第二暗号通信装置が生成した上記第二一時鍵を使って、上記第一暗号通信装置との間で暗号通信をする
    ことを特徴とする暗号通信方法。
PCT/JP2011/077077 2011-11-24 2011-11-24 暗号通信システム及び暗号処理装置及びコンピュータプログラム及び暗号通信方法 Ceased WO2013076848A1 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201180075018.2A CN103947150A (zh) 2011-11-24 2011-11-24 密码通信系统、密码处理装置、计算机程序以及密码通信方法
PCT/JP2011/077077 WO2013076848A1 (ja) 2011-11-24 2011-11-24 暗号通信システム及び暗号処理装置及びコンピュータプログラム及び暗号通信方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2011/077077 WO2013076848A1 (ja) 2011-11-24 2011-11-24 暗号通信システム及び暗号処理装置及びコンピュータプログラム及び暗号通信方法

Publications (1)

Publication Number Publication Date
WO2013076848A1 true WO2013076848A1 (ja) 2013-05-30

Family

ID=48469326

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2011/077077 Ceased WO2013076848A1 (ja) 2011-11-24 2011-11-24 暗号通信システム及び暗号処理装置及びコンピュータプログラム及び暗号通信方法

Country Status (2)

Country Link
CN (1) CN103947150A (ja)
WO (1) WO2013076848A1 (ja)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017034555A (ja) * 2015-08-04 2017-02-09 株式会社ジェイテクト データ通信システム、データ通信機器及びデータ通信方法
JP2018081352A (ja) * 2016-11-14 2018-05-24 Necプラットフォームズ株式会社 検針システム、検針方法および検針プログラム
US11101998B2 (en) 2016-10-03 2021-08-24 Nec Corporation Communication device, communication method, and recording medium
JP2023052395A (ja) * 2016-11-03 2023-04-11 レスメド・プロプライエタリー・リミテッド 方法、デバイス、サーバー、呼吸治療システム、および装置
WO2024095485A1 (ja) * 2022-11-04 2024-05-10 株式会社Nttドコモ 認証セキュリティ装置、端末、通信システム、及び通信方法

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110849449B (zh) * 2019-11-15 2021-09-14 成都千嘉科技有限公司 超声波燃气表加密校正方法

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010068396A (ja) * 2008-09-12 2010-03-25 Toshiba Corp 暗号化装置、端末装置、暗号化プログラム及び方法、情報処理プログラム及び方法
JP2011146898A (ja) * 2010-01-14 2011-07-28 Mitsubishi Electric Corp 鍵生成装置及び第1の通信装置及び第2の通信装置及び情報処理システム

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050005093A1 (en) * 2003-07-01 2005-01-06 Andrew Bartels Methods, systems and devices for securing supervisory control and data acquisition (SCADA) communications
JP2008004978A (ja) * 2006-06-20 2008-01-10 Nec Electronics Corp 無線通信システム、無線通信装置、及び無線通信装置間での暗号鍵の交換方法
CN101409882A (zh) * 2007-10-10 2009-04-15 华为技术有限公司 用于网络安全的握手方法、握手发起装置和握手响应装置

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010068396A (ja) * 2008-09-12 2010-03-25 Toshiba Corp 暗号化装置、端末装置、暗号化プログラム及び方法、情報処理プログラム及び方法
JP2011146898A (ja) * 2010-01-14 2011-07-28 Mitsubishi Electric Corp 鍵生成装置及び第1の通信装置及び第2の通信装置及び情報処理システム

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017034555A (ja) * 2015-08-04 2017-02-09 株式会社ジェイテクト データ通信システム、データ通信機器及びデータ通信方法
US11101998B2 (en) 2016-10-03 2021-08-24 Nec Corporation Communication device, communication method, and recording medium
JP2023052395A (ja) * 2016-11-03 2023-04-11 レスメド・プロプライエタリー・リミテッド 方法、デバイス、サーバー、呼吸治療システム、および装置
US11998692B2 (en) 2016-11-03 2024-06-04 Resmed Inc. Secure networked respiratory therapy systems
JP7723023B2 (ja) 2016-11-03 2025-08-13 レスメド・プロプライエタリー・リミテッド 方法、デバイス、サーバー、呼吸治療システム、および装置
US12453828B2 (en) 2016-11-03 2025-10-28 Resmed Inc. Secure networked respiratory therapy systems
JP2018081352A (ja) * 2016-11-14 2018-05-24 Necプラットフォームズ株式会社 検針システム、検針方法および検針プログラム
WO2024095485A1 (ja) * 2022-11-04 2024-05-10 株式会社Nttドコモ 認証セキュリティ装置、端末、通信システム、及び通信方法

Also Published As

Publication number Publication date
CN103947150A (zh) 2014-07-23

Similar Documents

Publication Publication Date Title
KR101501418B1 (ko) 무선 장치에 대한 안전 시간 기능
RU2538283C2 (ru) Аутентификация устройства и пользователя
US6950523B1 (en) Secure storage of private keys
US5751809A (en) Apparatus and method for securing captured data transmitted between two sources
EP1329049B1 (en) Method and apparatus for real-time digital certification of electronic files and transactions using entropy factors
US20070257813A1 (en) Secure network bootstrap of devices in an automatic meter reading network
KR102177848B1 (ko) 액세스 요청을 검증하기 위한 방법 및 시스템
CN112187466B (zh) 一种身份管理方法、装置、设备及存储介质
KR102578428B1 (ko) 생체 인식 템플릿 보호 키 업데이트
KR101686167B1 (ko) 사물 인터넷 기기의 인증서 배포 장치 및 방법
FR2926938A1 (fr) Procede d'authentification et de signature d'un utilisateur aupres d'un service applicatif, utilisant un telephone mobile comme second facteur en complement et independamment d'un premier facteur
WO2013076848A1 (ja) 暗号通信システム及び暗号処理装置及びコンピュータプログラム及び暗号通信方法
JP2000222360A (ja) 認証方法、認証システム及び認証処理プログラム記録媒体
KR102169695B1 (ko) 자가검증이 가능한 블록체인 전자투표 관리 방법
CN104009842A (zh) 基于des、rsa加密算法及脆弱数字水印的通信数据加解密方法
KR101746102B1 (ko) 무결성 및 보안성이 강화된 사용자 인증방법
JP5223860B2 (ja) 時刻情報配信システム、時刻配信局、端末、時刻情報配信方法及びプログラム
CN106936581A (zh) 以数字时间戳装置发出实时同步的时间戳的验证系统及方法
JP5623657B2 (ja) 暗号通信システム及び暗号処理装置及びコンピュータプログラム及び暗号通信方法
KR20140033824A (ko) 스마트 디바이스에서 해쉬값 기반 대칭키 암호화 시스템 및 방법
CN110287733A (zh) 一种文件防篡改方法和装置
JP3646055B2 (ja) 時刻署名装置、その署名方法、時刻署名システム
KR20070105826A (ko) 공개키 인증시스템 및 그 인증방법
KR20180052479A (ko) 서명 체인을 이용한 유무선 공유기의 펌웨어 업데이트 시스템, 유무선 공유기 및 유무선 공유기의 펌웨어 업데이트 방법
JP2004064181A (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: 11876121

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2013545721

Country of ref document: JP

Kind code of ref document: A

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 11876121

Country of ref document: EP

Kind code of ref document: A1