WO2010064666A1 - 鍵配布システム - Google Patents

鍵配布システム Download PDF

Info

Publication number
WO2010064666A1
WO2010064666A1 PCT/JP2009/070284 JP2009070284W WO2010064666A1 WO 2010064666 A1 WO2010064666 A1 WO 2010064666A1 JP 2009070284 W JP2009070284 W JP 2009070284W WO 2010064666 A1 WO2010064666 A1 WO 2010064666A1
Authority
WO
WIPO (PCT)
Prior art keywords
key
communication
secret
terminal
unit
Prior art date
Application number
PCT/JP2009/070284
Other languages
English (en)
French (fr)
Inventor
尚弘 福田
Original Assignee
パナソニック電工株式会社
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by パナソニック電工株式会社 filed Critical パナソニック電工株式会社
Priority to US12/998,805 priority Critical patent/US8600063B2/en
Priority to CN200980148302.0A priority patent/CN102232275B/zh
Priority to EP09830432.2A priority patent/EP2355401A4/en
Publication of WO2010064666A1 publication Critical patent/WO2010064666A1/ja

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/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/0825Key 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) using asymmetric-key encryption or public key infrastructure [PKI], e.g. key signature or public key certificates
    • 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/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0838Key agreement, i.e. key establishment technique in which a shared key is derived by parties as a function of information contributed by, or associated with, each of these
    • H04L9/0841Key agreement, i.e. key establishment technique in which a shared key is derived by parties as a function of information contributed by, or associated with, each of these involving Diffie-Hellman or related key agreement protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0891Revocation or update of secret information, e.g. encryption key update or rekeying

Definitions

  • the present invention relates to a key distribution system, and more particularly to a key distribution system in which a server distributes a communication secret key, which is a common key used for encrypted communication between a server and a terminal, to the terminal.
  • a communication system that performs encrypted communication using a session key with a valid expiration date.
  • a session key is encrypted and distributed.
  • a common key cipher called a cryptite protocol is used for the encryption of the session key.
  • the same common key (hereinafter referred to as “communication secret key”) is set in advance for the server (housing server) and the terminal (facility equipment). Since the communication secret key is determined for each terminal, the communication secret key of the terminal does not change even if the user of the terminal changes. Therefore, a user who has previously used the terminal can intercept communication between the terminal and the server by acquiring the communication secret key from the terminal. Therefore, there is a risk that the usage status (for example, lifestyle habits) of new users of the same terminal will be monitored by the previous user, or that the terminal may be illegally used (operated by the user) by the previous user. is there.
  • the usage status for example, lifestyle habits
  • Document 1 Japanese Patent Laid-Open No. 2000-349748 discloses public key cryptography having higher communication secrecy than shared key cryptography. Even public key cryptography cannot completely prevent previous users from intercepting communications unless the public key and private key are changed.
  • the public key encryption disclosed in Document 1 has a secret key (private key) that is paired with the other party's public key so that the sender and the receiver can share information. Must be. Therefore, the public key encryption disclosed in Document 1 cannot exchange the secret key itself.
  • An object of the present invention is to provide a key distribution system that can be safely distributed from a server to a terminal so that the secret key for communication used for encrypted communication with the terminal newly issued by the server is not known to others. is there.
  • the key distribution system includes a terminal and a server connected to the terminal via a communication network.
  • the terminal includes a rewritable first key storage unit that stores a communication secret key and a public key.
  • the terminal includes a first communication unit for performing encrypted communication with the server using the communication secret key stored in the first key storage unit as a common key.
  • the terminal has a key request unit.
  • the key request unit is configured to newly generate a secret value consisting of a numerical value when requesting the server to issue a new communication secret key.
  • the key request unit further encrypts the secret value using the public key stored in the first storage unit to generate a first cipher, and transmits the first cipher to the server. Configured.
  • the server has a rewritable second key storage unit that stores a decryption secret key that is a private key paired with the public key in addition to the communication secret key.
  • the server includes a second communication unit for performing encrypted communication with the terminal using the communication secret key stored in the second key storage unit as a common key.
  • the server has a key issuing unit.
  • the key issuing unit is configured to issue a new communication secret key and store it in the second key storage unit when the terminal requests the issuance of a new communication secret key.
  • the key issuing unit is further configured to obtain the secret value by decrypting the first cipher using the decryption secret key.
  • the key issuing unit further encrypts the new communication secret key using the secret value to generate a second cipher, and sends the second cipher key to the terminal that has requested the issuance of a new communication secret key.
  • 2 ciphers are configured to be transmitted.
  • the key request unit is configured to obtain the new communication secret key by decrypting the second cipher using the secret value and store the new communication secret key in the first key storage unit. .
  • the first communication unit After the new communication secret key is stored in the first key storage unit, the first communication unit performs encrypted communication with the server using the new communication secret key as a common key. Configured.
  • the second communication unit performs encrypted communication using the new communication secret key as a common key with the terminal. Configured.
  • the secret value is encrypted using the public key and transmitted to the server.
  • the server decrypts the encrypted secret value using a private key paired with the public key.
  • the server encrypts the new communication secret key so that it can be decrypted with the secret value, and transmits it to the terminal.
  • the terminal decrypts the encrypted communication secret key using the secret value to obtain a new communication secret key. Therefore, according to this key distribution system, a new communication secret key can be safely delivered from the server to the terminal.
  • the key requesting unit uses the communication secret key stored in the first key storage unit as the public key when requesting the server to issue a new communication secret key. Configured to encrypt the secret value generated.
  • the key issuing unit is a private key that issues the new communication secret key and is paired with the new communication secret key when the terminal issues a new communication secret key.
  • a new decryption secret key is issued and stored in the second key storage unit. After the new decryption secret key is stored in the second storage unit, the new decryption secret key is used.
  • the first cipher is configured to be decrypted.
  • the communication secret key is used as the public key, only the server can decrypt the encrypted secret value. Therefore, even if the third party uses the communication secret key, the encrypted secret key cannot be decrypted. Therefore, a new communication secret key can be safely delivered from the server to the terminal.
  • the key request unit generates a first random number and a second random number to be used as the secret value, and uses the second random number before requesting the server to issue a new secret key for communication.
  • a communication numerical value is generated by simple calculation of the first random number and the second random number, and the communication numerical value is encrypted using the public key and transmitted to the server.
  • This key distribution system can prevent a secret value from being known to a third party, and can reduce the possibility of a communication secret key being known to a third party.
  • a communication numerical value having more digits than the secret value is used only when the secret value is transmitted from the terminal to the server. Therefore, it is not necessary to encrypt or decrypt the communication secret key using a communication numerical value having a number of digits larger than the secret value, and the processing load on the terminal or server can be reduced.
  • the key issuing unit generates a message code including the secret value received from the terminal when the terminal issues a new communication secret key, and uses the message code to generate the new code.
  • a secret key for communication is encrypted and transmitted to the terminal.
  • the server and the terminal can detect falsification of the communication secret key by a third party. Therefore, the security of encrypted communication using the communication secret key can be ensured.
  • the terminal includes a rewritable first key storage unit that stores a secret key for communication, and a first primitive source storage unit that stores a predetermined primitive source.
  • the terminal includes a first communication unit for performing encrypted communication with the server using the communication secret key stored in the first storage unit as a common key, and a key request unit.
  • the key request unit is configured to newly generate a first secret value consisting of a numerical value when requesting the server to issue a new communication secret key.
  • the key requesting unit further generates a first public key of the Diffie-Hellman key sharing scheme by applying the first secret value to the source element stored in the first source element storage unit to generate the first public key.
  • the server includes a second key storage unit that stores the secret key for communication, and a second primitive source storage unit that stores the predetermined primitive source.
  • the server has a second communication unit for performing encrypted communication with the terminal using the communication secret key stored in the second storage unit as a common key, and a key issuing unit.
  • the key issuing unit generates a second secret value made up of a numerical value when the terminal issues a new communication secret key, and receives the first public key and the second secret value received from the terminal. Is used to generate a common key for the above Diffie-Hellman key sharing scheme.
  • the key issuing unit further generates the second public key of the Diffie-Hellman key sharing scheme by applying the second secret value to the source element stored in the second source element storage unit.
  • the key issuing unit is further configured to encrypt the new communication secret key using the common key and transmit it to the terminal that has requested the issuance of a new communication secret key together with the second public key. Is done.
  • the key request unit receives the newly generated secret value and the second public key received from the server. Are used to generate the common key.
  • the key request unit further decrypts the encrypted new communication secret key using the generated common key to obtain the new communication secret key, and the first key storage unit It is comprised so that it may memorize.
  • the first communication unit After the new communication secret key is stored in the first storage unit, the first communication unit performs encrypted communication using the new communication secret key as a common key with the server.
  • the second communication unit performs encrypted communication using the new communication secret key as a common key with the terminal. Composed.
  • a new secret key for communication is encrypted and transmitted to the terminal using a common key of the Diffie-Hellman key sharing method. Therefore, even a third party who knows the original communication secret key cannot decrypt the encrypted new communication secret key. Therefore, a new communication secret key can be safely delivered to the terminal.
  • the key distribution system of this embodiment includes a plurality of terminals 10 and a server 20 connected to each terminal 10 via a communication network 30.
  • the communication network 30 may be either a wide area network or a local area network.
  • the terminal 10 and the server 20 are configured using a communication interface for connecting to the communication network 30, a memory for storing predetermined data, and a microcomputer for realizing a predetermined function.
  • the terminal 10 is connected to the server 20 via the communication network 30.
  • the terminal 10 includes a first key storage unit 11, a first communication unit 12, a key request unit 13, a first identification information storage unit 14, a session key request unit 15, and a session key receiving unit 16. .
  • the first key storage unit 11 is a rewritable recording medium.
  • the first key storage unit 11 is configured to store a communication secret key and a session key.
  • the communication secret key is also used as the public key. Therefore, it can be said that the first key storage unit 11 stores the communication secret key and the public key.
  • the first identification information storage unit 14 is, for example, a rewritable recording medium.
  • the first identification information storage unit 14 stores identification information (identifier) for specifying the terminal 10 and the server 20 in the key distribution system.
  • the above identification information is unique (unique) information in the key distribution system.
  • the identification information is, for example, a MAC address, an IPv6 IP address, or an address set in the local network.
  • the first communication unit 12 is provided for performing encrypted communication with the server 20.
  • the first communication unit 12 is configured to perform encrypted communication with the server 20 using the communication secret key stored in the first storage unit 11 as a common key.
  • the first communication unit 12 is configured to perform encrypted communication with the server 20 using the session key stored in the first storage unit 11 as a common key.
  • the first communication unit 12 transmits a packet including identification information of the transmission source (identification information of the terminal 10), identification information of the transmission destination (identification information of the server 20), and a predetermined electronic message.
  • the telegram of this packet is encrypted using a communication secret key or session key.
  • the key request unit 13 is configured to perform processing for issuing a communication secret key to the server 20 (issue request processing) and processing for receiving the communication secret key.
  • the key request unit 13 is provided, for example, for changing the communication secret key when the user of the terminal 10 changes.
  • the issue request process is started by the user operating a specific operation, for example, a switch operation for starting the issue request process.
  • the terminal 10 may be configured to automatically execute the issue request process when connected to the communication network 30 (when transmitting a packet for notifying that the communication network 30 has been joined). Good.
  • the issue request process may be executed regularly or irregularly.
  • the first time interval for executing the issue request process is set sufficiently longer than the second time interval for executing the process for requesting the issuance of the session key. For example, when the second time interval is about one day, the first time interval is preferably one month or longer.
  • the session key request unit 15 is configured to perform processing for requesting the server 20 to issue a session key.
  • the session key receiving unit 16 is configured to perform processing for receiving a session key from the server 20.
  • the server 20 includes a second key storage unit 21, a second communication unit 22, a key issue unit 23, a second identification information storage unit 24, and a session key issue unit 25.
  • the second key storage unit 21 is a rewritable recording medium.
  • the second key storage unit 21 is configured to store a communication secret key and a session key.
  • the second storage unit 21 is further configured to store a decryption secret key that is a private key paired with the communication secret key.
  • the communication secret key and the decryption secret key are a pair of encryption keys. That is, the relationship between the communication secret key and the decryption secret key is equivalent to the relationship between the public key and the secret key (private key) in public key cryptography. That is, the decryption private key is a private key for decrypting a message encrypted using the communication private key as a public key. Therefore, in order to decrypt a message (encrypted text) encrypted using a communication secret key (corresponding to a public key in public key cryptography), a decryption secret key (public encryption key) is used instead of a communication secret key. Equivalent to a private key). Further, in order to decrypt a message (encrypted text) encrypted using the decryption secret key, a communication secret key is required.
  • the terminal 10 and the server 20 can perform encrypted communication using a public key cryptosystem.
  • the second key storage unit 21 is configured to store a key bundle composed of a communication secret key, a decryption secret key, and a session key in association with each terminal 10 connected to the server 20. That is, the identification information of the terminal 10 is associated with each of the communication secret key, the decryption secret key, and the session key.
  • the second identification information storage unit 24 is, for example, a rewritable recording medium.
  • the second identification information storage unit 24 stores the identification information.
  • the second communication unit 22 is provided for performing encrypted communication with the terminal 10.
  • the second communication unit 22 is configured to perform encrypted communication with the terminal 10 using the communication secret key stored in the second storage unit 21 as a common key.
  • the second communication unit 22 is configured to perform encrypted communication with the terminal 10 using the session key stored in the second storage unit 21 as a common key.
  • the second communication unit 22 transmits a packet including identification information of the transmission source (identification information of the server 20), identification information of the transmission destination (identification information of the terminal 10), and a predetermined telegram.
  • the telegram of this packet is encrypted using a communication secret key or session key.
  • the key issuing unit 23 is configured to perform processing for issuing a communication secret key when the terminal 10 issues a request for issuing a communication secret key.
  • the session key issuing unit 25 is configured to perform a session key issuing process when a request for issuing a session key is made from the terminal 10. That is, the server 20 issues a session key in response to a request from the terminal 10.
  • the server 20 is configured to distribute to the terminal 10 a session key used for encrypting a message transmitted and received between the server 20 and the terminal 10.
  • the terminal 10 is a facility device having a communication function provided in a house, for example.
  • the server 20 is an authentication server, for example, and is configured using a residential server that can communicate with each facility device (terminal 10) in the house.
  • the server 20 can be used to control and monitor each facility device (terminal 10) in the house.
  • the session key request unit 15 generates a nonce (first nonce) when requesting the server 20 to distribute a session key.
  • the first nonce is a numerical value used only once.
  • the first nonce is usually a random number.
  • the session key request unit 15 sends a message including the first nonce, the session key request message (session key request command) and the identification information of the terminal 10 to the first communication unit 12 so that the first communication unit 12 transmits to the server 20.
  • the session key request message is a command for requesting issuance of a session key.
  • the server 20 Since the first communication unit 12 transmits a packet including a transmission source address (transmission source identification information) and a transmission destination address (transmission destination identification information), the server 20 uses the transmission source address to transmit the packet of the terminal 10. Identification information can be acquired. Therefore, the identification information of the terminal 10 can be omitted in the above message.
  • the session key issuing unit 25 When the session key issuing unit 25 receives the session key request message from the terminal 10, it generates a session key and stores it in the second key storage unit 21. In addition, the session key issuing unit 25 encrypts the session key using the communication secret key stored in the second key storage unit 21. The session key issuing unit 25 generates a second message authentication code (second message code) using the communication secret key in order to encrypt the session key. The session key issuing unit 25 uses the exclusive OR of the second message authentication code and the session key as an encrypted session key. That is, the session key issuing unit 25 encrypts the session key using the second message authentication code as a common key.
  • second message code second message code
  • the information for generating the second message authentication code includes the terminal 10 identification information and the first nonce received from the terminal 10, the nonce (second nonce) generated by the session key issuing unit 25, and the server 20 identification information. Including.
  • the session key issuing unit 25 controls the second communication unit 22 so that the second communication unit 22 transmits the encrypted session key and the second nonce to the terminal 10.
  • the session key receiving unit 16 When the session key receiving unit 16 receives the encrypted session key and the second nonce from the server 20, the session key receiving unit 16 decrypts the encrypted session key.
  • the session key receiving unit 16 generates a first message authentication code (first message code) having the same value as the second message authentication code in order to decrypt the encrypted session key. Since the terminal 10 has the identification information of the terminal 10, the first nonce, the identification information of the server 20, and the communication private key, the first message authentication code is received by receiving the second nonce from the server 20. Can be generated.
  • the encrypted session key is an exclusive OR of the second message authentication code and the session key. Therefore, the session key can be acquired by obtaining an exclusive OR of the encrypted session key and the first message authentication code.
  • the session key receiving unit 16 stores the acquired session key in the first key storage unit 11. At this time, the session key receiving unit 16 may be configured to update the session key stored in the first key storage unit 11 to the newly acquired session key.
  • the key request unit 13 includes a secret value generation module 130, a secret value storage module 131, a secret value encryption module 132, and a secret value transmission module 133.
  • the secret value generation module 130 is configured to generate a secret value consisting of a numerical value when requesting the issuance of a new communication secret key.
  • the secret value is a random number. That is, the secret value generation module 130 generates a secret value having a random numerical value for each process that requests the issuance of a communication secret key. For this reason, the secret value has a different numerical value for each process that requests issuance of a communication secret key. The same secret value is used until the terminal 10 receives a new communication secret key.
  • the secret value storage module 131 is configured to store the secret value generated by the secret value generation module 130.
  • the secret value storage module 131 may be configured to update the stored secret value to the secret value generated by the secret value generation module 130 when the secret value is already stored. .
  • the secret value encryption module 132 is configured to encrypt the secret value stored in the secret value storage module 131 and generate the first cipher.
  • the secret value encryption module 132 encrypts the secret value using the communication secret key stored in the first key storage unit 11 as a public key.
  • the secret value encryption module 132 uses a communication secret key stored in the first key storage unit 11 at the start of a process for requesting a new communication secret key in a public key method (for example, RSA).
  • the secret value is encrypted to generate a first cipher.
  • the secret value transmission module 133 performs the first communication such that the first cipher generated by the secret value encryption module 132 is transmitted to the server 20 together with a request message (request command) for requesting the issuance of a new communication secret key. It is configured to control the unit 12.
  • the secret value transmission module 133 causes the first communication unit 12 to transmit the identification information of the terminal 10 together with the first cipher.
  • the key issuing unit 23 includes a key generation module 230, a communication secret key encryption module 231, a communication secret key transmission module 232, and a second storage module 233.
  • the key generation module 230 is configured to generate a new communication secret key when the second communication unit 22 receives a request message from the terminal 10.
  • the key generation module 230 is configured to generate a new decryption secret key that is paired with a new communication secret key when the second communication unit 22 receives the request message.
  • the communication secret key encryption module 231 includes a secret value acquisition unit 2311 and an encryption unit 2312.
  • the secret value acquisition unit 2311 is configured to acquire the secret value by decrypting the first cipher received by the second communication unit 22 when the second communication unit 22 receives the request message.
  • the secret value acquisition unit 2311 decrypts the first cipher using the decryption secret key paired with the communication secret key.
  • the secret value acquisition unit 2311 uses the identification information of the terminal 10 as a search key when extracting the decryption secret key that is paired with the communication secret key of the terminal 10.
  • the encryption unit 2312 is configured to encrypt a new communication secret key using the secret value obtained from the secret value acquisition unit 2311 as a common key to generate a second cipher. For example, the encryption unit 2312 uses the exclusive OR of the new communication secret key and the secret value as the second cipher (encrypted new communication secret key).
  • the communication secret key transmission module 232 is configured to control the second communication unit 22 such that the second communication unit 22 transmits the second cipher to the terminal 10 that has requested the issuance of a new communication secret key.
  • the second storage module 233 is configured to store the new communication secret key and the new decryption secret key generated by the key generation module 230 in the second key storage unit 21. Note that the second storage module 233 may be configured to update the communication secret key stored in the second key storage unit 21 with a new communication secret key generated by the key generation module 230. . The second storage module 233 may be configured to update the decryption secret key stored in the second key storage unit 21 to a new decryption secret key generated by the key generation module 230. .
  • the key issue unit 23 issues a new communication secret key and stores it in the second key storage unit 21.
  • the key issuing unit 23 acquires the secret value by decrypting the first cipher using the decryption secret key.
  • the key issuing unit 23 generates a second cipher by encrypting the new communication secret key using the secret value.
  • the key issuing unit 23 transmits the second cipher to the terminal 10 that has requested the issuance of a new communication secret key.
  • the key issuing unit 23 is a private key that issues a new communication secret key and is paired with a new communication secret key when the terminal 10 requests the issuance of a new communication secret key.
  • a new decryption secret key is issued and stored in the second key storage unit 21. After the new decryption secret key is stored in the second key storage unit 21, the key issuing unit 23 decrypts the first cipher using the new decryption secret key.
  • the second communication unit 22 Since the new communication secret key is stored in the second key storage unit 21 in this way, the second communication unit 22 performs encrypted communication with the terminal 10 using the communication secret key as a common key. For this, a new communication secret key is used.
  • the key request unit 13 further includes a communication secret key decryption module 134 and a first storage module 135.
  • the communication secret key decryption module 134 uses the secret value stored in the secret value storage module 131 to receive the second key received by the first communication unit 12. The cipher is decrypted, thereby obtaining a new communication secret key.
  • the second cipher is an exclusive OR of a secret value and a new communication secret key. A new communication secret key is obtained by obtaining an exclusive OR of the second cipher and the secret value.
  • the communication secret key decryption module 134 may be configured to delete the secret value stored in the secret value storage module 131 after obtaining a new communication secret key.
  • the first storage module 135 is configured to store a new communication secret key obtained by the communication secret key decryption module 134 in the first key storage unit 11. Note that the first storage module 135 may be configured to update the communication secret key stored in the first key storage unit 11 to a new communication secret key.
  • the key request unit 13 when the key request unit 13 requests the server 20 to issue a new communication secret key, it newly generates a secret value consisting of a numerical value.
  • the key request unit 13 encrypts the secret value using the communication secret key stored in the first key storage unit 11 as a public key, generates a first cipher, and transmits the first cipher to the server 20.
  • the key request unit acquires a new communication secret key by decrypting the second cipher using the secret value, and stores it in the first key storage unit 11.
  • the first communication unit 12 Since the new communication secret key is stored in the first key storage unit 11 in this way, the first communication unit 12 performs encrypted communication with the server 20 using the communication secret key as a common key. For this, a new communication secret key is used.
  • a management device 40 is used to register the communication secret key and the decryption secret key.
  • the management device 40 is connected to the server 20 and the terminal 10 using a communication path such as the Internet when registering the communication secret key and the decryption secret key.
  • the management device 40 transmits the communication secret key K10 and the decryption secret key K20 to the server 20 (process P10 in FIG. 2).
  • the server 20 registers the communication secret key K10 and the decryption secret key K20 received from the management device 40 in the second key storage unit 21 (step S11 in FIG. 3).
  • the management device 40 communicates with the server 20 using a technology such as SSL (Secure Socket Layer) or TLS (Transport Layer Security) in order to prevent leakage of the communication private key K10 and the decryption private key K20. .
  • SSL Secure Socket Layer
  • TLS Transport Layer Security
  • the management device 40 transmits identification information (terminal identification information) ID 10 for identifying the terminal 10 to the server 20.
  • the server 20 registers the identification information ID 10 received from the management device 40 in the second identification information storage unit 24.
  • EMIT Embedded Micro Internetworking Technology
  • the EMIT object ID can be used as the terminal identification information ID10.
  • the management device 40 transmits the identification information ID10 of the terminal 10 and the communication secret key K10 registered in the server 20 to the terminal 10 (process P20 in FIG. 2).
  • the terminal 10 registers the identification information ID 10 received from the management device 40 in the first identification information storage unit 14. Further, the terminal 10 registers the communication secret key K10 received from the management device 40 in the first key storage unit 11 (step S12 in FIG. 3).
  • a communication secret key K10 is registered as a prior secret key.
  • a decryption secret key K20 is registered in the second key storage unit 21 of the server 20 as a prior secret key paired with the communication secret key K10.
  • the server 20 distributes the session key to the terminal 10 in the following procedure.
  • the session key request unit 15 When the terminal 10 requests the server 20 to issue a session key, the session key request unit 15 generates a first nonce N10. The session key request unit 15 controls the first communication unit 12 to transmit the first nonce N10 and the session key request message together with the identification information ID10 of the terminal 10 to the server 20 (process P30 in FIG. 2).
  • the session key issuing unit 25 When the second communication unit 22 receives the session key request message, the session key issuing unit 25 generates a session key K30.
  • the session key issuing unit 25 generates the second message authentication code MAC K10 (I20) using the communication secret key K10 and the information I20 stored in the second key storage unit 21.
  • the session key issuing unit 25 controls the second communication unit 22 to transmit the encrypted session key together with the second nonce N20 to the terminal 10 (process P40 in FIG. 2).
  • the identification information ID10 may be omitted from the information I20.
  • the session key receiving unit 16 When the first communication unit 12 receives the encrypted session key and the second nonce N20, the session key receiving unit 16 generates a first message authentication code.
  • the session key K30 is acquired by calculating the exclusive OR with the session key receiving unit 16.
  • the session key receiving unit 16 stores the received session key K30 in the first key storage unit 11.
  • the terminal 10 receives the session key K30 from the server 20.
  • the terminal 10 uses the session key K30 received from the server 20 for communication with the server 20 during the validity period of the session key K30.
  • the server 20 distributes the communication secret key to the terminal 10 in the following procedure.
  • the secret value generation module 130 When the issue request process is started, the secret value generation module 130 generates a secret value R10 that is a random number (step S13 in FIG. 3).
  • the secret value R10 is stored in the secret value storage module 131.
  • the secret value encryption module 132 encrypts the secret value R10 using the communication secret key K10 stored in the first key storage unit 11 as a public key to generate a first cipher PEN K10 (R10) (FIG. 3 step S14).
  • the secret value transmission module 133 controls the first communication unit 12 to transmit the first encryption PEN K10 (R10) to the server 20 together with the identification information ID10 of the terminal 10 and the request message (step S15 in FIG. 3).
  • Process P50 of FIG. 2 Thus, when the terminal 10 requests the server 20 to issue a communication secret key, the terminal 10 transmits the identification information ID10 of the terminal 10 and the first encryption PEN K10 (R10).
  • the first cipher PEN K10 (R10) is not the decryption secret key K20 within the time when the message has value (the time until the next communication secret key K11 is distributed to the terminal 10). Cannot decrypt. Therefore, even if another person knows the communication secret key K10, the secret value R10 cannot be known.
  • the secret value acquisition unit 2311 uses the decryption secret key K20 stored in the second key storage unit 21 to perform the first encryption PEN K10. (R10) is decrypted to obtain a secret value R10 (step S17 in FIG. 3).
  • the key generation module 230 generates a new communication secret key K11 and a new decryption secret key K21 paired with the new communication secret key K11 (step S18 in FIG. 3).
  • the encryption unit 2312 encrypts the new communication secret key K11 using the secret value R10 obtained from the secret value acquisition unit 2311 as a common key to generate a second cipher (step S19 in FIG. 3).
  • the second storage module 233 stores the new communication secret key K11 and the new decryption secret key K21 generated by the key generation module 230 in the second key storage unit 21.
  • the communication secret key transmission module 232 controls the second communication unit 22 to transmit the second cipher to the terminal 10 that has requested the issuance of a new communication secret key K11 (step S20 in FIG. 3, FIG. 2). Process P60).
  • a new communication secret key K11 is obtained by obtaining an exclusive OR (step S22 in FIG. 3).
  • the first storage module 135 stores the new communication secret key K11 obtained by the communication secret key decryption module 134 in the first key storage unit 11.
  • the first communication unit 12 performs encrypted communication with the server 20 using the new communication secret key K11 as a common key.
  • the second communication unit 22 performs encrypted communication with the terminal 10 using the new communication secret key K11 as a common key.
  • the server 20 distributes the session key to the terminal 10 according to the following procedure.
  • the session key request unit 15 When the terminal 10 requests the server 20 to issue a session key, the session key request unit 15 generates a new first nonce N11 different from the first nonce N10. The session key request unit 15 controls the first communication unit 12 to transmit the first nonce N11 and the session key request message together with the identification information ID 10 of the terminal 10 to the server 20 (process P70 in FIG. 2).
  • the session key issuing unit 25 When the second communication unit 22 receives the session key request message, the session key issuing unit 25 generates a new session key K31 different from the session key K30 and stores it in the second key storage unit 21.
  • the session key issuing unit 25 generates the second message authentication code MAC K11 (I21) using the communication secret key K11 and the information I21 stored in the second key storage unit 21.
  • the session key receiving unit 16 When the first communication unit 12 receives the second nonce N21 and the encrypted session key, the session key receiving unit 16 generates a first message authentication code.
  • the session key K31 is obtained by calculating the exclusive OR with the session key receiving unit 16.
  • the session key receiving unit 16 stores the received session key K31 in the first key storage unit 11.
  • the terminal 10 receives a new session key K31 from the server 20.
  • the secret value is encrypted using the public key and transmitted to the server 20.
  • the server 20 decrypts the encrypted secret value using a private key paired with the public key.
  • the server 20 encrypts the new communication secret key so that it can be decrypted with the secret value, and transmits it to the terminal 10.
  • the terminal 10 decrypts the encrypted communication secret key using the secret value, and acquires a new communication secret key.
  • the secret value can be used safely.
  • the secret value is used only after a new communication secret key is requested from the server 20 and acquired. Therefore, it is very unlikely that others will know the secret value within the time when the secret value is valid. Therefore, by encrypting the new communication secret key using the secret value, the new communication secret key can be safely delivered from the server 20 to the terminal 10.
  • a new communication secret key can be safely delivered from the server 20 to the terminal 10.
  • the communication secret key is used as the public key, only the server 20 can decrypt the encrypted secret value. Therefore, even if the third party uses the communication secret key, the encrypted secret key cannot be decrypted. Therefore, a new communication secret key can be safely delivered from the server 20 by the terminal 10.
  • the server 20 can distribute a session key that can be used only by the specific terminal 10 without being known to others by using the communication secret key and the decryption secret key.
  • the server 20 distributes a new session key to the terminal 10 (session key update process) when the user of the terminal 10 changes.
  • the session key may be updated regularly or irregularly at an appropriate timing. That is, the session key update process may be performed while the same user continues to use the terminal 10.
  • the session key is a disposable encryption key. Therefore, for example, the terminal 10 may be configured to hold the same session key for a predetermined validity period (for example, one day). In this case, if the session key update process is executed in the valid period, the terminal 10 discards the session key in a period shorter than the valid period.
  • the terminal 10 can communicate with the server 20 using the session key as a common key, it can be said that the terminal 10 is under the control of the server 20. Even if the terminals 10 under the management of the same server 20 have different session keys, they can be said to belong to the same group. It is not assumed that the same session key is distributed to a plurality of terminals 10.
  • the server 20 is a residential server
  • the first terminal 10 is a switch
  • the second terminal 10 is a lighting fixture.
  • the server 20 distributes different session keys to the first terminal 10 and the second terminal 10.
  • the session key distributed to each terminal 10 is stored and managed by the server 20. Therefore, the 1st terminal 10 and the 2nd terminal 10 can be grouped as housing equipment which exists in the same house.
  • the key distribution system can bind the terminals 10 belonging to the same group so that they can communicate with each other.
  • the bound terminals 10 can communicate with each other through the server 20. For example, in the above example, the operation of the first terminal 10 that is a switch can be reflected in the operation of the second terminal 10 that is a lighting fixture.
  • the encryption unit 2312 of the server 20 may further encrypt the second encryption by a common key method (for example, DES, 3-DES, AES) using the original communication secret key K10 as a common key.
  • the communication secret key decryption module 134 of the terminal 10 decrypts the encrypted second cipher with the original communication secret key K10, and then exclusively uses the second cipher and the secret value R10.
  • a new communication secret key K11 is obtained by obtaining a logical sum.
  • the key distribution system according to the present embodiment differs from the first embodiment in a terminal 10A and a server 20A.
  • symbol is attached
  • the server 20A is different from the server 20 of the first embodiment in the communication secret key encryption module 231A of the key issuing unit 23A.
  • the communication secret key encryption module 231A includes a secret value acquisition unit 2311, an encryption unit 2312A, and an encryption key generation unit 2313.
  • the encryption key generation unit 2313 uses the communication secret key (not the new communication secret key but the communication secret key owned by the terminal 10A) stored in the second key storage unit 21 as the common key. And an encryption key composed of a message authentication code (message code) including a secret value.
  • the encryption unit 2312A is configured to encrypt a new communication secret key using the encryption key obtained from the encryption key generation unit 2313 as a common key to generate a second cipher. For example, the encryption unit 2312A obtains the exclusive OR of the encryption key obtained from the encryption key generation unit 2313 and the new communication secret key with the second cipher (encrypted new communication secret key). Used as
  • the key issuing unit 23A of the present embodiment generates a message authentication code including the secret value received from the terminal 10A when the terminal 10A is requested to issue a new communication secret key. Then, the key issuing unit 23A encrypts a new communication secret key using the message authentication code and transmits it to the terminal 10A.
  • the terminal 10A is different from the terminal 10 of the first embodiment in the communication secret key decryption module 134A of the key request unit 13A.
  • the communication private key decryption module 134 includes a decryption key generation unit 1341 and a decryption unit 1342.
  • the decryption key generation unit 1341 obtains the communication secret key stored in the first key storage unit 11 and the secret value stored in the secret value storage module 131. To generate a decryption key.
  • the decryption key is a message authentication code having the same value as the encryption key generated by the encryption key generation unit 2313. That is, the decryption key generation unit 1341 generates a message authentication code including the secret value stored in the secret value storage module 131 by using the communication secret key stored in the first key storage unit 11 as a common key. To do.
  • the decryption unit 1342 is configured to decrypt the second cipher using the decryption key obtained from the decryption key generation unit 1341 as a common key, thereby acquiring a new secret key for communication.
  • the decryption unit 1342 obtains a new communication secret key, for example, by calculating an exclusive OR of the decryption key obtained from the decryption key generation unit 1341 and the second cipher.
  • the terminal 10A transmits the identification information ID10 of the terminal 10A and the first cipher PEN K10 (R10) to the server 20A (process P50).
  • the secret value acquisition unit 2311 decrypts the first cipher PEN K10 (R10) using the decryption secret key K20 stored in the second key storage unit 21, A secret value R10 is acquired.
  • the key generation module 230 generates a new communication secret key K11 and a new decryption secret key K21 paired with the new communication secret key K11.
  • the encryption key generation unit 2313 generates the third nonce N30 in order to generate the encryption key.
  • the value of the third nonce N30 is different from the second nonce N20 generated when the session key is issued. Note that the second nonce N20 may be used instead of the third nonce N30. However, communication safety is higher when the third nonce N30 different from the second nonce 20 is used.
  • the second storage module 233 stores the new communication secret key K11 and the new decryption secret key K21 generated by the key generation module 230 in the second key storage unit 21.
  • the communication secret key transmission module 232 controls the second communication unit 22 to transmit the second cipher together with the third nonce N30 to the terminal 10A that has requested the issuance of a new communication secret key K11 (FIG. 5). Process P60A).
  • the encryption key information I30 may include the identification information ID10 of the terminal 10A. That is, the value of the encryption key may be MAC K10 (ID10, R10, N30, ID20).
  • the identification information ID10 is also used for generating a decryption key.
  • the first storage module 135 causes the first key storage unit 11 to store the new communication secret key K11 obtained by the communication secret key decryption module 134A.
  • the message authentication code is used as the encryption key as described above, the possibility of leakage of the new communication secret key K11 can be further reduced. Further, by performing message authentication, the server 20A and the terminal 10A can detect falsification of a communication secret key by a third party. Therefore, the security of encrypted communication using the communication secret key can be ensured.
  • the server 20A may transmit a challenge code to the terminal 10A.
  • the terminal 10A is configured not to start the issue request process unless it receives the challenge code from the server 20A. In this way, it is possible to prevent an attack called DoS (Denial of Service ⁇ ⁇ attack) that increases the traffic to the server 20A and disables service provision.
  • DoS Delivery of Service ⁇ ⁇ attack
  • the server 20A may be configured to transmit a session key to the terminal 10A together with a new communication secret key.
  • the session key issuing unit 25 is configured to issue a session key when a request for issuing a new communication secret key is made from the terminal 10.
  • the session key issuing unit 25 generates a session key when receiving a request message from the terminal 10.
  • the session key issuing unit 25 encrypts the session key using the communication secret key stored in the second key storage unit 21.
  • the session key issuing unit 25 generates a second message authentication code (second message code) using the communication secret key in order to encrypt the session key.
  • the session key issuing unit 25 uses the exclusive OR of the second message authentication code and the session key as an encrypted session key.
  • the information for generating the second message authentication code includes the identification information and secret value of the terminal 10 received from the terminal 10, the second nonce, and the identification information of the server 20.
  • the session key issuing unit 25 gives the encrypted session key to the communication secret key transmission unit 232. Further, the session key issuing unit 25 gives the second nonce to the encryption key generation unit 2313 of the communication secret key encryption module 231A.
  • the terminal 10A transmits the identification information ID10 of the terminal 10A and the first cipher PEN K10 (R10) to the server 20A (process P50).
  • the session key issuing unit 25 When the second communication unit 22 receives the request message, the session key issuing unit 25 generates a new session key K31 different from the session key K30.
  • the session key issuing unit 25 generates the second message authentication code MAC K11 (I22) using the communication secret key K11 and the information I22 stored in the second key storage unit 21.
  • the session key issuing unit 25 gives the second nonce N21 to the encryption key generating unit 2313.
  • the secret value acquisition unit 2311 decrypts the first cipher PEN K10 (R10) and acquires the secret value R10.
  • the communication secret key transmission module 232 controls the second communication unit 22 to give the terminal 10A that has requested the issuance of a new communication secret key K11 to the session key encrypted with the second cipher and the second nonce. N21 is transmitted (process P61 in FIG. 6).
  • the new communication secret key K11 and the new session key K31 can be simultaneously distributed to the terminal 10A. Therefore, the traffic between the server 20A and the terminal 10A can be reduced as compared with the example shown in FIG. Therefore, the power required for communication between the server 20A and the terminal 10A can be reduced, and energy saving can be achieved.
  • the second nonce generated by the session key issuing unit 25 is used in the key issuing unit 23A, but the third nonce generated by the key issuing unit 23A is used in the session key issuing unit 25. Also good.
  • Kerberos may be employed for the message authentication procedure.
  • time is used instead of nonce. Therefore, in Kerberos, management of nonce or randomness is replaced with time management.
  • the key distribution system according to the present embodiment is different from the second embodiment in a terminal 10B and a server 20B.
  • symbol is attached
  • the terminal 10B is different from the terminal 10A of the second embodiment in a key request unit 13B.
  • the key request unit 13B includes a secret value generation module 130, a secret value storage module 131, a secret value encryption module 132B, a secret value transmission module 133, a communication secret key decryption module 134A, and a first storage module 135. And a random number generation module 136 and a random number transmission module 137.
  • the random number generation module 136 is configured to generate a second random number different from the first random number used as the secret value.
  • the random number generation module 136 provides the second random number to the secret value encryption module 132B and the random number transmission module 137.
  • the second random number is preferably a numerical value having more digits than the secret value. The greater the number of digits of the second random number, the lower the possibility that the secret value will be leaked.
  • the random number transmission module 137 is configured to control the first communication unit 12 so that the second random number received from the random number generation module 136 is transmitted to the server 20B.
  • the second random number is preferably transmitted to the server 20B before the issue request process is executed.
  • the random number transmission module 137 is configured to transmit the second random number to the server 20B when the terminal 10B is connected to the communication network 30.
  • the secret value encryption module 132B includes a communication numerical value generation unit 1321 and a communication numerical value encryption unit 1322.
  • the communication numerical value generation unit 1321 is configured to generate a communication numerical value with the number of digits from the secret value stored in the secret value storage module 131.
  • the communication numerical value generation unit 1321 generates a communication numerical value by a simple calculation of the second random number obtained from the random number generation module 136 and the secret value stored in the secret value storage module 131.
  • the communication numerical value generation unit 1321 generates a communication numerical value by combining a secret random value used for calculation with a second random number for increasing the number of digits.
  • the secret value is R10 and the second random number is R20
  • the communication numerical value is represented by “R10 ⁇ R20”.
  • x ⁇ y means that the right numerical value y is simply connected to the left numerical value x.
  • the communication numerical value generation unit 1321 generates a communication numerical value by concatenation that simply connects the secret value and the second random number. For example, when the secret value is a three-digit numerical value “123” and the second random number is a three-digit numerical value “456”, the communication numerical value is represented by “123 ⁇ 456”, and the value is “123456”. .
  • the communication numerical value generation unit 1321 may use the sum of the secret value and the second random number as the communication numerical value, or may use the product of the secret value and the second random number as the communication numerical value. In short, it is only necessary that the randomness of the communication value is higher than the randomness of the secret value.
  • the communication numerical value encryption unit 1322 is configured to generate the first cipher by encrypting the communication numerical value generated by the communication numerical value generation unit 1321.
  • the communication numerical value encryption unit 1322 encrypts the communication numerical value using the communication secret key stored in the first key storage unit 11 as a public key.
  • the communication numerical encryption unit 1322 uses a communication secret key stored in the first key storage unit 11 at the start of processing for requesting a new communication secret key, and uses a public key method (for example, RSA).
  • the communication numerical value is encrypted to generate a first cipher.
  • the key request unit 23B of the present embodiment generates the first random number and the second random number that are used as secret values.
  • the key request unit 23B transmits the second random number to the server 20B before requesting the server 20B to issue a new communication secret key.
  • the key request unit 23B generates a communication numerical value by a simple calculation of the first random number and the second random number.
  • the key request unit 23B encrypts the communication numerical value using the public key (in this embodiment, the communication secret key) stored in the first key storage unit 11, and transmits the encrypted communication numerical value to the server 20B.
  • the server 20B is different from the server 20A of the second embodiment in a key issuing unit 23B.
  • the key issuing unit 23B includes a key generation module 230, a communication secret key encryption module 231B, a communication secret key transmission module 232, a second storage module 233, and a random number storage module 234.
  • the random number storage module 234 is configured to store, for example, the second random number received by the second communication unit 22 from the terminal 10B.
  • the communication secret key encryption module 231B includes a secret value acquisition unit 2311B, an encryption unit 2312A, and an encryption key generation unit 2313.
  • the secret value acquisition unit 2311B is configured to decrypt the first cipher received by the second communication unit 22 and obtain a communication numerical value.
  • the secret value acquisition unit 2311B decrypts the first cipher using the decryption secret key paired with the communication secret key.
  • the secret value acquisition unit 2311B is configured to acquire a secret value by a simple calculation of the acquired communication numerical value and the second random number stored in the random number storage module 234.
  • the communication numerical value generation unit 1321 performs communication numerical values R10 ⁇ R20 by a simple calculation of the second random number R20 obtained from the random number generation module 136 and the secret value R10 stored in the secret value storage module 131. Is generated.
  • the communication numerical value encryption unit 1322 encrypts the communication numerical value R10 ⁇ R20 using the communication secret key K10 stored in the first key storage unit 11 as a public key, and uses the first encryption PEN K10 (R10 ⁇ R20). Generate.
  • the secret value transmission module 133 controls the first communication unit 12 to transmit the first cipher PEN K10 (R10 ⁇ R20) to the server 20B together with the identification information ID10 of the terminal 10B and the request message (process of FIG. 8). P50B).
  • the terminal 10B transmits the identification information ID10 of the terminal 10B and the first cipher PEN K10 (R10 ⁇ R20) when requesting the server 20B to issue the communication secret key.
  • the secret value acquisition unit 2311B decrypts the first cipher PEN K10 (R10 ⁇ R20) using the decryption secret key K20 stored in the second key storage unit 21. To obtain a communication numerical value R10 ⁇ R20. Further, the secret value acquisition unit 2311B acquires the secret value R10 by a simple calculation of the second random number R20 stored in the random number storage module 137 and the communication numerical value R10 ⁇ R20. That is, the secret value acquisition unit 2311B removes the second random number R20 from the communication numerical value R10 ⁇ R20.
  • the communication secret key transmission module 232 controls the second communication unit 22 to transmit the second cipher and the third nonce N30 to the terminal 10B that has requested the issuance of a new communication secret key K11 (FIG. 8). Process P60B).
  • the terminal 10B generates a communication numerical value R10 ⁇ R20 having a number of digits larger than the secret value R10 and transmits it to the server 20B.
  • the communication numerical value R10 ⁇ R20 may be known to a third party.
  • the communication numerical value R10 ⁇ R20 has a large number of digits, and the third party cannot know how the communication numerical value R10 ⁇ R20 is generated from the secret value R10 and the second random number R20. Therefore, it is almost impossible to obtain the secret value R10 from the communication numerical value R10 ⁇ R20 by the brute force method or the like within the time when the secret value R10 is valuable.
  • the terminal 10B transmits the communication numerical value generated using the secret value to the server 20B. Since the communication numerical value has more digits than the secret value, the possibility that the secret value is known to a third party is greatly reduced as compared with the case where the secret value itself is transmitted.
  • a communication numerical value having a number of digits larger than the secret value is used only when the secret value is transmitted from the terminal 10B to the server 20B. Therefore, it is not necessary to encrypt or decrypt the communication secret key using a communication numerical value having a number of digits larger than the secret value. That is, the key distribution system of this embodiment increases the number of digits of the secret value in a pseudo manner only when the secret value is transmitted to the server 20B, so that the processing load does not increase.
  • the key distribution system can reduce the possibility that the secret value is known to a third party, and can suppress an increase in the processing load of the server 20B and the terminal 10B.
  • the key distribution system according to the present embodiment differs from the second embodiment in a terminal 10C and a server 20C.
  • symbol is attached
  • the terminal 10C includes a first key storage unit 11, a first communication unit 12, a key request unit 13C, a first identification information storage unit 14, a session key request unit 15, a session key receiving unit 16, a first key A primitive source storage unit 17.
  • the description of the configuration common to the terminal 10C and the terminal 10A is omitted.
  • the first primitive element storage unit 17 is configured to store a prime p having a large value and a primitive element g having an appropriate value. In consideration of communication safety, it is preferable that the prime number p and the primitive element g are not disclosed. When the prime number p and the primitive element g are not disclosed, the prime number p and the primitive element g are given to the terminal 10C by the management device 40.
  • the key request unit 13C includes a secret value generation module (first secret value generation module) 130C, a secret value storage module (first secret value storage module) 131C, a first public key generation module 138, and a first public key transmission.
  • a module 139 is a secret value generation module 130C, a secret value storage module (first secret value storage module) 131C, a first public key generation module 138, and a first public key transmission.
  • the secret value generation module 130C is configured to generate a secret value (first secret value) consisting of a numerical value when requesting the issuance of a new communication secret key.
  • the first secret value is a random number.
  • the secret value storage module 131C is configured to store the first secret value generated by the secret value generation module 130C.
  • the first public key generation module 138 applies the first secret value stored in the secret value storage module 131C to the source element stored in the first source element storage module 17 so that the first public key generation module 138 of the Diffie-Hellman key sharing scheme is used.
  • the first public key transmission module 139 transmits the first public key K41 generated by the first public key generation module 138 to the server 20 together with a request message (request command) for requesting issuance of a new communication secret key.
  • the first communication unit 12 is configured to be controlled.
  • the first public key transmission module 139 causes the first communication unit 12 to transmit the identification information of the terminal 10C together with the first public key K41.
  • the key request unit 13C requests the server 20C to issue a new communication secret key
  • the key request unit 13C newly generates a first secret value consisting of a numerical value.
  • the key requesting unit 13C generates the first public key K41 of the Diffie-Hellman key sharing method by applying the first secret value to the source element stored in the first source element storage unit 17.
  • the key request unit 13C transmits the first public key K41 to the server 20C.
  • the server 20C includes a second key storage unit 21, a second communication unit 22, a key issue unit 23C, a second identification information storage unit 24, a session key issue unit 25, a second primitive source storage unit 26, Have The description of the configuration common to the server 20C and the server 20A is omitted.
  • the second primitive element storage unit 26 is configured to store a large prime number p and an appropriate value primitive element g in the same manner as the first primitive element storage unit 17.
  • the prime number p and the primitive element g are not disclosed, the prime number p and the primitive element g are given to the server 20C by the management device 40.
  • the key issuing unit 23C includes a key generation module 230C, a communication secret key encryption module 231C, a communication secret key transmission module 232C, a second storage module 233C, a second secret value generation module 235, and a second disclosure.
  • a key generation module 236 includes a key generation module 230C, a communication secret key encryption module 231C, a communication secret key transmission module 232C, a second storage module 233C, a second secret value generation module 235, and a second disclosure.
  • the key generation module 230C is configured to generate a new communication secret key when the second communication unit 22 receives a request message from the terminal 10C.
  • the second secret value generation module 235 is configured to generate a second secret value consisting of a numerical value when the second communication unit 22 receives the request message.
  • the second secret value is a random number. That is, the second secret value generation module 235 generates a second secret value having a random numerical value every time a request message is received. That is, the second secret value has a different numerical value every time the communication secret key is issued. The second secret value is used until a new communication secret key is transmitted to terminal 10C.
  • the private key encryption module for communication 231C includes a second common key generation module 2314 and an encryption unit 2312C.
  • the second common key generation module 2314 receives the first public key K41 received by the second communication unit 22 and the second secret value generated by the second secret value generation module 235. Are used to generate a Diffie-Hellman key sharing common key K40.
  • the encryption unit 2312C is configured to encrypt a new communication secret key using the common key K40 obtained from the second common key generation module 2314 and generate a second cipher.
  • the encryption unit 2312C generates an encryption key made up of a message authentication code using the common key K40.
  • the encryption unit 2312C encrypts a new communication secret key using the encryption key as a common key to generate a second cipher.
  • the encryption unit 2312C uses the exclusive OR of the encryption key and the new communication secret key as the second encryption (encrypted new communication secret key).
  • the second public key generation module 236 applies the second secret value generated by the second secret value generation module 235 to the source element stored in the second source element storage module 26, thereby providing a Diffie-Hellman key sharing scheme.
  • the communication secret key transmission module 232C controls the second communication unit 22 to generate the second cipher generated by the communication secret key encryption module 231C and the second cipher generated by the second public key generation module 236.
  • the public key K42 is configured to be transmitted to the terminal 10C.
  • the second storage module 233C is configured to store the new communication secret key generated by the key generation module 230C in the second key storage unit 21. Note that the second storage module 233 may be configured to update the communication secret key stored in the second key storage unit 21 to a new communication secret key generated by the key generation module 230C. .
  • the key issuing unit 23C generates a second secret value consisting of a numerical value when the terminal 10C is requested to issue a new secret key for communication.
  • the key issuing unit 23C generates a common key K40 of the Diffie-Hellman key sharing method using the first public key and the second secret value received from the terminal 10C.
  • the key issuing unit 23C generates the second public key K42 of the Diffie-Hellman key sharing method by applying the second secret value to the source element stored in the second source element storage unit 26.
  • the key issuing unit 23C encrypts a new communication secret key using the common key K40 and transmits it to the terminal 10C together with the second public key K42.
  • the key issuance unit 23C issues a new communication secret key and stores it in the second key storage unit 21. Therefore, the second communication unit 22 uses a new communication secret key when performing encrypted communication with the terminal 10C using the communication secret key as a common key.
  • the key request unit 13C further includes a communication secret key decryption module 134C and a first storage module 135.
  • the communication private key decryption module 134C includes a first common key generation module 1343 and a decryption unit 1342C.
  • the first common key generation module 1343 receives the first secret value x and the second public key K42 stored in the secret value storage module 131C. Is used to generate a Diffie-Hellman key sharing common key K40.
  • the decryption unit 1342C decrypts the second cipher received by the first communication unit 12 using the common key K40 generated by the first common key generation module 1343, thereby obtaining a new communication secret key. Configured. In the present embodiment, the decryption unit 1342C uses the common key K40 to generate a decryption key composed of a message authentication code that is equal to the encryption key generated by the encryption unit 2312C. The decrypting unit 1342C decrypts the new communication secret key using the decryption key as a common key to obtain the second cipher. For example, the decrypting unit 1342C obtains a new communication secret key by obtaining an exclusive OR of the decryption key and the second cipher.
  • the key request unit 13C When the key request unit 13C receives the new communication secret key (second cipher) and the second public key K42 encrypted from the server 20C in this manner, the first request secret value and the second secret key received from the server 20C are received. 2 A common key K40 is generated using the public key. The key requesting unit 13C decrypts the second cipher using the common key K40, acquires a new communication secret key, and stores it in the first key storage unit 11. Therefore, the first communication unit 12 uses a new communication secret key when performing encrypted communication with the server 20C using the communication secret key as a common key.
  • the management device 40 is used for registering the communication secret key.
  • the management device 40 is connected to the server 20C and the terminal 10C using a communication channel such as the Internet when registering the communication secret key.
  • the management device 40 transmits the communication secret key K10 to the server 20C (process P10C in FIG. 10).
  • the server 20 ⁇ / b> C registers the communication secret key K ⁇ b> 10 received from the management device 40 in the second key storage unit 21.
  • the management device 40 transmits identification information (terminal identification information) ID10 for identifying the terminal 10C to the server 20C.
  • the server 20 ⁇ / b> C registers the identification information ID ⁇ b> 10 received from the management device 40 in the second identification information storage unit 24.
  • the management device 40 transmits the identification information ID10 of the terminal 10C and the communication secret key K10 registered in the server 20C to the terminal 10C (process P20C in FIG. 10).
  • the terminal 10 ⁇ / b> C registers the identification information ID ⁇ b> 10 received from the management device 40 in the first identification information storage unit 14. Further, the terminal 10 ⁇ / b> C registers the communication secret key K ⁇ b> 10 received from the management device 40 in the first key storage unit 11.
  • a communication secret key K10 is registered as a prior secret key in the second key storage unit 21 of the server 20C and the first key unit 11 of the terminal 10C, respectively.
  • the decryption secret key K20 is not registered in the second key storage unit 21 of the server 20 as a pre-secret key paired with the communication secret key K10.
  • the secret value generation module 130C When the issue request process is started, the secret value generation module 130C generates the first secret value x.
  • the first secret value x is stored in the secret value storage module 131C.
  • the first public key generation module 138 uses the first secret value x stored in the secret value storage module 131C and the primitive element g and the prime number p stored in the first primitive element storage unit 17 to perform the first disclosure.
  • a key K41 is generated.
  • the first public key transmission module 139 controls the first communication unit 12 to transmit the first public key K41 to the server 20C together with the identification information ID10 of the terminal 10C and the request message (process P50C in FIG. 10).
  • the second secret value generation module 235 When the second communication unit 22 receives the request message, the second secret value generation module 235 generates the second secret value y.
  • the second common key generation module 2314 generates the common key K40 by using the first public key K41 received by the second communication unit 22 and the second secret value y generated by the second secret value generation module 235. .
  • the second storage module 233C stores the new communication secret key K11 generated by the key generation module 230C in the second key storage unit 21.
  • the server 20C transmits the second cipher and the second public key K42 to the terminal 10C.
  • the first common key generation module 1343 uses the first secret value x and the second public key K42 stored in the secret value storage module 131C. Is used to generate a Diffie-Hellman key sharing common key K40.
  • the first common key generation module 1343 obtains the value of (R y ) x using the first secret value x and the remainder R y .
  • R yx (R y ) x mod p
  • a new communication secret key K11 is obtained by calculating a logical OR.
  • the first storage module 135 stores the new communication secret key K11 obtained by the communication secret key decryption module 134C in the first key storage unit 11.
  • the first communication unit 12 performs encrypted communication using the new communication secret key K11 as a common key with the server 20C. Do. After the new communication secret key K11 is stored in the second key storage unit 21, the second communication unit 22 performs encrypted communication using the new communication secret key K11 as a common key with the terminal 10C.
  • the key distribution system encrypts a new communication secret key K11 using the Diffie-Hellman key sharing common key K40 and transmits it to the terminal 10C. Therefore, even a third party who knows the original communication secret key K10 cannot decrypt the encrypted new communication secret key K11. Therefore, the new communication secret key K11 can be safely delivered to the terminal 10C.

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)
  • Computer And Data Communications (AREA)

Abstract

 鍵配布システムは、通信用秘密鍵(K10)を共通鍵として用いて互いに暗号化通信を行う端末(10)とサーバ(20)とを備える。上記端末(10)は、新たな通信用秘密鍵(K11)の発行の要求時には、秘密値(R10)を生成し、公開鍵で暗号化して上記サーバ(20)に送信する。上記サーバ(20)は、上記暗号化された秘密値(R10)を上記公開鍵とペアとなる私有鍵で復号化する。上記サーバ(20)は、新たな通信用秘密鍵(K11)を発行し、秘密値(R10)を共通鍵として用いて暗号化して上記端末(10)に送信する。上記端末(10)は、暗号化された上記新たな通信用秘密鍵(K11)を上記秘密値(R10)を用いて復号化して上記新たな通信用秘密鍵(K11)を取得する。その後、上記端末(10)と上記サーバ(20)とは、上記新たな通信用秘密鍵(K11)を共通鍵として用いて互いに暗号化通信を行う。

Description

鍵配布システム
 本発明は、鍵配布システムに関し、特にサーバと端末との間の暗号化通信に用いられる共通鍵である通信用秘密鍵をサーバが端末に配布する鍵配布システムに関する。
 従来から、有効期限を定めたセッション鍵を用いて暗号化通信を行う通信システムがある。この通信システムでは、セッション鍵を暗号化して配布する。セッション鍵の暗号化には、クリプトナイトプロトコルと称する共通鍵暗号が用いられる。
 共有鍵暗号では、サーバ(住宅用サーバ)と端末(設備機器)とには同じ共通鍵(以下では、「通信用秘密鍵」という)があらかじめ設定される。通信用秘密鍵は端末毎に決まっているから、端末の利用者が変わったとしても端末の通信用秘密鍵は変わらない。したがって、端末を前に利用していた利用者は、端末から通信用秘密鍵を取得しておけば、端末とサーバとの間の通信を傍受できる。そのため、同じ端末の新たな利用者による利用状況(たとえば生活習慣)などが前の利用者に監視されたり、前の利用者によって端末が不正に利用されたり(勝手に操作されたり)するおそれがある。
 文献1(特開2000-349748号公報)は、共有鍵暗号よりも通信の秘匿性が高い公開鍵暗号を開示する。公開鍵暗号であっても、公開鍵と私有鍵とを変更しない限り、前の利用者が通信を傍受することを完全には防止できない。
 そこで、利用者が変わった際には、公開鍵と私有鍵とを変更することが考えられる。しかしながら、文献1に開示された公開鍵暗号は、送信者と受信者とが情報を共有するために送信者と受信者とがそれぞれ相手の公開鍵とペアになる秘密鍵(私有鍵)を保有していなければならない。そのため、文献1に開示された公開鍵暗号では、秘密鍵そのものの交換は行えない。
 本発明は上記事由に鑑みて為された。本発明の目的は、サーバが新たに発行した、端末との暗号化通信に用いる通信用秘密鍵を他者に知られないように安全にサーバから端末に配布できる鍵配布システムを提供することである。
 本発明に係る鍵配布システムは、端末と、通信ネットワークを介して上記端末に接続されるサーバとを備える。上記端末は、通信用秘密鍵と公開鍵とを記憶する書換可能な第1鍵記憶ユニットを有する。上記端末は、上記第1鍵記憶ユニットに記憶された上記通信用秘密鍵を共通鍵として用いた暗号化通信を上記サーバと行うための第1通信ユニットを有する。上記端末は、鍵要求ユニットを有する。上記鍵要求ユニットは、上記サーバに新たな通信用秘密鍵の発行を要求するときに、数値よりなる秘密値を新たに生成するように構成される。上記鍵要求ユニットは、さらに、上記第1記憶ユニットに記憶された上記公開鍵を用いて上記秘密値を暗号化して第1の暗号を生成し、上記第1の暗号を上記サーバに送信するように構成される。上記サーバは、上記通信用秘密鍵に加えて、上記公開鍵とペアになる私有鍵である復号用秘密鍵を記憶する書換可能な第2鍵記憶ユニットを有する。上記サーバは、上記第2鍵記憶ユニットに記憶された上記通信用秘密鍵を共通鍵として用いた暗号化通信を上記端末と行うための第2通信ユニットを有する。上記サーバは、鍵発行ユニットを有する。上記鍵発行ユニットは、上記端末から新たな通信用秘密鍵の発行が要求されると、新たな通信用秘密鍵を発行して上記第2鍵記憶ユニットに記憶させるように構成される。上記鍵発行ユニットは、さらに、上記復号用秘密鍵を用いて上記第1の暗号を復号化することによって上記秘密値を取得するように構成される。上記鍵発行ユニットは、さらに、当該秘密値を利用して上記新たな通信用秘密鍵を暗号化して第2の暗号を生成し、新たな通信用秘密鍵の発行を要求した上記端末に上記第2の暗号を送信するように構成される。上記鍵要求ユニットは、上記秘密値を利用して上記第2の暗号を復号化することによって上記新たな通信用秘密鍵を取得して、上記第1鍵記憶ユニットに記憶させるように構成される。上記第1通信ユニットは、上記第1鍵記憶ユニットに上記新たな通信用秘密鍵が記憶された後は、上記新たな通信用秘密鍵を共通鍵として用いた暗号化通信を上記サーバと行うように構成される。上記第2通信ユニットは、上記第2鍵記憶ユニットに上記新たな通信用秘密鍵が記憶された後は、上記新たな通信用秘密鍵を共通鍵として用いた暗号化通信を上記端末と行うように構成される。
 この鍵配布システムでは、端末がサーバに新たな通信用秘密鍵の発行を要求する際に、公開鍵を用いて秘密値を暗号化してサーバに送信する。サーバは、暗号化された秘密値を公開鍵とペアになる私有鍵を用いて復号化する。サーバは、新たな通信用秘密鍵を、秘密値で復号化できるように暗号化して、端末に送信する。端末は、暗号化された通信用秘密鍵を、秘密値を利用して復号化して、新たな通信用秘密鍵を取得する。したがって、この鍵配布システムによれば、新たな通信用秘密鍵をサーバから端末に安全に届けることができる。
 好ましくは、上記鍵要求ユニットは、上記サーバに新たな通信用秘密鍵の発行を要求するときに、上記第1鍵記憶ユニットに記憶された上記通信用秘密鍵を上記公開鍵として用いて上記新たに生成された秘密値を暗号化するように構成される。上記鍵発行ユニットは、上記端末から新たな通信用秘密鍵の発行が要求されると、上記新たな通信用秘密鍵を発行するとともに、上記新たな通信用秘密鍵とペアになる私有鍵である新たな復号用秘密鍵を発行して上記第2鍵記憶ユニットに記憶させ、上記第2記憶ユニットに上記新たな復号用秘密鍵が記憶された後は、上記新たな復号用秘密鍵を用いて上記第1の暗号を復号化するように構成される。
 この鍵配布システムによれば、通信用秘密鍵を公開鍵として用いるから、サーバだけが暗号化された秘密値を復号化できる。したがって、第三者は、通信用秘密鍵を用いても、暗号化された秘密鍵を復号化できない。よって、新たな通信用秘密鍵をサーバから端末により安全に届けることができる。
 好ましくは、上記鍵要求ユニットは、上記秘密値として使用する第1乱数と、第2乱数とを生成し、上記サーバに新たな通信用秘密鍵の発行を要求する前に上記第2乱数を上記サーバに送信し、上記第1乱数と上記第2乱数との単純演算により通信数値を生成し、上記公開鍵を用いて上記通信数値を暗号化して上記サーバに送信するように構成される。
 この鍵配布システムによれば、第三者に秘密値が知られてしまうことを防止でき、通信用秘密鍵が第三者に知られる可能性を低減できる。しかも、秘密値より桁数が多い通信数値は、端末からサーバに秘密値を送信するときだけ使用される。そのため、秘密値より桁数が大きい通信数値を用いて通信用秘密鍵の暗号化や復号化を行わなくて済み、端末やサーバの処理負荷を低減できる。
 好ましくは、上記鍵発行ユニットは、上記端末から新たな通信用秘密鍵の発行が要求されると、上記端末から受信した上記秘密値を含むメッセージコードを生成し、上記メッセージコードを用いて上記新たな通信用秘密鍵を暗号化して上記端末に送信するように構成される。
 この鍵配布システムによれば、メッセージ認証を行うことによって、サーバと端末とは、第三者による通信用秘密鍵の改竄を検出できる。よって、通信用秘密鍵を用いた暗号化通信の安全性を保証できる。
 本発明に係る別の鍵配布システムは、端末と、通信ネットワークを介して上記端末に接続されるサーバとを備える。上記端末は、通信用秘密鍵を記憶する書換可能な第1鍵記憶ユニットと、所定の原始元を記憶する第1原始元記憶ユニットと、を有する。上記端末は、上記第1記憶ユニットに記憶された上記通信用秘密鍵を共通鍵として用いた暗号化通信を上記サーバと行うための第1通信ユニットと、鍵要求ユニットと、を有する。上記鍵要求ユニットは、上記サーバに新たな通信用秘密鍵の発行を要求するときに、数値よりなる第1秘密値を新たに生成するように構成される。上記鍵要求ユニットは、さらに、上記第1原始元記憶ユニットに記憶された上記原始元に上記第1秘密値を適用することによりディフィー・ヘルマン鍵共有方式の第1公開鍵を生成して上記サーバに送信するように構成される。上記サーバは、上記通信用秘密鍵を記憶する第2鍵記憶ユニットと、上記所定の原始元を記憶する第2原始元記憶ユニットと、を有する。上記サーバは、上記第2記憶ユニットに記憶された上記通信用秘密鍵を共通鍵として用いた暗号化通信を上記端末と行うための第2通信ユニットと、鍵発行ユニットと、を有する。上記鍵発行ユニットは、上記端末から新たな通信用秘密鍵の発行が要求されると、数値よりなる第2秘密値を生成し、上記端末から受信した第1公開鍵と上記第2秘密値とを用いて上記ディフィー・ヘルマン鍵共有方式の共通鍵を生成するように構成される。上記鍵発行ユニットは、さらに、上記第2原始元記憶ユニットに記憶された上記原始元に上記第2秘密値を適用することにより上記ディフィー・ヘルマン鍵共有方式の第2公開鍵を生成するように構成される。上記鍵発行ユニットは、さらに、上記共通鍵を用いて上記新たな通信用秘密鍵を暗号化して上記第2公開鍵とともに新たな通信用秘密鍵の発行を要求した上記端末に送信するように構成される。上記鍵要求ユニットは、上記サーバから暗号化された上記新たな通信用秘密鍵と上記第2公開鍵とを受信すると、上記新たに生成された秘密値と上記サーバから受信した上記第2公開鍵とを用いて上記共通鍵を生成するように構成される。上記鍵要求ユニットは、さらに、暗号化された上記新たな通信用秘密鍵を生成された上記共通鍵を用いて復号化して上記新たな通信用秘密鍵を取得して、上記第1鍵記憶ユニットに記憶させるように構成される。上記第1通信ユニットは、上記第1記憶ユニットに上記新たな通信用秘密鍵が記憶された後は、上記新たな通信用秘密鍵を共通鍵として用いた暗号化通信を上記サーバと行うように構成される。上記第2通信ユニットは、上記第2記憶ユニットに上記新たな通信用秘密鍵が記憶された後は、上記新たな通信用秘密鍵を共通鍵として用いた暗号化通信を上記端末と行うように構成される。
 この鍵配布システムによれば、ディフィー・ヘルマン鍵共有方式の共通鍵を利用して、新たな通信用秘密鍵を暗号化して端末に送信する。そのため、元の通信用秘密鍵を知っている第三者であっても暗号化された新たな通信用秘密鍵を復号化できない。よって、新たな通信用秘密鍵を端末に安全に届けることができる。
実施形態1の鍵配布システムのブロック図である。 同上の動作説明図である。 同上の動作を示すフローチャートである。 実施形態2の鍵配布システムのブロック図である。 同上の動作説明図である。 同上の変形例の鍵配布システムの動作説明図である。 実施形態3の鍵配布システムのブロック図である。 同上の動作説明図である。 実施形態4の鍵配布システムのブロック図である。 同上の動作説明図である。
 (実施形態1)
 図1に示すように、本実施形態の鍵配布システムは、複数の端末10と、各端末10に通信ネットワーク30を介して接続されるサーバ20とを備える。通信ネットワーク30は、広域網と構内網とのいずれであってもよい。端末10およびサーバ20は、通信ネットワーク30に接続するための通信インターフェイスと、所定のデータを記憶するためのメモリと、所定の機能を実現するためのマイクロコンピュータとを利用して構成されている。
 端末10は、通信ネットワーク30を介してサーバ20に接続される。端末10は、第1鍵記憶ユニット11と、第1通信ユニット12と、鍵要求ユニット13と、第1識別情報記憶ユニット14と、セッション鍵要求ユニット15と、セッション鍵受取ユニット16と、を有する。
 第1鍵記憶ユニット11は、書換可能な記録媒体である。第1鍵記憶ユニット11は、通信用秘密鍵と、セッション鍵とを記憶するように構成される。なお、本実施形態では、通信用秘密鍵が公開鍵としても用いられる。よって、第1鍵記憶ユニット11は、通信用秘密鍵と公開鍵とを記憶しているといえる。
 第1識別情報記憶ユニット14は、たとえば、書換可能な記録媒体である。第1識別情報記憶ユニット14は、鍵配布システムにおいて端末10とサーバ20とを特定するための識別情報(識別子)を記憶する。なお、上記の識別情報は、鍵配布システムにおいて固有の(ユニークな)情報である。識別情報は、たとえば、MACアドレスや、IPv6におけるIPアドレス、構内網において設定されたアドレスである。
 第1通信ユニット12は、サーバ20と暗号化通信をするために設けられる。第1通信ユニット12は、第1記憶ユニット11に記憶された通信用秘密鍵を共通鍵として用いた暗号化通信をサーバ20と行うように構成される。また、第1通信ユニット12は、第1記憶ユニット11に記憶されたセッション鍵を共通鍵として用いた暗号化通信をサーバ20と行うように構成される。第1通信ユニット12は、送信元の識別情報(端末10の識別情報)と送信先の識別情報(サーバ20の識別情報)と所定の電文とを含むパケットを送信する。このパケットの電文は通信用秘密鍵またはセッション鍵を用いて暗号化される。
 鍵要求ユニット13は、サーバ20に対して通信用秘密鍵の発行を要求する処理(発行要求処理)と、通信用秘密鍵の受取の処理を行うように構成される。
 鍵要求ユニット13は、たとえば、端末10の利用者が変わったときに通信用秘密鍵を変更するために設けられている。発行要求処理は、利用者が特定の操作、たとえば発行要求処理を開始するためのスイッチの操作によって開始される。端末10は、通信ネットワーク30に接続されたときに(通信ネットワーク30に参加したことを通知するためのパケットを送信するときに)、自動的に発行要求処理を実行するように構成されていてもよい。端末10が通信ネットワーク30に接続された後は、定期的あるいは不定期的に発行要求処理が実行されるようにしてもよい。この場合、発行要求処理を実行する第1時間間隔は、セッション鍵の発行を要求する処理を実行する第2時間間隔に比べて十分に長く設定することが好ましい。たとえば、第2時間間隔を1日程度とする場合には、第1時間間隔は1ヶ月以上とすることが好ましい。
 セッション鍵要求ユニット15は、サーバ20に対してセッション鍵の発行を要求する処理を行うように構成される。
 セッション鍵受取ユニット16は、サーバ20からのセッション鍵の受取の処理を行うように構成される。
 サーバ20は、第2鍵記憶ユニット21と、第2通信ユニット22と、鍵発行ユニット23と、第2識別情報記憶ユニット24と、セッション鍵発行ユニット25と、を有する。
 第2鍵記憶ユニット21は、書換可能な記録媒体である。第2鍵記憶ユニット21は、通信用秘密鍵と、セッション鍵とを記憶するように構成される。第2記憶ユニット21は、さらに、通信用秘密鍵とペアになる私有鍵である復号用秘密鍵を記憶するように構成される。
 このように通信用秘密鍵と復号用秘密鍵とはペアとなる暗号鍵である。つまり、通信用秘密鍵と復号用秘密鍵との間の関係は、公開鍵暗号における公開鍵と秘密鍵(私有鍵)との間の関係と同等である。つまり、復号用秘密鍵は、通信用秘密鍵を公開鍵として暗号化された電文を復号化するための私有鍵である。よって、通信用秘密鍵(公開鍵暗号における公開鍵に相当)を用いて暗号化された電文(暗号文)を復号化するためには、通信用秘密鍵ではなく復号用秘密鍵(公開暗号鍵における私有鍵に相当)が必要である。また、復号用秘密鍵を用いて暗号化された電文(暗号文)を復号化するためには、通信用秘密鍵が必要である。
 したがって、本実施形態の鍵配布システムでは、端末10とサーバ20とは、公開鍵暗号方式によって暗号化通信を行える。
 第2鍵記憶ユニット21は、通信用秘密鍵と、復号用秘密鍵と、セッション鍵とからなる鍵束を、サーバ20に接続された各端末10と関連付けて記憶するように構成される。つまり、端末10の識別情報が、通信用秘密鍵と復号用秘密鍵とセッション鍵とのそれぞれと対応付けられている。
 第2識別情報記憶ユニット24は、たとえば、書換可能な記録媒体である。第2識別情報記憶ユニット24は、上記識別情報を記憶する。
 第2通信ユニット22は、端末10と暗号化通信をするために設けられる。第2通信ユニット22は、第2記憶ユニット21に記憶された通信用秘密鍵を共通鍵として用いた暗号化通信を端末10と行うように構成される。また、第2通信ユニット22は、第2記憶ユニット21に記憶されたセッション鍵を共通鍵として用いた暗号化通信を端末10と行うように構成される。第2通信ユニット22は、送信元の識別情報(サーバ20の識別情報)と送信先の識別情報(端末10の識別情報)と所定の電文とを含むパケットを送信する。このパケットの電文は通信用秘密鍵またはセッション鍵を用いて暗号化される。
 鍵発行ユニット23は、端末10から通信用秘密鍵の発行が要求されたときに、通信用秘密鍵の発行の処理を行うように構成される。
 セッション鍵発行ユニット25は、端末10からセッション鍵の発行が要求されたときに、セッション鍵の発行の処理を行うように構成される。つまり、サーバ20は、端末10からの要求に応答してセッション鍵を発行する。
 本実施形態では、サーバ20は、サーバ20と端末10との間で送受信される電文の暗号化に用いられるセッション鍵を端末10に配布するように構成されている。
 端末10は、たとえば住宅内に設けた通信機能を有する設備機器である。サーバ20は、たとえば認証サーバであり、住宅内の各設備機器(端末10)と通信可能な住宅用サーバを利用して構成される。サーバ20を利用して宅内の各設備機器(端末10)の制御や監視が行える。
 セッション鍵要求ユニット15は、サーバ20にセッション鍵の配布を要求する際には、ノンス(第1ノンス)を生成する。第1ノンスは、1回だけ使用される数値である。第1ノンスは、通常は乱数である。セッション鍵要求ユニット15は、第1ノンスとセッション鍵要求メッセージ(セッション鍵要求コマンド)と端末10の識別情報とを含む電文を第1通信ユニット12がサーバ20に送信するように第1通信ユニット12を制御する。セッション鍵要求メッセージは、セッション鍵の発行を要求するためのコマンドである。
 なお、第1通信ユニット12は、送信元アドレス(送信元の識別情報)と送信先アドレス(送信先の識別情報)とを含むパケットを送信するから、サーバ20は、送信元アドレスによって端末10の識別情報を取得できる。よって、上記の電文では端末10の識別情報を省略できる。
 セッション鍵発行ユニット25は、端末10からセッション鍵要求メッセージを受け取ると、セッション鍵を生成し、第2鍵記憶ユニット21に記憶させる。また、セッション鍵発行ユニット25は、第2鍵記憶ユニット21に記憶された通信用秘密鍵を用いてセッション鍵を暗号化する。セッション鍵発行ユニット25は、セッション鍵を暗号化するために、通信用秘密鍵を用いて第2メッセージ認証コード(第2メッセージコード)を生成する。セッション鍵発行ユニット25は、第2メッセージ認証コードとセッション鍵との排他論理和を暗号化されたセッション鍵として用いる。すなわち、セッション鍵発行ユニット25は、第2メッセージ認証コードを共通鍵として用いてセッション鍵を暗号化する。第2メッセージ認証コードを生成するための情報は、端末10から受信した端末10の識別情報および第1ノンスと、セッション鍵発行ユニット25が生成したノンス(第2ノンス)と、サーバ20の識別情報とを含む。セッション鍵発行ユニット25は、暗号化されたセッション鍵と第2ノンスとを第2通信ユニット22が端末10に送信するように第2通信ユニット22を制御する。
 セッション鍵受取ユニット16は、サーバ20から暗号化されたセッション鍵と、第2ノンスとを受け取ると、暗号化されたセッション鍵を復号化する。セッション鍵受取ユニット16は、暗号化されたセッション鍵を復号化するために、第2メッセージ認証コードと値が等しい第1メッセージ認証コード(第1メッセージコード)を生成する。端末10は、端末10の識別情報と第1ノンスとサーバ20の識別情報と通信用秘密鍵とを有しているから、サーバ20から第2ノンスを受信することで、第1メッセージ認証コードを生成できる。
 暗号化されたセッション鍵は、第2メッセージ認証コードとセッション鍵との排他的論理和である。よって、暗号化されたセッション鍵と第1メッセージ認証コードとの排他的論理和を求めることにより、セッション鍵を取得できる。
 セッション鍵受取ユニット16は、取得したセッション鍵を第1鍵記憶ユニット11に記憶させる。このとき、セッション鍵受取ユニット16は、第1鍵記憶ユニット11に記憶されたセッション鍵を新たに取得したセッション鍵に更新するように構成されていてもよい。
 鍵要求ユニット13は、秘密値生成モジュール130と、秘密値記憶モジュール131と、秘密値暗号化モジュール132と、秘密値送信モジュール133と、を有する。
 秘密値生成モジュール130は、新たな通信用秘密鍵の発行を要求する際に数値よりなる秘密値を生成するように構成される。秘密値は乱数である。つまり、秘密値生成モジュール130は、通信用秘密鍵の発行を要求する処理毎にランダムな数値を持つ秘密値を生成する。そのため、秘密値は、通信用秘密鍵の発行を要求する処理毎に異なる数値を持つ。同じ秘密値は新たな通信用秘密鍵を端末10が受け取るまで用いられる。
 秘密値記憶モジュール131は、秘密値生成モジュール130で生成された秘密値を記憶するように構成される。なお、秘密値記憶モジュール131は、既に秘密値を記憶している場合には、記憶している秘密値を秘密値生成モジュール130で生成された秘密値に更新するように構成されていてもよい。
 秘密値暗号化モジュール132は、秘密値記憶モジュール131に記憶された秘密値を暗号化して第1の暗号を生成するように構成される。秘密値暗号化モジュール132は、第1鍵記憶ユニット11に記憶された通信用秘密鍵を公開鍵として用いて秘密値を暗号化する。たとえば、秘密値暗号化モジュール132は、新たな通信用秘密鍵を要求する処理の開始時に第1鍵記憶ユニット11に記憶されている通信用秘密鍵を用いて公開鍵方式(たとえば、RSA)で秘密値を暗号化して第1の暗号を生成する。
 秘密値送信モジュール133は、新たな通信用秘密鍵の発行を要求する要求メッセージ(要求コマンド)とともに秘密値暗号化モジュール132で生成された第1暗号がサーバ20に送信されるように第1通信ユニット12を制御するように構成される。秘密値送信モジュール133は、第1の暗号と一緒に端末10の識別情報も第1通信ユニット12に送信させる。
 鍵発行ユニット23は、鍵生成モジュール230と、通信用秘密鍵暗号化モジュール231と、通信用秘密鍵送信モジュール232と、第2保管モジュール233と、を有する。
 鍵生成モジュール230は、第2通信ユニット22が端末10から要求メッセージを受け取ると、新たな通信用秘密鍵を生成するように構成される。また、鍵生成モジュール230は、第2通信ユニット22が要求メッセージを受け取ると、新たな通信用秘密鍵とペアとなる新たな復号用秘密鍵を生成するように構成される。
 通信用秘密鍵暗号化モジュール231は、秘密値取得部2311と、暗号化部2312と、を有する。
 秘密値取得部2311は、第2通信ユニット22が要求メッセージを受け取ると、第2通信ユニット22が受け取った第1の暗号を復号化して秘密値を取得するように構成される。秘密値取得部2311は、通信用秘密鍵とペアとなる復号用秘密鍵を用いて第1の暗号を復号化する。なお、秘密値取得部2311は、端末10の通信用秘密鍵とペアになる復号用秘密鍵を抽出する際に、端末10の識別情報を検索キーに用いる。
 暗号化部2312は、秘密値取得部2311より得た秘密値を共通鍵として用いて新たな通信用秘密鍵を暗号化して第2の暗号を生成するように構成される。暗号化部2312は、たとえば、新たな通信用秘密鍵と秘密値との排他的論理和を第2の暗号(暗号化された新たな通信用秘密鍵)として用いる。
 通信用秘密鍵送信モジュール232は、新たな通信用秘密鍵の発行を要求した端末10に第2通信ユニット22が第2の暗号を送信するように第2通信ユニット22を制御するように構成される。
 第2保管モジュール233は、鍵生成モジュール230で生成された新たな通信用秘密鍵と新たな復号用秘密鍵とを第2鍵記憶ユニット21に記憶させるように構成される。なお、第2保管モジュール233は、第2鍵記憶ユニット21に記憶された通信用秘密鍵を、鍵生成モジュール230で生成された新たな通信用秘密鍵に更新するように構成されていてもよい。また、第2保管モジュール233は、第2鍵記憶ユニット21に記憶された復号用秘密鍵を、鍵生成モジュール230で生成された新たな復号用秘密鍵に更新するように構成されていてもよい。
 このように鍵発行ユニット23は、端末10から新たな通信用秘密鍵の発行が要求されると、新たな通信用秘密鍵を発行して第2鍵記憶ユニット21に記憶させる。鍵発行ユニット23は、復号用秘密鍵を用いて第1の暗号を復号化することによって秘密値を取得する。鍵発行ユニット23は、秘密値を利用して新たな通信用秘密鍵を暗号化して第2の暗号を生成する。鍵発行ユニット23は、新たな通信用秘密鍵の発行を要求した端末10に第2の暗号を送信する。
 また、鍵発行ユニット23は、端末10から新たな通信用秘密鍵の発行が要求されると、新たな通信用秘密鍵を発行するとともに、新たな通信用秘密鍵とペアになる私有鍵である新たな復号用秘密鍵を発行して第2鍵記憶ユニット21に記憶させる。鍵発行ユニット23は、第2鍵記憶ユニット21に新たな復号用秘密鍵が記憶された後は、新たな復号用秘密鍵を用いて第1の暗号を復号化する。
 このようにして第2鍵記憶ユニット21には新たな通信用秘密鍵が記憶されるから、第2通信ユニット22は、通信用秘密鍵を共通鍵として用いた暗号化通信を端末10と行う場合には、新たな通信用秘密鍵を使用する。
 鍵要求ユニット13は、さらに、通信用秘密鍵復号化モジュール134と、第1保管モジュール135と、を有する。
 通信用秘密鍵復号化モジュール134は、上記第1通信ユニット12が第2の暗号を受け取ると、秘密値記憶モジュール131に記憶された秘密値を用いて第1通信ユニット12が受け取った第2の暗号を復号化し、これによって新たな通信用秘密鍵を得るように構成される。第2の暗号は秘密値と新たな通信用秘密鍵との排他的論理和である。第2の暗号と秘密値との排他的論理和を求めることにより新たな通信用秘密鍵が得られる。なお、通信用秘密鍵復号化モジュール134は、新たな通信用秘密鍵を得た後に、秘密値記憶モジュール131に記憶された秘密値を消去するように構成されていてもよい。
 第1保管モジュール135は、通信用秘密鍵復号化モジュール134によって得られた新たな通信用秘密鍵を第1鍵記憶ユニット11に記憶させるように構成される。なお、第1保管モジュール135は、第1鍵記憶ユニット11に記憶された通信用秘密鍵を、新たな通信用秘密鍵に更新するように構成されていてもよい。
 このように鍵要求ユニット13は、サーバ20に新たな通信用秘密鍵の発行を要求するときに、数値よりなる秘密値を新たに生成する。鍵要求ユニット13は、第1鍵記憶ユニット11に記憶された通信用秘密鍵を公開鍵として用いて秘密値を暗号化して第1の暗号を生成してサーバ20に送信する。鍵要求ユニットは、秘密値を利用して第2の暗号を復号化することによって新たな通信用秘密鍵を取得して、第1鍵記憶ユニット11に記憶させる。
 このようにして第1鍵記憶ユニット11には新たな通信用秘密鍵が記憶されるから、第1通信ユニット12は、通信用秘密鍵を共通鍵として用いた暗号化通信をサーバ20と行う場合には、新たな通信用秘密鍵を使用する。
 次に、図2及び図3を参照して本実施形態の鍵配布システムの動作について説明する。
 なお、端末10の出荷時には、端末10に通信用秘密鍵を登録する作業と、管理装置20に通信用秘密鍵と復号用秘密鍵とを登録する作業とが行われる。通信用秘密鍵と復号用秘密鍵との登録には、管理装置(製品管理装置)40が用いられる。管理装置40は、通信用秘密鍵と復号用秘密鍵との登録の際には、インターネットのような通信路を用いてサーバ20および端末10に接続される。
 図2に示すように、管理装置40は、通信用秘密鍵K10と復号用秘密鍵K20とをサーバ20に送信する(図2のプロセスP10)。サーバ20は、管理装置40から受け取った通信用秘密鍵K10と復号用秘密鍵K20とを第2鍵記憶ユニット21に登録する(図3のステップS11)。管理装置40は、通信用秘密鍵K10と復号用秘密鍵K20との漏洩を防止するために、SSL(Secure Socket Layer)やTLS(Transport Layer Security)のような技術を用いてサーバ20と通信する。
 また、管理装置40は、端末10を識別するための識別情報(端末識別情報)ID10をサーバ20に送信する。サーバ20は、管理装置40から受け取った識別情報ID10を第2識別情報記憶ユニット24に登録する。なお、機器を通信ネットワークNTに接続するためのミドルウェアとしてのEMIT(Embedded Micro Internetworking Technology)が端末10に搭載されている場合,EMITのオブジェクトIDを端末識別情報ID10に用いることができる。
 管理装置40は、端末10の識別情報ID10と、サーバ20に登録された通信用秘密鍵K10とを端末10に送信する(図2のプロセスP20)。端末10は、管理装置40から受け取った識別情報ID10を第1識別情報記憶ユニット14に登録する。また、端末10は、管理装置40から受け取った通信用秘密鍵K10を第1鍵記憶ユニット11に登録する(図3のステップS12)。
 すなわち、サーバ20の第2鍵記憶ユニット21と端末10の第1鍵ユニット11とには、それぞれ事前秘密鍵として通信用秘密鍵K10が登録される。また、サーバ20の第2鍵記憶ユニット21には、通信用秘密鍵K10とペアになる事前秘密鍵として復号用秘密鍵K20が登録される。
 本実施形態の鍵配布システムでは、以下の手順でサーバ20が端末10にセッション鍵を配布する。
 端末10がサーバ20にセッション鍵の発行を要求する際、セッション鍵要求ユニット15は、第1ノンスN10を生成する。セッション鍵要求ユニット15は、第1通信ユニット12を制御して、第1ノンスN10とセッション鍵要求メッセージとを端末10の識別情報ID10とともにサーバ20に送信する(図2のプロセスP30)。
 第2通信ユニット22がセッション鍵要求メッセージを受け取ると、セッション鍵発行ユニット25は、セッション鍵K30を生成する。セッション鍵発行ユニット25は、第2鍵記憶ユニット21に記憶された通信用秘密鍵K10と情報I20とを用いて、第2メッセージ認証コードMACK10(I20)を生成する。情報I20は、端末10から受信した端末10の識別情報ID10および第1ノンスN10と、第2ノンスN20と、サーバ20の識別情報(サーバ識別情報)ID20とである。すなわち、I20=(ID10,N10,N20,ID20)である。
 セッション鍵発行ユニット25は、第2メッセージ認証コード(=MACK10(ID10,N10,N20,ID20))とセッション鍵K30との排他的論理和を演算して暗号化されたセッション鍵(=[MACK10(ID10,N10,N20,ID20) XOR K30])を生成する。セッション鍵発行ユニット25は、第2通信ユニット22を制御して、暗号化されたセッション鍵を第2ノンスN20とともに端末10に送信する(図2のプロセスP40)。
 なお、プロセスP30において端末10から識別情報ID10を受け取っていなければ、情報I20から識別情報ID10を省略してもよい。
 以上の動作をまとめると、端末10は、サーバ20にセッション鍵の発行を要求する際に、第1ノンスN10と識別情報ID10とを送信する(図2のプロセスP30)。サーバ20は、端末10の要求に応答して、暗号化されたセッション鍵(=[MACK10(ID10,N10,N20,ID20) XOR K30])を第2ノンスN20とともに送信する(図2のプロセスP40)。
 暗号化されたセッション鍵と第2ノンスN20とを第1通信ユニット12が受け取ると、セッション鍵受取ユニット16は、第1メッセージ認証コードを生成する。
 セッション鍵受取ユニット16は、第1メッセージ認証コード(=MACK10(ID10,N10,N20,ID20)と暗号化されたセッション鍵(=[MACK10(ID10,N10,N20,ID20) XOR K30])との排他的論理和を演算することで、セッション鍵K30を取得する。セッション鍵受取ユニット16は、受け取ったセッション鍵K30を第1鍵記憶ユニット11に記憶させる。
 このようにして端末10は、サーバ20からセッション鍵K30を受け取る。端末10は、サーバ20から受け取ったセッション鍵K30を、当該セッション鍵K30の有効期間中、サーバ20との間の通信に使用する。
 本実施形態の鍵配布システムでは、以下の手順でサーバ20が端末10に通信用秘密鍵を配布する。
 発行要求処理が開始されると、秘密値生成モジュール130は、乱数である秘密値R10を生成する(図3のステップS13)。秘密値R10は秘密値記憶モジュール131に記憶される。秘密値暗号化モジュール132は、第1鍵記憶ユニット11に記憶された通信用秘密鍵K10を公開鍵として用いて秘密値R10を暗号化して第1の暗号PENK10(R10)を生成する(図3のステップS14)。秘密値送信モジュール133は、第1通信ユニット12を制御して、第1の暗号PENK10(R10)を、端末10の識別情報ID10および要求メッセージとともにサーバ20に送信する(図3のステップS15、図2のプロセスP50)。このように、端末10、通信用秘密鍵の発行をサーバ20に要求する際に、端末10の識別情報ID10と第1の暗号PENK10(R10)とを送信する。
 第1の暗号PENK10(R10)は、電文が価値を持っている時間内(次の通信用秘密鍵K11が端末10に配布されるまでの時間内)は、復号用秘密鍵K20でなければ復号化できない。そのため、他者が通信用秘密鍵K10を知っていても秘密値R10を知ることができない。
 第2通信ユニット22が要求メッセージを受け取ると(図3のステップS16)、秘密値取得部2311は、第2鍵記憶ユニット21に記憶された復号用秘密鍵K20を用いて第1の暗号PENK10(R10)を復号化して、秘密値R10を取得する(図3のステップS17)。
 また、鍵生成モジュール230は、新たな通信用秘密鍵K11と、新たな通信用秘密鍵K11とペアとなる新たな復号用秘密鍵K21とを生成する(図3のステップS18)。
 暗号化部2312は、秘密値取得部2311より得た秘密値R10を共通鍵として用いて新たな通信用秘密鍵K11を暗号化して第2の暗号を生成する(図3のステップS19)。本実施形態では、暗号化部2312は、新たな通信用秘密鍵K11と秘密値R10との排他的論理和(=[R10 XOR K11])を第2の暗号として用いる。
 第2保管モジュール233は、鍵生成モジュール230で生成された新たな通信用秘密鍵K11と新たな復号用秘密鍵K21とを第2鍵記憶ユニット21に記憶させる。
 通信用秘密鍵送信モジュール232は、第2通信ユニット22を制御して、新たな通信用秘密鍵K11の発行を要求した端末10に第2の暗号を送信する(図3のステップS20、図2のプロセスP60)。このように、サーバ20は、端末10に第2の暗号(=[R10 XOR K11])を送信する。
 通信用秘密鍵復号化モジュール134は、上記第1通信ユニット12が第2の暗号を受け取ると(図3のステップS21)、第2の暗号(=[R10 XOR K11])と秘密値R10との排他的論理和を求めることにより新たな通信用秘密鍵K11を得る(図3のステップS22)。
 第1保管モジュール135は、通信用秘密鍵復号化モジュール134によって得られた新たな通信用秘密鍵K11を第1鍵記憶ユニット11に記憶させる。
 そして、第1通信ユニット12は、第1鍵記憶ユニット11に新たな通信用秘密鍵K11が記憶された後は、新たな通信用秘密鍵K11を共通鍵として用いた暗号化通信をサーバ20と行う。第2通信ユニット22は、第2鍵記憶ユニット21に新たな通信用秘密鍵K11が記憶された後は、新たな通信用秘密鍵K11を共通鍵として用いた暗号化通信を端末10と行う。
 そのため、新たな通信用秘密鍵K11が発行された後は、他者が前の通信用秘密鍵K10を知っていても、端末10とサーバ20との間の通信を盗聴できなくなる。
 端末10がサーバ20から新たな通信用秘密鍵K11を取得した後は、以下の手順でサーバ20が端末10にセッション鍵を配布する。
 端末10がサーバ20にセッション鍵の発行を要求する際、セッション鍵要求ユニット15は、第1ノンスN10とは別の新たな第1ノンスN11を生成する。セッション鍵要求ユニット15は、第1通信ユニット12を制御して、第1ノンスN11とセッション鍵要求メッセージとを端末10の識別情報ID10とともにサーバ20に送信する(図2のプロセスP70)。
 第2通信ユニット22がセッション鍵要求メッセージを受け取ると、セッション鍵発行ユニット25は、セッション鍵K30とは別の新たなセッション鍵K31を生成し、第2鍵記憶ユニット21に記憶させる。セッション鍵発行ユニット25は、第2鍵記憶ユニット21に記憶された通信用秘密鍵K11と情報I21とを用いて、第2メッセージ認証コードMACK11(I21)を生成する。情報I21は、端末10から受信した端末10の識別情報ID10および第1ノンスN11と、第2ノンスN20とは別の新たな第2ノンスN21と、サーバ20の識別情報(サーバ識別情報)ID20とである。すなわち、I21=(ID10,N11,N21,ID20)である。
 セッション鍵発行ユニット25は、暗号化されたセッション鍵(=[MACK11(ID10,N11,N21,ID20) XOR K31])を生成して、第2ノンスN21とともに端末10に送信する(図2のプロセスP80)。
 第2ノンスN21と暗号化されたセッション鍵とを第1通信ユニット12が受け取ると、セッション鍵受取ユニット16は第1メッセージ認証コードを生成する。
 セッション鍵受取ユニット16は、第1メッセージ認証コード(=MACK11(ID10,N11,N21,ID20)と暗号化されたセッション鍵(=[MACK11(ID10,N11,N21,ID20) XOR K31])との排他的論理和を演算することで、セッション鍵K31を取得する。セッション鍵受取ユニット16は、受け取ったセッション鍵K31を第1鍵記憶ユニット11に記憶させる。
 このようにして端末10は、サーバ20から新たなセッション鍵K31を受け取る。
 本実施形態の鍵配布システムでは、端末10がサーバ20に新たな通信用秘密鍵の発行を要求する際に、公開鍵を用いて秘密値を暗号化してサーバ20に送信する。サーバ20は、暗号化された秘密値を公開鍵とペアになる私有鍵を用いて復号化する。サーバ20は、新たな通信用秘密鍵を、秘密値で復号化できるように暗号化して、端末10に送信する。端末10は、暗号化された通信用秘密鍵を、秘密値を利用して復号化して、新たな通信用秘密鍵を取得する。
 仮に端末10の利用者が変わった場合に、前の利用者が通信用秘密鍵を知っていたとしても、公開鍵とペアとなる私有鍵までは知りえない。そのため、前の利用者は、秘密値を知ることはできない。よって、秘密値を安全に利用できる。また、秘密値は新たな通信用秘密鍵をサーバ20に要求してから取得するまでしか使用されない。そのため、秘密値が有効である時間内に、他人が秘密値を知る可能性はきわめて低い。よって、秘密値を用いて新たな通信用秘密鍵を暗号化することで、新たな通信用秘密鍵をサーバ20から端末10に安全に届けることができる。
 このように、本実施形態の鍵配布システムによれば、新たな通信用秘密鍵をサーバ20から端末10に安全に届けることができる。
 また、通信用秘密鍵を公開鍵として用いるから、サーバ20だけが暗号化された秘密値を復号化できる。したがって、第三者は、通信用秘密鍵を用いても、暗号化された秘密鍵を復号化できない。よって、新たな通信用秘密鍵をサーバ20から端末10により安全に届けることができる。
 なお、サーバ20は、通信用秘密鍵と復号用秘密鍵とを用いることで、特定の端末10しか利用できないセッション鍵を他人に知られることなく配布できる。サーバ20が端末10に新たなセッション鍵を配布する処理(セッション鍵の更新処理)は、端末10の利用者が変わったときに行われる。
 セッション鍵は、適宜のタイミングで定期的または不定期的に更新してもよい。つまり、同じ利用者が継続して端末10を利用している間にセッション鍵の更新処理が行われるようにしてもよい。一般に、セッション鍵は使い捨ての暗号鍵である。そのため、たとえば、端末10は、同じセッション鍵を所定の有効期間(たとえば1日)だけ保持するように構成されていてもよい。この場合、当該有効期間においてセッション鍵の更新処理が実行されれば、端末10は当該有効期間よりも短い期間でセッション鍵を廃棄する。
 端末10がセッション鍵を共通鍵として用いてサーバ20と通信可能である場合、この端末10はサーバ20の管理下にあるといえる。同じサーバ20の管理下にある端末10同士は、互いに異なるセッション鍵を有していても、同じグループに属するといえる。なお、複数の端末10に同じセッション鍵を配布することは想定していない。
 たとえば、サーバ20が住宅用サーバであり、第1端末10がスイッチであり、第2端末10が照明器具であるとする。また、サーバ20が、第1端末10と第2端末10とにそれぞれ異なるセッション鍵を配布したとする。この場合、各端末10に配布されたセッション鍵はサーバ20により保存・管理されている。よって、第1端末10と第2端末10とを同じ住宅内に存在する住宅設備としてグループ化できる。鍵配布システムは、同じグループに属する端末10を互いに通信可能となるようにバインディングできる。バインディングされた端末10同士は、サーバ20を通して通信可能である。たとえば、上記の例では、スイッチである第1端末10の操作を照明器具である第2端末10の動作に反映させることができる。
 なお、新たな通信用秘密鍵K11が第三者により読み取られる確率を低減するために、第2の暗号(=[R10 XOR K11])をさらに暗号化することが好ましい。たとえば、サーバ20の暗号化部2312は、第2の暗号をさらに元の通信用秘密鍵K10を共通鍵として用いた共通鍵方式(たとえば、DES、3-DES、AES)で暗号化してもよい。この場合、端末10の通信用秘密鍵復号化モジュール134は、暗号化された第2の暗号を元の通信用秘密鍵K10で復号化した後に、第2の暗号と秘密値R10との排他的論理和を求めることにより新たな通信用秘密鍵K11を取得するように構成される。このようにすれば、前の利用者は、通信用秘密鍵K10を知っていたとしても、端末10での復号化のアルゴリズムに何を用いるかを容易に知ることはできない。また、前の利用者は、秘密値R10を知る必要もある。よって、新たな通信用秘密鍵K10が第三者に知られる可能性を大幅に低減できる。
 (実施形態2)
 図4に示すように、本実施形態の鍵配布システムは、端末10Aとサーバ20Aとが実施形態1と異なる。本実施形態の鍵配布システムと実施形態1の鍵配布システムとで共通する構成には同一の符号を付して説明を省略する。
 サーバ20Aは、鍵発行ユニット23Aの通信用秘密鍵暗号化モジュール231Aが実施形態1のサーバ20と異なる。
 通信用秘密鍵暗号化モジュール231Aは、秘密値取得部2311と、暗号化部2312Aと、暗号化鍵生成部2313と、を有する。
 暗号化鍵生成部2313は、第2鍵記憶ユニット21に記憶された通信用秘密鍵(新たな通信用秘密鍵ではなく端末10Aが所有している通信用秘密鍵)を共通鍵として用いることで、秘密値を含むメッセージ認証コード(メッセージコード)よりなる暗号化鍵を生成するように構成される。
 暗号化部2312Aは、暗号化鍵生成部2313より得た暗号化鍵を共通鍵として用いて新たな通信用秘密鍵を暗号化して第2の暗号を生成するように構成される。暗号化部2312Aは、たとえば、暗号化鍵生成部2313より得た暗号化鍵と新たな通信用秘密鍵との排他的論理和を第2の暗号(暗号化された新たな通信用秘密鍵)として用いる。
 このように本実施形態の鍵発行ユニット23Aは、端末10Aから新たな通信用秘密鍵の発行が要求されると、端末10Aから受信した秘密値を含むメッセージ認証コードを生成する。そして、鍵発行ユニット23Aは、メッセージ認証コードを用いて新たな通信用秘密鍵を暗号化して端末10Aに送信する。
 端末10Aは、鍵要求ユニット13Aの通信用秘密鍵復号化モジュール134Aで実施形態1の端末10と異なる。
 通信用秘密鍵復号化モジュール134は、復号化鍵生成部1341と、復号部1342と、を有する。
 復号化鍵生成部1341は、第1通信ユニット12が第2の暗号を受け取ると、第1鍵記憶ユニット11に記憶された通信用秘密鍵と秘密値記憶モジュール131に記憶された秘密値とを用いて復号化鍵を生成する。復号化鍵は、暗号化鍵生成部2313で生成された暗号化鍵と同じ値を持つメッセージ認証コードである。つまり、復号化鍵生成部1341は、第1鍵記憶ユニット11に記憶された通信用秘密鍵を共通鍵として用いることで、秘密値記憶モジュール131に記憶された秘密値を含むメッセージ認証コードを生成する。
 復号部1342は、復号化鍵生成部1341より得た復号化鍵を共通鍵として用いて第2の暗号を復号化し、これによって新たな通信用秘密鍵を取得するように構成される。復号化部1342は、たとえば、復号化鍵生成部1341より得た復号化鍵と第2の暗号との排他的論理和を演算することで、新たな通信用秘密鍵を取得する。
 次に図5を参照して本実施形態の鍵配布システムの動作について説明する。なお、プロセスP10、P20、P30,P40,P50,P70,P80については実施形態1で述べたから説明を省略する。
 発行要求処理が開始されると、端末10Aは、端末10Aの識別情報ID10と、第1の暗号PENK10(R10)とをサーバ20Aに送信する(プロセスP50)。
 第2通信ユニット22が要求メッセージを受け取ると、秘密値取得部2311は第2鍵記憶ユニット21に記憶された復号用秘密鍵K20を用いて第1の暗号PENK10(R10)を復号化して、秘密値R10を取得する。
 また、鍵生成モジュール230は、新たな通信用秘密鍵K11と、新たな通信用秘密鍵K11とペアとなる新たな復号用秘密鍵K21とを生成する。
 暗号化鍵生成部2313は、第2鍵記憶ユニット21に記憶された元の通信用秘密鍵K10を共通鍵として用いることで、秘密値R10を含むメッセージ認証コードよりなる暗号化鍵を生成する。具体的には、暗号化鍵生成部2313は、通信用秘密鍵K10と情報I30とを用いて、暗号化鍵(=MACK10(I30))を生成する。情報I30は、端末10Aから受信した秘密値R10と、ノンス(第3ノンス)N30と、サーバ20Aの識別情報ID20とである。すなわち、I30=(R10,N30,ID20)である。このように暗号化鍵生成部2313は、暗号化鍵を生成するために、第3ノンスN30を生成する。第3ノンスN30の値は、セッション鍵の発行時に生成された第2ノンスN20とは異なる。なお、第3ノンスN30の代わりに第2ノンスN20を用いても良い。しかしながら、第2ノンス20とは別の第3ノンスN30を用いたほうが通信の安全性が高い。
 暗号化部2312Aは、暗号化鍵生成部2313より得た暗号化鍵(=MACK10(R10,N30,ID20))を共通鍵として用いて新たな通信用秘密鍵K11を暗号化して第2の暗号を生成する。本実施形態では、暗号化部2312Aは、新たな通信用秘密鍵K11と暗号化鍵(=MACK10(R10,N30,ID20))との排他的論理和(=[MACK10(R10,N30,ID20) XOR K11])を第2の暗号として用いる。
 第2保管モジュール233は、鍵生成モジュール230で生成された新たな通信用秘密鍵K11と新たな復号用秘密鍵K21とを第2鍵記憶ユニット21に記憶させる。
 通信用秘密鍵送信モジュール232は、第2通信ユニット22を制御して、新たな通信用秘密鍵K11の発行を要求した端末10Aに、第2の暗号を第3ノンスN30とともに送信する(図5のプロセスP60A)。このように、サーバ20Aは、端末10Aに第2の暗号(=[MACK10(R10,N30,ID20) XOR K11])と、第3ノンスN30とを送信する。
 なお、暗号化鍵の情報I30には、端末10Aの識別情報ID10を含めるようにしてもよい。すなわち、暗号化鍵の値は、MACK10(ID10,R10,N30,ID20)であってもよい。
 通信用秘密鍵復号化モジュール134Aでは、第1通信ユニット12が第2の暗号と第3ノンスN30とを受け取ると、秘密値記憶モジュール131に記憶された秘密値R10、サーバ20Aの識別情報ID20と、サーバ20Aから受信した第3ノンスN30と元の通信用秘密鍵K10とを用いて暗号化鍵に相当する値(=MACK10(R10,N30,ID20))を算出し、復号化鍵を生成する。
 復号化部1342は、復号化鍵生成部1341より得た復号化鍵(=MACK10(R10,N30,ID20))と第2の暗号(=[MACK10(R10,N30,ID20) XOR K11])との排他的論理和を演算することで、新たな通信用秘密鍵K11を取得する。なお、情報I30が端末10Aの識別情報ID10を含む場合には、復号化鍵の生成にも識別情報ID10を用いる。
 第1保管モジュール135は、通信用秘密鍵復号化モジュール134Aによって得られた新たな通信用秘密鍵K11を第1鍵記憶ユニット11に記憶させる。
 上述のようにメッセージ認証コードを暗号化鍵として用いれば、新たな通信用秘密鍵K11が漏洩する可能性をさらに低減できる。また、メッセージ認証を行うことによって、サーバ20Aと端末10Aとは、第三者による通信用秘密鍵の改竄を検出できる。よって、通信用秘密鍵を用いた暗号化通信の安全性を保証できる。
 なお、端末10Aがサーバ20Aに接続されると、サーバ20Aが端末10Aにチャレンジコードを送信するようにしてもよい。この場合、端末10Aは、サーバ20Aからチャレンジコードを受け取らなければ、発行要求処理を開始できないように構成される。このようにすれば、サーバ20Aへのトラフィックを増大させてサービスの提供を不能にするDoS(Denial of Service attack)という攻撃を防止できる。
 なお、サーバ20Aは、新たな通信用秘密鍵とともにセッション鍵を端末10Aに送信するように構成されていてもよい。
 この場合、セッション鍵発行ユニット25は、端末10から新たな通信用秘密鍵の発行が要求されたときに、セッション鍵の発行の処理を行うように構成される。
 セッション鍵発行ユニット25は、端末10から要求メッセージを受け取ると、セッション鍵を生成する。また、セッション鍵発行ユニット25は、第2鍵記憶ユニット21に記憶された通信用秘密鍵を用いてセッション鍵を暗号化する。セッション鍵発行ユニット25は、セッション鍵を暗号化するために、通信用秘密鍵を用いて第2メッセージ認証コード(第2メッセージコード)を生成する。セッション鍵発行ユニット25は、第2メッセージ認証コードとセッション鍵との排他論理和を暗号化されたセッション鍵として用いる。第2メッセージ認証コードを生成するための情報は、端末10から受信した端末10の識別情報および秘密値と、第2ノンスと、サーバ20の識別情報とを含む。セッション鍵発行ユニット25は、暗号化されたセッション鍵を通信用秘密鍵送信ユニット232に与える。また、セッション鍵発行ユニット25は、第2ノンスを通信用秘密鍵暗号化モジュール231Aの暗号化鍵生成部2313に与える。
 次に図6を参照して本実施形態の変形例の鍵配布システムの動作について説明する。なお、プロセスP10、P20、P30,P40,P50については実施形態1で述べたから説明を省略する。
 発行要求処理が開始されると、端末10Aは、端末10Aの識別情報ID10と、第1の暗号PENK10(R10)とをサーバ20Aに送信する(プロセスP50)。
 第2通信ユニット22が要求メッセージを受け取ると、セッション鍵発行ユニット25はセッション鍵K30とは別の新たなセッション鍵K31を生成する。セッション鍵発行ユニット25は、第2鍵記憶ユニット21に記憶された通信用秘密鍵K11と情報I22とを用いて、第2メッセージ認証コードMACK11(I22)を生成する。情報I22は、端末10から受信した端末10Aの識別情報ID10および秘密値R10と、第2ノンスN21と、サーバ20の識別情報ID20とである。すなわち、I22=(ID10,R10,N21,ID20)である。
 セッション鍵発行ユニット25は、暗号化されたセッション鍵(=[MACK11(ID10,R10,N21,ID20) XOR K31])を通信用秘密鍵送信ユニット232に与える。また、セッション鍵発行ユニット25は、第2ノンスN21を暗号化鍵生成部2313に与える。
 鍵発行ユニット23Aでは、秘密値取得部2311が第1の暗号PENK10(R10)を復号化して、秘密値R10を取得する。
 暗号化鍵生成部2313は、通信用秘密鍵K10と情報I31とを用いて、暗号化鍵(=MACK10(I31))を生成する。情報I31は、端末10Aから受信した秘密値R10と、セッション鍵発行ユニット25より得た第2ノンスN21と、サーバ20Aの識別情報ID20とである。すなわち、I31=(R10,N21,ID20)である。
 暗号化部2312Aは、新たな通信用秘密鍵K11と暗号化鍵(=MACK10(R10,N21,ID20))との排他的論理和(=[MACK10(R10,N21,ID20) XOR K11])を第2の暗号として用いる。
 通信用秘密鍵送信モジュール232は、第2通信ユニット22を制御して、新たな通信用秘密鍵K11の発行を要求した端末10Aに、第2の暗号とともに暗号化されたセッション鍵と第2ノンスN21とを送信する(図6のプロセスP61)。このように、変形例では、サーバ20Aは、第2の暗号(=[MACK10(R10,N21,ID20) XOR K11])と、暗号化されたセッション鍵(=[MACK11(ID10,R10,N21,ID20) XOR K31])と、第2ノンスN21とを端末10Aに送信する。
 端末10Aは、サーバ20Aから第2の暗号(=[MACK10(R10,N21,ID20) XOR K11])と、暗号化されたセッション鍵(=[MACK11(ID10,R10,N21,ID20) XOR K31])と、第2ノンスN21とを受け取ると、上述した処理を行うことで、新たな通信用秘密鍵K11と新たなセッション鍵K31とを取得する。
 上述の変形例では、新たな通信用秘密鍵K11と新たなセッション鍵K31とを同時に端末10Aに配布できる。そのため、図5に示す例に比べればサーバ20Aと端末10Aとの間のトラフィックを低減できる。よって、サーバ20Aと端末10Aとの間の通信に要する電力を低減でき、省エネルギ化を達成できる。
 なお、この変形例では、セッション鍵発行ユニット25が生成した第2ノンスを鍵発行ユニット23Aで使用しているが、鍵発行ユニット23Aが生成した第3ノンスをセッション鍵発行ユニット25で使用してもよい。
 なお、本実施形態では、メッセージ認証の手続には、クリプトナイトを採用している。しかしながら、メッセージ認証の手続には、ケルベロスを採用してもよい。ケルベロスではノンスに代えて時間が用いられる。したがって、ケルベロスでは、ノンス性ないし乱数性の管理が時間管理に置き換えられる。
 (実施形態3)
 図7に示すように、本実施形態の鍵配布システムは、端末10Bとサーバ20Bとが実施形態2と異なる。本実施形態の鍵配布システムと実施形態2の鍵配布システムとで共通する構成には同一の符号を付して説明を省略する。
 端末10Bは、鍵要求ユニット13Bで実施形態2の端末10Aと異なる。
 鍵要求ユニット13Bは、秘密値生成モジュール130と、秘密値記憶モジュール131と、秘密値暗号化モジュール132Bと、秘密値送信モジュール133と、通信用秘密鍵復号化モジュール134Aと、第1保管モジュール135と、乱数生成モジュール136と、乱数送信モジュール137と、を有する。
 乱数生成モジュール136は、秘密値として用いられる第1乱数とは別の第2乱数を生成するように構成される。乱数生成モジュール136は、第2乱数を秘密値暗号化モジュール132Bと乱数送信モジュール137とに与える。第2乱数は、秘密値よりも桁数が多い数値であることが好ましい。第2乱数の桁数を多くすればするほど、秘密値が漏洩する可能性を低くできる。
 乱数送信モジュール137は、乱数生成モジュール136より受け取った第2乱数がサーバ20Bに送信されるように第1通信ユニット12を制御するように構成される。ここで、第2乱数は発行要求処理の実行前にサーバ20Bに送信されることが好ましい。たとえば、乱数送信モジュール137は、端末10Bが通信ネットワーク30に接続された際に、サーバ20Bに第2乱数を送信するように構成される。
 秘密値暗号化モジュール132Bは、通信数値生成部1321と、通信数値暗号化部1322と、を有する。
 通信数値生成部1321は、秘密値記憶モジュール131に記憶された秘密値より桁数が通信数値を生成するように構成される。通信数値生成部1321は、乱数生成モジュール136より得た第2乱数と秘密値記憶モジュール131に記憶された秘密値との単純演算により通信数値を生成する。本実施形態では、通信数値生成部1321は、演算に用いる秘密値に桁数を大きくするための第2乱数を結合することで通信数値を生成する。ここで、秘密値をR10、第2乱数をR20としたとき、通信数値は「R10∥R20」で表される。x∥yは、左側の数値xに右側の数値yを単純に連結することを意味する。このような単純演算をコンカチネーションと呼ぶ。たとえば、「123∥123」は、「123123」になる。よって、通信数値では、上位の数値が秘密値であり、下位の数値が第2乱数である。このように通信数値生成部1321は、秘密値と第2乱数とを単純に連結するコンカチネーションにより通信数値を生成する。たとえば、秘密値が三桁の数値「123」であり、第2乱数が三桁の数値「456」である場合、通信数値は「123∥456」で表され、その値は「123456」である。なお、通信数値生成部1321は、秘密値と第2乱数との和を通信数値として用いても良いし、秘密値と第2乱数との積を通信数値として用いても良い。要は、通信数値の乱雑性が秘密値の乱雑性よりも高くなればよい。
 通信数値暗号化部1322は、通信数値生成部1321で生成された通信数値を暗号化して第1の暗号を生成するように構成される。通信数値暗号化部1322は、第1鍵記憶ユニット11に記憶された通信用秘密鍵を公開鍵として用いて通信数値を暗号化する。たとえば、通信数値暗号化部1322は、新たな通信用秘密鍵を要求する処理の開始時に第1鍵記憶ユニット11に記憶されている通信用秘密鍵を用いて公開鍵方式(たとえば、RSA)で通信数値を暗号化して第1の暗号を生成する。
 このように本実施形態の鍵要求ユニット23Bは、秘密値として使用する第1乱数と、第2乱数とを生成する。鍵要求ユニット23Bは、サーバ20Bに新たな通信用秘密鍵の発行を要求する前に第2乱数をサーバ20Bに送信する。鍵要求ユニット23Bは、第1乱数と第2乱数との単純演算により通信数値を生成する。鍵要求ユニット23Bは、第1鍵記憶ユニット11に記憶された公開鍵(本実施形態では通信用秘密鍵)を用いて通信数値を暗号化してサーバ20Bに送信する。
 サーバ20Bは、鍵発行ユニット23Bで実施形態2のサーバ20Aと異なる。
 鍵発行ユニット23Bは、鍵生成モジュール230と、通信用秘密鍵暗号化モジュール231Bと、通信用秘密鍵送信モジュール232と、第2保管モジュール233と、乱数記憶モジュール234と、を有する。
 乱数記憶モジュール234は、たとえば、第2通信ユニット22が端末10Bから受け取った第2乱数を記憶するように構成される。
 通信用秘密鍵暗号化モジュール231Bは、秘密値取得部2311Bと、暗号化部2312Aと、暗号化鍵生成部2313と、を有する。
 秘密値取得部2311Bは、第2通信ユニット22が要求メッセージを受け取ると、第2通信ユニット22が受け取った第1の暗号を復号化して通信数値を得るように構成される。秘密値取得部2311Bは、通信用秘密鍵とペアとなる復号用秘密鍵を用いて第1の暗号を復号化する。また、秘密値取得部2311Bは、取得した通信数値と乱数記憶モジュール234に記憶された第2乱数との単純演算により秘密値を取得するように構成される。
 次に図8を参照して本実施形態の鍵配布システムの動作について説明する。なお、プロセスP10、P20、P30,P40,P70,P80については実施形態1で述べたから説明を省略する。また、プロセスP50BとプロセスP50とで重複する説明を省略し、プロセスP60BとプロセスP60Aとで重複する説明も省略する。
 発行要求処理が開始されると、通信数値生成部1321は、乱数生成モジュール136より得た第2乱数R20と秘密値記憶モジュール131に記憶された秘密値R10との単純演算により通信数値R10∥R20を生成する。
 通信数値暗号化部1322は、第1鍵記憶ユニット11に記憶された通信用秘密鍵K10を公開鍵として用いて通信数値R10∥R20を暗号化して第1の暗号PENK10(R10∥R20)を生成する。
 秘密値送信モジュール133は、第1通信ユニット12を制御して、第1の暗号PENK10(R10∥R20)を、端末10Bの識別情報ID10および要求メッセージとともにサーバ20Bに送信する(図8のプロセスP50B)。
 このように、端末10Bは、通信用秘密鍵の発行をサーバ20Bに要求する際に、端末10Bの識別情報ID10と第1の暗号PENK10(R10∥R20)とを送信する。
 第2通信ユニット22が要求メッセージを受け取ると、秘密値取得部2311Bは、第2鍵記憶ユニット21に記憶された復号用秘密鍵K20を用いて第1の暗号PENK10(R10∥R20)を復号化して、通信数値R10∥R20を取得する。さらに、秘密値取得部2311Bは、乱数記憶モジュール137に記憶された第2乱数R20と通信数値R10∥R20との単純演算によって、秘密値R10を取得する。つまり、秘密値取得部2311Bは、通信数値R10∥R20から第2乱数R20を取り除く。
 暗号化部2312Aは、暗号化鍵生成部2313より得た暗号化鍵(=MACK10(R10,N30,ID20))を共通鍵として用いて新たな通信用秘密鍵K11を暗号化して第2の暗号(=[MACK10(R10,N30,ID20) XOR K11])を生成する。
 通信用秘密鍵送信モジュール232は、第2通信ユニット22を制御して、新たな通信用秘密鍵K11の発行を要求した端末10Bに第2の暗号と第3ノンスN30とを送信する(図8のプロセスP60B)。
 このように、サーバ20Bは、端末10Bに第2の暗号(=[MACK10(R10,N30,ID20) XOR K11])を送信する。
 上述のように、端末10Bは、発行要求処理において、秘密値R10より桁数が多い通信数値R10∥R20を生成して、サーバ20Bに送信する。ここで、通信数値R10∥R20は第三者に知られる可能性がある。しかしながら、通信数値R10∥R20は桁数が多く、しかも第三者は秘密値R10と第2乱数R20とからどのように通信数値R10∥R20が生成されているかを知ることはできない。よって、通信数値R10∥R20から総当たり法などで秘密値R10を得ることは、秘密値R10が価値を持つ時間内ではほぼ不可能である。
 本実施形態の鍵配布システムでは、秘密値を用いて生成された通信数値を端末10Bがサーバ20Bに送信する。通信数値は秘密値より桁数が多いから、秘密値そのものを送信する場合に比べて秘密値が第三者に知られる可能性が大幅に低減される。
 ここで、単純に秘密値の桁数を多くすることによっても、秘密値が第三者に知られる可能性を大幅に低減できる。しかしながら、この場合には、サーバ20Bや端末10Bでの処理負荷が増大してしまう。
 これに対して、本実施形態の鍵配布システムでは、秘密値より桁数が多い通信数値は、端末10Bからサーバ20Bに秘密値を送信するときだけ使用される。そのため、秘密値より桁数が大きい通信数値を用いて通信用秘密鍵の暗号化や復号化を行わなくて済む。つまり、本実施形態の鍵配布システムは、サーバ20Bに秘密値を送信するときだけ擬似的に秘密値の桁数を多くするから、処理負荷が増大することがない。
 このように本実施形態の鍵配布システムは、秘密値が第三者に知られる可能性を低減でき、しかもサーバ20Bおよび端末10Bの処理負荷の増加を抑制できる。
 (実施形態4)
 図9に示すように、本実施形態の鍵配布システムは、端末10Cとサーバ20Cとが実施形態2と異なる。本実施形態の鍵配布システムと実施形態2の鍵配布システムとで共通する構成には同一の符号を付して説明を省略する。
 端末10Cは、第1鍵記憶ユニット11と、第1通信ユニット12と、鍵要求ユニット13Cと、第1識別情報記憶ユニット14と、セッション鍵要求ユニット15と、セッション鍵受取ユニット16と、第1原始元記憶ユニット17と、を有する。端末10Cと端末10Aとで共通する構成の説明は省略する。
 第1原始元記憶ユニット17は、大きい値の素数pと適宜値の原始元gとを記憶するように構成される。通信の安全性を考慮すれば、素数pと原始元gとを非公開とすることが好ましい。素数pと原始元gとを非公開とする場合には、素数pと原始元gとは管理装置40によって端末10Cに与えられる。
 鍵要求ユニット13Cは、秘密値生成モジュール(第1秘密値生成モジュール)130Cと、秘密値記憶モジュール(第1秘密値記憶モジュール)131Cと、第1公開鍵生成モジュール138と、第1公開鍵送信モジュール139と、を有する。
 秘密値生成モジュール130Cは、新たな通信用秘密鍵の発行を要求する際に数値よりなる秘密値(第1秘密値)を生成するように構成される。第1秘密値は乱数である。
 秘密値記憶モジュール131Cは、秘密値生成モジュール130Cで生成された第1秘密値を記憶するように構成される。
 第1公開鍵生成モジュール138は、第1原始元記憶モジュール17に記憶された原始元に秘密値記憶モジュール131Cに記憶された第1秘密値を適用することによって、ディフィー・ヘルマン鍵共有方式の第1公開鍵K41を第1の暗号として生成するように構成される。第1秘密値をxとすると、第1公開鍵K41は、gxのpを法とした剰余Rx(=gx mod p)で表される。
 第1公開鍵送信モジュール139は、新たな通信用秘密鍵の発行を要求する要求メッセージ(要求コマンド)とともに第1公開鍵生成モジュール138で生成された第1公開鍵K41がサーバ20に送信されるように第1通信ユニット12を制御するように構成される。第1公開鍵送信モジュール139は、第1公開鍵K41とともに端末10Cの識別情報も第1通信ユニット12に送信させる。
 このように、鍵要求ユニット13Cは、サーバ20Cに新たな通信用秘密鍵の発行を要求するときに、数値よりなる第1秘密値を新たに生成する。また、鍵要求ユニット13Cは、第1原始元記憶ユニット17に記憶された原始元に第1秘密値を適用することによりディフィー・ヘルマン鍵共有方式の第1公開鍵K41を生成する。鍵要求ユニット13Cは、第1公開鍵K41をサーバ20Cに送信する。
 サーバ20Cは、第2鍵記憶ユニット21と、第2通信ユニット22と、鍵発行ユニット23Cと、第2識別情報記憶ユニット24と、セッション鍵発行ユニット25と、第2原始元記憶ユニット26と、を有する。サーバ20Cとサーバ20Aとで共通する構成の説明は省略する。
 第2原始元記憶ユニット26は、第1原始元記憶ユニット17と同様に、大きい値の素数pと適宜値の原始元gとを記憶するように構成される。素数pと原始元gとを非公開とする場合には、素数pと原始元gとは管理装置40によってサーバ20Cに与えられる。
 鍵発行ユニット23Cは、鍵生成モジュール230Cと、通信用秘密鍵暗号化モジュール231Cと、通信用秘密鍵送信モジュール232Cと、第2保管モジュール233Cと、第2秘密値生成モジュール235と、第2公開鍵生成モジュール236と、を有する。
 鍵生成モジュール230Cは、第2通信ユニット22が端末10Cから要求メッセージを受け取ると、新たな通信用秘密鍵を生成するように構成される。
 第2秘密値生成モジュール235は、第2通信ユニット22が要求メッセージを受け取ると、数値よりなる第2秘密値を生成するように構成される。第2秘密値は乱数である。つまり、第2秘密値生成モジュール235は、要求メッセージの受信毎にランダムな数値を持つ第2秘密値を生成する。つまり、通信用秘密鍵を発行する毎に第2秘密値は異なる数値を持つ。第2秘密値は新たな通信用秘密鍵を端末10Cに送信するまで用いられる。
 通信用秘密鍵暗号化モジュール231Cは、第2共通鍵生成モジュール2314と、暗号化部2312Cと、を有する。
 第2共通鍵生成モジュール2314は、第2通信ユニット22が要求メッセージを受け取ると、第2通信ユニット22が受け取った第1公開鍵K41と第2秘密値生成モジュール235で生成された第2秘密値とを用いて、ディフィー・ヘルマン鍵共有方式の共通鍵K40を生成するように構成される。第2秘密値をyとすると、共通鍵K40は、(Rxyのpを法とした剰余Rxy(=gxy mod p)で表される。このような共通鍵K40(=Rxy)は素数pを法としてgxyと合同である。すなわち、Rxy=gxy mod pである。
 暗号化部2312Cは、第2共通鍵生成モジュール2314より得られた共通鍵K40を用いて新たな通信用秘密鍵を暗号化して、第2の暗号を生成するように構成される。本実施形態では、暗号化部2312Cは、共通鍵K40を用いて、メッセージ認証コードよりなる暗号化鍵を生成する。暗号化部2312Cは、この暗号化鍵を共通鍵として用いて新たな通信用秘密鍵を暗号化して第2の暗号を生成する。暗号化部2312Cは、たとえば、暗号化鍵と新たな通信用秘密鍵との排他的論理和を第2の暗号(暗号化された新たな通信用秘密鍵)として用いる。
 第2公開鍵生成モジュール236は、第2原始元記憶モジュール26に記憶された原始元に第2秘密値生成モジュール235で生成された第2秘密値を適用することによって、ディフィー・ヘルマン鍵共有方式の第2公開鍵K42を生成するように構成される。第2秘密値をyとすると、第2公開鍵K42は、gyのpを法とした剰余Ry(=gy mod p)で表される。
 通信用秘密鍵送信モジュール232Cは、第2通信ユニット22を制御して、通信用秘密鍵暗号化モジュール231Cで生成された第2の暗号と、第2公開鍵生成モジュール236で生成された第2公開鍵K42とを端末10Cに送信するように構成される。
 第2保管モジュール233Cは、鍵生成モジュール230Cで生成された新たな通信用秘密鍵を第2鍵記憶ユニット21に記憶させるように構成される。なお、第2保管モジュール233は、第2鍵記憶ユニット21に記憶された通信用秘密鍵を、鍵生成モジュール230Cで生成された新たな通信用秘密鍵に更新するように構成されていてもよい。
 このように、鍵発行ユニット23Cは、端末10Cから新たな通信用秘密鍵の発行が要求されると、数値よりなる第2秘密値を生成する。鍵発行ユニット23Cは、端末10Cから受信した第1公開鍵と第2秘密値とを用いてディフィー・ヘルマン鍵共有方式の共通鍵K40を生成する。鍵発行ユニット23Cは、第2原始元記憶ユニット26に記憶された原始元に第2秘密値を適用することによりディフィー・ヘルマン鍵共有方式の第2公開鍵K42を生成する。鍵発行ユニット23Cは、共通鍵K40を用いて新たな通信用秘密鍵を暗号化して第2公開鍵K42とともに端末10Cに送信する。
 また、鍵発行ユニット23Cは、端末10Cから新たな通信用秘密鍵の発行が要求されると、新たな通信用秘密鍵を発行して第2鍵記憶ユニット21に記憶させる。そのため、第2通信ユニット22は、通信用秘密鍵を共通鍵として用いた暗号化通信を端末10Cと行う場合には、新たな通信用秘密鍵を使用する。
 鍵要求ユニット13Cは、さらに、通信用秘密鍵復号化モジュール134Cと、第1保管モジュール135と、を有する。
 通信用秘密鍵復号化モジュール134Cは、第1共通鍵生成モジュール1343と、復号化部1342Cと、を有する。
 第1共通鍵生成モジュール1343は、第1通信ユニット12が第2の暗号と第2公開鍵K42とを受け取ると、秘密値記憶モジュール131Cに記憶された第1秘密値xと第2公開鍵K42とを用いてディフィー・ヘルマン鍵共有方式の共通鍵K40を生成するように構成される。上述したように、共通鍵K40は剰余Rxy(=gxy mod p)で表され、第2公開鍵K42は剰余Ry(=gy mod p)で表される。よって、第1秘密値xと第2公開鍵K42とから共通鍵K40を生成できる。
 復号化部1342Cは、第1共通鍵生成モジュール1343で生成された共通鍵K40を用いて第1通信ユニット12が受け取った第2の暗号を復号化し、これによって新たな通信用秘密鍵を得るように構成される。本実施形態では、復号化部1342Cは、共通鍵K40を用いて、暗号化部2312Cで生成された暗号化鍵と等しいメッセージ認証コードよりなる復号化鍵を生成する。復号化部1342Cは、この復号化鍵を共通鍵として用いて新たな通信用秘密鍵を復号化して第2の暗号を取得する。復号化部1342Cは、たとえば、復号化鍵と第2の暗号との排他論理和を求めることにより新たな通信用秘密鍵を取得する。
 このように鍵要求ユニット13Cは、サーバ20Cから暗号化された新たな通信用秘密鍵(第2の暗号)と第2公開鍵K42とを受信すると、第1秘密値とサーバ20Cから受信した第2公開鍵とを用いて共通鍵K40を生成する。鍵要求ユニット13Cは、共通鍵K40を用いて第2の暗号を復号化して新たな通信用秘密鍵を取得して、第1鍵記憶ユニット11に記憶させる。そのため、第1通信ユニット12は、通信用秘密鍵を共通鍵として用いた暗号化通信をサーバ20Cと行う場合には、新たな通信用秘密鍵を使用する。
 次に、図10を参照して本実施形態の鍵配布システムの動作について説明する。なお、プロセスP30,P40,P70,P80については実施形態1で述べたから説明を省略する。
 なお、端末10Cの出荷時には、端末10Cに通信用秘密鍵を登録する作業と、管理装置20に通信用秘密鍵Cを登録する作業とが行われる。通信用秘密鍵の登録には、管理装置40が用いられる。管理装置40は、通信用秘密鍵の登録の際には、インターネットのような通信路を用いてサーバ20Cおよび端末10Cに接続される。
 図10に示すように、管理装置40は、通信用秘密鍵K10をサーバ20Cに送信する(図10のプロセスP10C)。サーバ20Cは、管理装置40から受け取った通信用秘密鍵K10を第2鍵記憶ユニット21に登録する。
 管理装置40は、端末10Cを識別するための識別情報(端末識別情報)ID10をサーバ20Cに送信する。サーバ20Cは、管理装置40から受け取った識別情報ID10を第2識別情報記憶ユニット24に登録する。
 管理装置40は、端末10Cの識別情報ID10と、サーバ20Cに登録された通信用秘密鍵K10とを端末10Cに送信する(図10のプロセスP20C)。端末10Cは、管理装置40から受け取った識別情報ID10を第1識別情報記憶ユニット14に登録する。また、端末10Cは、管理装置40から受け取った通信用秘密鍵K10を第1鍵記憶ユニット11に登録する。
 すなわち、サーバ20Cの第2鍵記憶ユニット21と端末10Cの第1鍵ユニット11とには、それぞれ事前秘密鍵として通信用秘密鍵K10が登録される。本実施形態では、実施形態2とは異なり、サーバ20の第2鍵記憶ユニット21には、通信用秘密鍵K10とペアになる事前秘密鍵として復号用秘密鍵K20が登録されない。
 発行要求処理が開始されると、秘密値生成モジュール130Cは、第1秘密値xを生成する。第1秘密値xは秘密値記憶モジュール131Cに記憶される。第1公開鍵生成モジュール138は、秘密値記憶モジュール131Cに記憶された第1秘密値xと第1原始元記憶ユニット17に記憶された原始元gおよび素数pとを利用して、第1公開鍵K41を生成する。第1公開鍵送信モジュール139は、第1通信ユニット12を制御して、第1公開鍵K41を、端末10Cの識別情報ID10および要求メッセージとともにサーバ20Cに送信する(図10のプロセスP50C)。このように、端末10Cは、通信用秘密鍵の発行をサーバ20Cに要求する際に、端末10Cの識別情報ID10と第1の公開鍵K41(=Rx)とを送信する。
 第2通信ユニット22が要求メッセージを受信すると、第2秘密値生成モジュール235は、第2秘密値yを生成する。
 第2公開鍵生成モジュール236は、第2原始元記憶モジュール26に記憶された原始元gに第2秘密値生成モジュール235で生成された第2秘密値yを適用することによって、第2公開鍵K42(=Ry)を生成する。
 第2共通鍵生成モジュール2314は、第2通信ユニット22が受け取った第1公開鍵K41と第2秘密値生成モジュール235で生成された第2秘密値yとを用いて、共通鍵K40を生成する。
 暗号化部2312Cは、共通鍵K40と情報I40とを用いて、暗号化鍵(=MACK40(I40))を生成する。情報I40は、共通鍵K40と、第2公開鍵K42(=Ry)と、サーバ20Cの識別情報ID20とである。すなわち、I40=(K40,Ry,ID20)である。剰余Ryは乱数である第2秘密値yにより生成されているから、実質的にノンスとして使用できる。
 暗号化部2312Cは、暗号化鍵(=MACK40(K40,Ry,ID20))と新たな通信用秘密鍵K11との排他的論理和(=[MACK40(K40,Ry,ID20) XOR K11])を第2の暗号(暗号化された新たな通信用秘密鍵)として用いる。共通鍵K40は第1秘密値xを用いて生成されるため、通信用秘密鍵暗号化モジュール231Cは第1秘密値xを用いて新たな通信用秘密鍵K11を暗号化しているといえる。
 通信用秘密鍵送信モジュール232Cは、第2通信ユニット22を制御して、第2の暗号(=[MACK40(K40,Ry,ID20) XOR K11])と、第2公開鍵K42(=Ry)とを端末10Cに送信する(図10のプロセスP60C)。
 第2保管モジュール233Cは、鍵生成モジュール230Cで生成された新たな通信用秘密鍵K11を第2鍵記憶ユニット21に記憶させる。
 このように、サーバ20Cは端末10Cに第2の暗号と第2公開鍵K42とを送信する。
 第1通信ユニット12が第2の暗号と第2公開鍵K42とを受け取ると、第1共通鍵生成モジュール1343は、秘密値記憶モジュール131Cに記憶された第1秘密値xと第2公開鍵K42とを用いてディフィー・ヘルマン鍵共有方式の共通鍵K40を生成する。
 このように、第1共通鍵生成モジュール1343は第1秘密値xと剰余Ryとを用いて、(Ryxの値を求める。ここで、Ryx=(Ryx mod pとすると、Ryxは素数pを法としてgxyと合同である。よって、Rxy=Ryxである。そのため、第1共通鍵生成モジュール1343は、共通鍵K40を生成できる。
 復号化部1342Cは、第1共通鍵生成モジュール1343で生成された共通鍵K40と、サーバ20Cの識別情報ID20と、サーバ20Cから受信した第2公開鍵K42とを用いて復号化鍵(=MACK40(K40,Ry,ID20))を生成する。復号化部1342Cは、生成された復号化鍵(=MACK40(K40,Ry,ID20))と第2の暗号(=[MACK40(K40,Ry,ID20) XOR K11])との排他的論理和を演算することで、新たな通信用秘密鍵K11を取得する。
 第1保管モジュール135は、通信用秘密鍵復号化モジュール134Cによって得られた新たな通信用秘密鍵K11を第1鍵記憶ユニット11に記憶させる。
 そして、第1通信ユニット12は、第1鍵記憶ユニット11に新たな通信用秘密鍵K11が記憶された後は、新たな通信用秘密鍵K11を共通鍵として用いた暗号化通信をサーバ20Cと行う。第2通信ユニット22は、第2鍵記憶ユニット21に新たな通信用秘密鍵K11が記憶された後は、新たな通信用秘密鍵K11を共通鍵として用いた暗号化通信を端末10Cと行う。
 そのため、新たな通信用秘密鍵K11が発行された後は、他者が前の通信用秘密鍵K10を知っていても、端末10Cとサーバ20Cとの間の通信を盗聴できなくなる。
 以上述べた本実施形態の鍵配布システムは、ディフィー・ヘルマン鍵共有方式の共通鍵K40を利用して、新たな通信用秘密鍵K11を暗号化して端末10Cに送信する。そのため、元の通信用秘密鍵K10を知っている第三者であっても暗号化された新たな通信用秘密鍵K11を復号化できない。よって、新たな通信用秘密鍵K11を端末10Cに安全に届けることができる。

Claims (5)

  1.  端末と、通信ネットワークを介して上記端末に接続されるサーバとを備え、
     上記端末は、
      通信用秘密鍵と公開鍵とを記憶する書換可能な第1鍵記憶ユニットと、
      上記第1鍵記憶ユニットに記憶された上記通信用秘密鍵を共通鍵として用いた暗号化通信を上記サーバと行うための第1通信ユニットと、
      上記サーバに新たな通信用秘密鍵の発行を要求するときに、数値よりなる秘密値を新たに生成するとともに、上記第1記憶ユニットに記憶された上記公開鍵を用いて上記秘密値を暗号化して第1の暗号を生成し、上記第1の暗号を上記サーバに送信する鍵要求ユニットと、を有し、
     上記サーバは、
      上記通信用秘密鍵に加えて、上記公開鍵とペアになる私有鍵である復号用秘密鍵を記憶する書換可能な第2鍵記憶ユニットと、
      上記第2鍵記憶ユニットに記憶された上記通信用秘密鍵を共通鍵として用いた暗号化通信を上記端末と行うための第2通信ユニットと、
      上記端末から新たな通信用秘密鍵の発行が要求されると、新たな通信用秘密鍵を発行して上記第2鍵記憶ユニットに記憶させ、上記復号用秘密鍵を用いて上記第1の暗号を復号化することによって上記秘密値を取得し、当該秘密値を利用して上記新たな通信用秘密鍵を暗号化して第2の暗号を生成し、新たな通信用秘密鍵の発行を要求した上記端末に上記第2の暗号を送信する鍵発行ユニットと、を有し、
     上記鍵要求ユニットは、上記秘密値を利用して上記第2の暗号を復号化することによって上記新たな通信用秘密鍵を取得して、上記第1鍵記憶ユニットに記憶させるように構成され、
      上記第1通信ユニットは、上記第1鍵記憶ユニットに上記新たな通信用秘密鍵が記憶された後は、上記新たな通信用秘密鍵を共通鍵として用いた暗号化通信を上記サーバと行うように構成され、
      上記第2通信ユニットは、上記第2鍵記憶ユニットに上記新たな通信用秘密鍵が記憶された後は、上記新たな通信用秘密鍵を共通鍵として用いた暗号化通信を上記端末と行うように構成されることを特徴とする鍵配布システム。
  2.  上記鍵要求ユニットは、上記サーバに新たな通信用秘密鍵の発行を要求するときに、上記第1鍵記憶ユニットに記憶された上記通信用秘密鍵を上記公開鍵として用いて上記新たに生成された秘密値を暗号化するように構成され、
     上記鍵発行ユニットは、上記端末から新たな通信用秘密鍵の発行が要求されると、上記新たな通信用秘密鍵を発行するとともに、上記新たな通信用秘密鍵とペアになる私有鍵である新たな復号用秘密鍵を発行して上記第2鍵記憶ユニットに記憶させ、上記第2記憶ユニットに上記新たな復号用秘密鍵が記憶された後は、上記新たな復号用秘密鍵を用いて上記第1の暗号を復号化するように構成されることを特徴とする請求項1記載の鍵配布システム。
  3.  上記鍵要求ユニットは、上記秘密値として使用する第1乱数と、第2乱数とを生成し、上記サーバに新たな通信用秘密鍵の発行を要求する前に上記第2乱数を上記サーバに送信し、上記第1乱数と上記第2乱数との単純演算により通信数値を生成し、上記公開鍵を用いて上記通信数値を暗号化して上記サーバに送信するように構成されることを特徴とする請求項1記載の鍵配布システム。
  4.  上記鍵発行ユニットは、上記端末から新たな通信用秘密鍵の発行が要求されると、上記端末から受信した上記秘密値を含むメッセージコードを生成し、上記メッセージコードを用いて上記新たな通信用秘密鍵を暗号化して上記端末に送信するように構成されることを特徴とする請求項1記載の鍵配布システム。
  5.  端末と、通信ネットワークを介して上記端末に接続されるサーバとを備え、
     上記端末は、
      通信用秘密鍵を記憶する書換可能な第1鍵記憶ユニットと、
      所定の原始元を記憶する第1原始元記憶ユニットと、
      上記第1記憶ユニットに記憶された上記通信用秘密鍵を共通鍵として用いた暗号化通信を上記サーバと行うための第1通信ユニットと、
      上記サーバに新たな通信用秘密鍵の発行を要求するときに、数値よりなる第1秘密値を新たに生成するとともに、上記第1原始元記憶ユニットに記憶された上記原始元に上記第1秘密値を適用することによりディフィー・ヘルマン鍵共有方式の第1公開鍵を生成して上記サーバに送信する鍵要求ユニットと、を有し、
     上記サーバは、
      上記通信用秘密鍵を記憶する第2鍵記憶ユニットと、
      上記所定の原始元を記憶する第2原始元記憶ユニットと、
      上記第2記憶ユニットに記憶された上記通信用秘密鍵を共通鍵として用いた暗号化通信を上記端末と行うための第2通信ユニットと、
      上記端末から新たな通信用秘密鍵の発行が要求されると、数値よりなる第2秘密値を生成し、上記端末から受信した第1公開鍵と上記第2秘密値とを用いて上記ディフィー・ヘルマン鍵共有方式の共通鍵を生成し、上記第2原始元記憶ユニットに記憶された上記原始元に上記第2秘密値を適用することにより上記ディフィー・ヘルマン鍵共有方式の第2公開鍵を生成し、上記共通鍵を用いて上記新たな通信用秘密鍵を暗号化して上記第2公開鍵とともに新たな通信用秘密鍵の発行を要求した上記端末に送信する鍵発行ユニットと、を有し、
     上記鍵要求ユニットは、上記サーバから暗号化された上記新たな通信用秘密鍵と上記第2公開鍵とを受信すると、上記新たに生成された秘密値と上記サーバから受信した上記第2公開鍵とを用いて上記共通鍵を生成し、暗号化された上記新たな通信用秘密鍵を生成された上記共通鍵を用いて復号化して上記新たな通信用秘密鍵を取得して、上記第1鍵記憶ユニットに記憶させるように構成され、
      上記第1通信ユニットは、上記第1記憶ユニットに上記新たな通信用秘密鍵が記憶された後は、上記新たな通信用秘密鍵を共通鍵として用いた暗号化通信を上記サーバと行うように構成され、
      上記第2通信ユニットは、上記第2記憶ユニットに上記新たな通信用秘密鍵が記憶された後は、上記新たな通信用秘密鍵を共通鍵として用いた暗号化通信を上記端末と行うように構成されることを特徴とする鍵配布システム。
PCT/JP2009/070284 2008-12-05 2009-12-03 鍵配布システム WO2010064666A1 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
US12/998,805 US8600063B2 (en) 2008-12-05 2009-12-03 Key distribution system
CN200980148302.0A CN102232275B (zh) 2008-12-05 2009-12-03 密钥发布系统
EP09830432.2A EP2355401A4 (en) 2008-12-05 2009-12-03 KEY DISTRIBUTION SYSTEM

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2008-311360 2008-12-05
JP2008311360A JP5390844B2 (ja) 2008-12-05 2008-12-05 鍵配布システム、鍵配布方法

Publications (1)

Publication Number Publication Date
WO2010064666A1 true WO2010064666A1 (ja) 2010-06-10

Family

ID=42233313

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2009/070284 WO2010064666A1 (ja) 2008-12-05 2009-12-03 鍵配布システム

Country Status (5)

Country Link
US (1) US8600063B2 (ja)
EP (1) EP2355401A4 (ja)
JP (1) JP5390844B2 (ja)
CN (1) CN102232275B (ja)
WO (1) WO2010064666A1 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103636161A (zh) * 2011-02-12 2014-03-12 瑟蒂弗克司有限公司 基于非交互式身份的密钥协商派生的、具有认证加密的秘密密钥的使用
CN110299994A (zh) * 2019-06-28 2019-10-01 苏州浪潮智能科技有限公司 一种数据处理方法、系统、设备及计算机可读存储介质

Families Citing this family (31)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8433914B1 (en) * 2010-02-25 2013-04-30 Emc Corporation Multi-channel transaction signing
US20120008784A1 (en) * 2010-07-08 2012-01-12 Phillip Martin Hallam-Baker Delegated Key Exchange System and Method of Operation
US8984295B2 (en) * 2011-03-31 2015-03-17 Echostar Technologies L.L.C. Secure access to electronic devices
KR101233254B1 (ko) * 2011-04-26 2013-02-14 숭실대학교산학협력단 가변길이 인증코드를 사용하는 무선 통신 단말간 세션키 공유 방법
KR20130003616A (ko) * 2011-06-30 2013-01-09 한국전자통신연구원 세션 키 및 클러스터 키 생성 방법 및 그 장치
US9887838B2 (en) * 2011-12-15 2018-02-06 Intel Corporation Method and device for secure communications over a network using a hardware security engine
US9497171B2 (en) 2011-12-15 2016-11-15 Intel Corporation Method, device, and system for securely sharing media content from a source device
US9166958B2 (en) 2012-07-17 2015-10-20 Texas Instruments Incorporated ID-based control unit-key fob pairing
US9075953B2 (en) * 2012-07-31 2015-07-07 At&T Intellectual Property I, L.P. Method and apparatus for providing notification of detected error conditions in a network
CN103107989A (zh) * 2012-11-20 2013-05-15 高剑青 基于多哈希值的密码系统
US8955076B1 (en) 2012-12-28 2015-02-10 Emc Corporation Controlling access to a protected resource using multiple user devices
US10009321B2 (en) * 2013-04-25 2018-06-26 Treebox Solutions Pte Ltd Method performed by at least one server for processing a data packet from a first computing device to a second computing device to permit end-to-end encryption communication
US9698976B1 (en) 2014-02-24 2017-07-04 Wickr Inc. Key management and dynamic perfect forward secrecy
CN104954123A (zh) * 2014-03-28 2015-09-30 中国银联股份有限公司 智能pos终端主密钥更新系统及更新方法
US9734355B2 (en) 2014-04-11 2017-08-15 Rubicon Labs, Inc. System and method for an efficient authentication and key exchange protocol
CN105141568B (zh) * 2014-05-28 2019-02-12 腾讯科技(深圳)有限公司 安全通信通道建立方法及系统、客户端和服务器
KR101759133B1 (ko) * 2015-03-17 2017-07-18 현대자동차주식회사 비밀 정보 기반의 상호 인증 방법 및 장치
EP3119031A1 (en) * 2015-07-16 2017-01-18 ABB Schweiz AG Encryption scheme using multiple parties
CN105406961B (zh) * 2015-11-02 2018-08-07 珠海格力电器股份有限公司 密钥协商方法、终端及服务器
CN105635168B (zh) * 2016-01-25 2019-01-22 恒宝股份有限公司 一种脱机交易装置及其安全密钥的使用方法
US10135618B2 (en) * 2016-03-25 2018-11-20 Synergex Group (corp.) Method for using dynamic Public Key Infrastructure to send and receive encrypted messages between software applications
US10411879B2 (en) 2016-03-25 2019-09-10 Synergex Group Methods, systems, and media for using dynamic public key infrastructure to send and receive encrypted messages
CN107317674B (zh) * 2016-04-27 2021-08-31 华为技术有限公司 密钥分发、认证方法,装置及系统
US11418364B2 (en) * 2017-06-07 2022-08-16 Combined Conditional Access Development And Support, Llc Determining a session key using session data
US10666430B2 (en) * 2017-09-29 2020-05-26 Intel Corporation System and techniques for encrypting chip-to-chip communication links
KR102348078B1 (ko) 2018-01-12 2022-01-10 삼성전자주식회사 사용자 단말 장치, 전자 장치, 이를 포함하는 시스템 및 제어 방법
CN111344996B (zh) 2018-10-12 2023-01-31 深圳市汇顶科技股份有限公司 密钥生成方法、获取方法、私钥更新方法、芯片和服务器
US11025614B2 (en) 2018-10-17 2021-06-01 Synergex Group Systems, methods, and media for managing user credentials
US11218330B2 (en) * 2019-03-25 2022-01-04 Micron Technology, Inc. Generating an identity for a computing device using a physical unclonable function
US11727127B2 (en) * 2020-10-16 2023-08-15 Micron Technology, Inc. Secure storage device verification with multiple computing devices
EP4258593A4 (en) * 2020-12-28 2024-03-20 Huawei Tech Co Ltd OTA UPDATE METHOD AND APPARATUS

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11196081A (ja) * 1997-12-26 1999-07-21 Kodo Ido Tsushin Security Gijutsu Kenkyusho:Kk 暗号通信装置
JP2000138674A (ja) * 1998-10-30 2000-05-16 Matsushita Electric Ind Co Ltd 機器認証および暗号通信システム
JP2000349748A (ja) 1999-06-07 2000-12-15 Nec Software Hokuriku Ltd 秘密情報共有方法
JP2002198957A (ja) * 2000-10-19 2002-07-12 Sony Corp 無線通信システム、クライアント装置、サーバ装置および無線通信方法
JP2003069547A (ja) * 2001-08-29 2003-03-07 Fujitsu Ltd マルチキャスト通信システム
WO2005048008A2 (en) * 2003-11-16 2005-05-26 M-Systems Flash Disk Pioneers Ltd. Enhanced natural montgomery exponent masking

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5241599A (en) 1991-10-02 1993-08-31 At&T Bell Laboratories Cryptographic protocol for secure communications
EP0998073B1 (en) 1998-10-30 2006-06-14 Matsushita Electric Industrial Co., Ltd. Method and system for inter-equipment authentication and key delivery
JP2001255815A (ja) * 2000-03-13 2001-09-21 Toyo Commun Equip Co Ltd 音声暗号通信方法及び装置
JP2002252610A (ja) * 2001-02-22 2002-09-06 C4 Technology Inc 暗号装置および復号装置並びに公開鍵暗号方式および公開鍵復号方式
SG105005A1 (en) * 2002-06-12 2004-07-30 Contraves Ag Device for firearms and firearm
JP2004023662A (ja) * 2002-06-19 2004-01-22 Acs:Kk 相互認証方法
WO2004019553A1 (ja) * 2002-06-19 2004-03-04 Advanced Computer Systems, Inc. 相互認証方法及び装置
CN1985458B (zh) * 2003-11-16 2013-05-08 桑迪斯克以色列有限公司 增强的自然蒙哥马利指数掩蔽和恢复的方法和装置
US8225415B2 (en) * 2005-12-26 2012-07-17 Mitsubishi Electric Corporation Content distribution system, terminal, and server

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11196081A (ja) * 1997-12-26 1999-07-21 Kodo Ido Tsushin Security Gijutsu Kenkyusho:Kk 暗号通信装置
JP2000138674A (ja) * 1998-10-30 2000-05-16 Matsushita Electric Ind Co Ltd 機器認証および暗号通信システム
JP2000349748A (ja) 1999-06-07 2000-12-15 Nec Software Hokuriku Ltd 秘密情報共有方法
JP2002198957A (ja) * 2000-10-19 2002-07-12 Sony Corp 無線通信システム、クライアント装置、サーバ装置および無線通信方法
JP2003069547A (ja) * 2001-08-29 2003-03-07 Fujitsu Ltd マルチキャスト通信システム
WO2005048008A2 (en) * 2003-11-16 2005-05-26 M-Systems Flash Disk Pioneers Ltd. Enhanced natural montgomery exponent masking

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
See also references of EP2355401A4

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103636161A (zh) * 2011-02-12 2014-03-12 瑟蒂弗克司有限公司 基于非交互式身份的密钥协商派生的、具有认证加密的秘密密钥的使用
CN110299994A (zh) * 2019-06-28 2019-10-01 苏州浪潮智能科技有限公司 一种数据处理方法、系统、设备及计算机可读存储介质
CN110299994B (zh) * 2019-06-28 2022-03-22 苏州浪潮智能科技有限公司 一种数据处理方法、系统、设备及计算机可读存储介质

Also Published As

Publication number Publication date
JP2010136199A (ja) 2010-06-17
US20110235806A1 (en) 2011-09-29
CN102232275B (zh) 2014-03-12
EP2355401A4 (en) 2014-09-03
JP5390844B2 (ja) 2014-01-15
CN102232275A (zh) 2011-11-02
US8600063B2 (en) 2013-12-03
EP2355401A1 (en) 2011-08-10

Similar Documents

Publication Publication Date Title
WO2010064666A1 (ja) 鍵配布システム
US10785019B2 (en) Data transmission method and apparatus
CA2747891C (en) Method for generating an encryption/decryption key
WO2017147503A1 (en) Techniques for confidential delivery of random data over a network
KR20080065633A (ko) 제약된 암호 키
CN111756529B (zh) 一种量子会话密钥分发方法及系统
JP2012019511A (ja) 無線通信機器とサーバとの間でのデータの安全なトランザクションのためのシステムおよび方法
KR20170035665A (ko) 키 교환 장치 및 방법
US20230188325A1 (en) Computer-implemented system and method for highly secure, high speed encryption and transmission of data
JP2006174356A (ja) 擬似公開鍵暗号方法及びシステム
CN111080299B (zh) 一种交易信息的防抵赖方法及客户端、服务器
US11528127B2 (en) Computer-implemented system and method for highly secure, high speed encryption and transmission of data
CN113676448A (zh) 一种基于对称秘钥的离线设备双向认证方法和系统
CN101420687A (zh) 一种基于移动终端支付的身份验证方法
WO2006062345A1 (en) Method of distributing keys over epon
KR101575040B1 (ko) 이종의 계장제어 시스템간의 통신 인터페이스를 지원하는 2.5계층 보안 시스템
JPH11187008A (ja) 暗号鍵の配送方法
JP2006262425A (ja) 公開鍵暗号方式によるネットワーク上での相互認証および公開鍵の相互交換システム
KR20060058789A (ko) 홈 네트워크 시스템에서의 데이터 보안 방법 및 장치
CN108737093B (zh) 一种加密的方法、装置及系统
JP4976794B2 (ja) 駅務システム及びセキュリティ通信方法
CN114050897B (zh) 一种基于sm9的异步密钥协商方法及装置
JP2018078592A (ja) 通信システム、通信装置、鍵管理装置、及び通信方法
JPH09130376A (ja) 利用者パスワード認証方法
CN111641539B (zh) 一种家电设备的安全交互方法

Legal Events

Date Code Title Description
WWE Wipo information: entry into national phase

Ref document number: 200980148302.0

Country of ref document: CN

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

Ref document number: 09830432

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 12998805

Country of ref document: US

NENP Non-entry into the national phase

Ref country code: DE

WWE Wipo information: entry into national phase

Ref document number: 2009830432

Country of ref document: EP