WO2007125877A1 - 通信装置、及び通信システム - Google Patents

通信装置、及び通信システム Download PDF

Info

Publication number
WO2007125877A1
WO2007125877A1 PCT/JP2007/058768 JP2007058768W WO2007125877A1 WO 2007125877 A1 WO2007125877 A1 WO 2007125877A1 JP 2007058768 W JP2007058768 W JP 2007058768W WO 2007125877 A1 WO2007125877 A1 WO 2007125877A1
Authority
WO
WIPO (PCT)
Prior art keywords
key
data
communication
shared
shared key
Prior art date
Application number
PCT/JP2007/058768
Other languages
English (en)
French (fr)
Inventor
Yuichi Futa
Motoji Ohmori
Shingo Hasegawa
Shuji Isobe
Hiroki Shizuya
Original Assignee
Panasonic Corporation
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 Panasonic Corporation filed Critical Panasonic Corporation
Priority to US12/298,579 priority Critical patent/US20090100264A1/en
Priority to JP2008513198A priority patent/JPWO2007125877A1/ja
Publication of WO2007125877A1 publication Critical patent/WO2007125877A1/ja

Links

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/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
    • H04L9/0844Key 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 with user authentication or key authentication, e.g. ElGamal, MTI, MQV-Menezes-Qu-Vanstone protocol or Diffie-Hellman protocols using implicitly-certified keys
    • 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/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3236Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
    • H04L9/3242Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions involving keyed hash functions, e.g. message authentication codes [MACs], CBC-MAC or HMAC
    • 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/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3271Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using challenge-response
    • H04L9/3273Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using challenge-response for mutual authentication
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/60Digital content management, e.g. content distribution

Definitions

  • the present invention relates to encryption technology as information security technology, and in particular to technology for performing secret communication with a legitimate communication partner using a shared key.
  • authentication key sharing is performed between devices for copyright protection of content, and for mobile phones, in order to prevent leakage of communication contents, authentication key sharing is performed between the mobile phone and the device that is the other party. After that, encrypted communication may be performed using the shared key.
  • authentication key sharing refers to mutual authentication between devices, etc. to confirm whether the device at the other end of communication is a device that has been correctly created, and at the same time sharing the key (hereinafter, the key to be shared) Is called a shared key;).
  • DTCP Digital
  • IEEE 1394 IEEE 1394
  • Non-Patent Document 1 There is an authentication key sharing method defined in a copyright protection standard called Transmission Content Protection (see Non-Patent Document 1). This method uses challenge 'response authentication with an elliptic DSA signature as an authentication method, and uses elliptic DH key sharing as a key sharing method. For details on challenge 'response authentication, elliptic DSA signatures and elliptic DH key sharing, see Non-Patent Document 2.
  • proof of security means that the security of cryptographic methods can be proved mathematically, rather than empirically.
  • problems that are considered mathematically difficult to solve for example, prime factorization problems and elliptic discrete logarithm problems
  • this proof can be made, decryption of the ciphertext is more difficult than the problem considered to be difficult to solve. It is clear that Therefore, if such a proof can be obtained, there is a security proof for public key cryptography.
  • KEM key encryption mechanisms
  • Patent Document 1 International Publication No. WO05Z039100
  • Non Patent Literature 1 White paper of DTCP Specification ⁇ URL: http: // www. Dtcp. Com / ata / spec, htm
  • Non-Patent Document 2 Okamoto Ryumei, Yamamoto Hiroshi, “Contemporary Cryptography”, Industrial Books (1997)
  • the authentication key sharing method using KEM has not proved the security against the security against the leak of the shared key and the security against the impersonation attack.
  • an attacker spoofs the user (device) of the other party of communication, leaks information of a valid user (device) with an appropriate user (device), or causes the other person to communicate. It is an attack that tries to block it.
  • the transmission source device for transmitting data may transmit data to an unauthorized device spoofing that it is a legitimate device. It will remain.
  • an object of the present invention is to provide a communication apparatus and a communication system which can prove security against a spoof attack.
  • the present invention is a communication apparatus for performing secret communication of data to be communicated using a key shared with an external apparatus of a communication counterpart, and is known without being known to a third party.
  • Key generating means for generating a shared key to be shared using an encryption system that has been certified for security with the external device, and a key dependent function shared between the external device and the shared key and dependent on the shared key Means for judging whether the external device is valid or not by performing authentication using the authentication information, and when the external device is judged to be valid by the judgment means, the secret of the data to be communicated is determined.
  • Data generation means for generating verification data using the communication target data and performing the same function as the key dependent function dependent on the shared key to verify the legitimacy of the communication target data at the time of communication; It is characterized by having.
  • the communication device performs authentication using the shared key and the key dependent function, and further generates verification data using the same shared key and the key dependent function. Can prevent spoofing attacks. The reasons are shown below.
  • the communication device If the communication device is subjected to a spoofing attack at the time of authentication, it can be determined by the authentication that the communication device is an unauthorized external device. Therefore, preventing transmission of data to be communicated subsequently prevents the spoofing attack. it can.
  • the communication apparatus receives data to be communicated from an unauthorized device by a spoofing attack after authentication
  • the communication device receives data to be communicated from an unauthorized device, but the communication partner is unauthorized. If it is known that the device is the device, the received communication object data may be discarded. In this case, verification data is also sent from an unauthorized device to verify the legitimacy of the data to be communicated. In the meanwhile, an unauthorized device can transmit valid verification data because it has a shared key and a key dependency function depending on it. I can't.
  • the communication device Even if the communication device receives invalid device power or verification data, the received verification data is not generated by the key dependent function dependent on the shared key of the communication device, so the verification data generated by the communication device itself is It will be different, and it can be judged that the communication target data is illegal, that is, the device which has transmitted the communication target data is illegal. In this way, the communication device can prevent a spoofing attack by discarding the received communication target data when it is determined that the device transmitting the communication target data is incorrect.
  • the communication device is secure against leakage because it generates a shared key to be shared according to a security certificate.
  • the communication apparatus performs authentication and secret communication of the external apparatus by using the shared key that is safe against leakage, so security against these processes is also guaranteed.
  • the communication apparatus In order for the communication apparatus to confirm that the external apparatus is valid, correct data for verification needs to be generated by the external apparatus. For this purpose, the communication apparatus and the external apparatus Need to share the same shared key. However, since the shared key is generated using a security proofed encryption method, it is leaked, that is, the probability that an unauthorized device can acquire the shared key is so small that it can be ignored. It can be proved mathematically that it becomes. Therefore, it is also possible to mathematically prove that an unauthorized device can not generate correct verification data. Therefore, the communication device can prove its security against spoofing attacks.
  • the key generation unit generates the first key data, secretly transmits the first key data to the external device, and a second key generated by the external device.
  • the first key data and the second key data are shared with the external device, and the shared first key data and the second key data are used.
  • the shared key may be generated.
  • the communication device generates the shared key using the first key data and the second key data shared secretly, so that the shared key can not be leaked to the outside. .
  • the authentication is challenge response authentication
  • the determination unit is the external Device power Assuming that the first key data is challenge data, the response data generated by applying the function to the challenge data and the shared key is received, and the challenge response authentication is performed.
  • the communication device since the communication device does not need to transmit the challenge data again at the time of the challenge response authentication, the communication amount can be reduced.
  • the key generation means calculates shared key data by an exclusive OR operation of the first key data and the second key data, and generates the calculated shared key data force as the shared key.
  • the communication device calculates shared key data by performing an exclusive OR operation on the first key data and the second key data, so that the shared key data strength is also calculated using the first key data and the second key data. 2 Key It can be difficult to derive data.
  • the key generation unit may use a part of the shared key data as the shared key.
  • the communication device can generate the shared key by making it a part of the shared key data.
  • the key generation unit uses the shared key data itself as the shared key.
  • the communication device makes the shared key the same as the shared key data, and therefore does not need to generate the shared key again. Therefore, the amount of processing in the communication apparatus can be reduced.
  • the key generation unit performs the key dependent function on the first key data and the second key data to generate shared key data, and generates the shared key from the generated shared key data. Let's go ahead.
  • the communication device performs a function on the first key data and the second key data to convert it into the shared key data, thereby preventing the leakage of the first key data and the second key data.
  • the key dependent function may be a one-way function dependent on the shared key.
  • the communication device generates shared key data using a one-way function. As a result, since it is difficult to generate the generated shared key data strength first key data and second key data, security against leakage of the first key data and second key data can be enhanced.
  • the shared key is a shared key for verification used in the authentication by the determination unit and the generation of the verification data
  • the key generation unit further determines from the shared key data the external device and the external device. , And generates a shared key for encryption to be used for encryption and decryption of data to be communicated, and the communication apparatus further encrypts the data to be communicated using the shared key for encryption to encrypt the data to be encrypted. It is also possible to provide transmitting means for generating the encrypted data and transmitting the generated encrypted data to the external device together with the verification data.
  • the communication device encrypts the communication target data using the encryption shared key to be shared with the external device to generate encrypted data, and the generated encrypted data is externally transmitted. As it is sent to the device, there is no leakage of communication target data.
  • the shared key is a shared key for verification
  • the key generation unit further generates a shared key for encryption to be shared with the external device from the shared key data
  • the communication device further comprises: receiving means for receiving encrypted data obtained by encrypting communication target data from the external device with the encryption shared key, the data generating means receiving the encrypted data received by the receiving means. May be decoded to obtain decoded data, and the acquired decoded data may be used as communication target data to generate the verification data.
  • the communication device generates decrypted data verification data that is decrypted using the encryption shared key to be shared with the external device. As long as you do not share the key and the valid verification shared key, you can not obtain valid decrypted data and valid verification data. In other words, only valid communication devices can obtain decoded data and verification data.
  • the key generation unit may generate the shared key by using a key encapsulation mechanism as the key distribution.
  • the communication device generates a shared key with the external device using a key encapsulation mechanism, so that the shared key is not leaked. Also, by using the key encapsulation mechanism, since it is secure against key leakage, security against spoofing attacks is proved at the time of authentication.
  • FIG. 1 is a diagram showing an outline of a cryptographic communication system 1.
  • FIG. 2 is a block diagram showing the configuration of an encrypted communication device A10.
  • FIG. 3 is a block diagram showing the configuration of an encrypted communication device B20.
  • FIG. 4 is a flowchart showing the operation of the cryptographic communication system 1. Continue to Figure 5.
  • FIG. 5 is a flowchart showing the operation of the cryptographic communication system 1. Continue from Figure 4 and continue to Figure 6.
  • FIG. 6 is a flowchart showing the operation of the cryptographic communication system 1. Continue from Figure 5 and continue to Figure 7.
  • FIG. 7 is a flow chart showing the operation of the cryptographic communication system 1. Continue from Figure 6.
  • a cryptographic communication system 1 according to a first embodiment of the present invention will be described. As shown in FIG. 1, the cryptographic communication system 1 is composed of a cryptographic communication device A10 and a cryptographic communication device B20, and the cryptographic communication device A10 and the cryptographic communication device B20 communicate via the communication path 30.
  • the encrypted communication device A 10 and the encrypted communication device B 20 perform encrypted communication using the shared key with the other party of communication, while preventing the key leakage and the spoofing attack.
  • the encryption communication in the encryption communication device A10 and the encryption communication device B20 is roughly divided into three phase operations.
  • the first phase is a phase in which the cryptographic communication device A10 and the cryptographic communication device B20 perform mutual authentication and key distribution using KEM, and the devices share the key.
  • each of the encrypted communication device A10 and the encrypted communication device B20 performs a spoofing attack against each other by performing challenge 'response authentication using the shared key. It is a phase to go and check that.
  • the third phase is a phase in which encrypted data is transmitted and received between the encrypted communication device A 10 and the encrypted communication device B 20 through the communication path 30 using the shared key.
  • the data is, for example, text data, music data, image data, and movie content data.
  • KEM Key Encapsulation Mechanisms
  • the key encapsulation mechanism is an algorithm for distributing a shared key between a transmitter and a receiver using public key cryptography, briefly described.
  • the sender uses public key cryptography Encryption algorithm E Input the receiver's public key pk to generate a ciphertext C and a shared key K, and transmit the ciphertext C to the receiver.
  • the receiver inputs the secret key sk and the ciphertext C to the public key decryption algorithm D, and obtains the same shared key ⁇ as the transmitter.
  • the ciphertext C is also referred to as “KEM ciphertext of key data K” or the like.
  • the purpose of the key encapsulation mechanism is to share communication key data communicated from the transmitting device to the receiving device by sharing the shared key K between the transmitting device and the receiving device by the key encapsulation mechanism.
  • Using the common key encryption while information is being transmitted unilaterally from the sender having the transmitting device to the receiver having the receiving device, the sender can not intentionally create the shared key, and the fraud by the sender is suppressed. This is a feature of the conventional key distribution system.
  • PSEC-KEM As such a key encapsulation mechanism, an algorithm called PSEC-KEM is disclosed.
  • PSEC-KEM has the following system parameters:
  • Non-Patent Document 2 The details of the elliptic curve, the order number and the hash function are described in Non-Patent Document 2, so the description is omitted here.
  • noise functions G and H are shared by both the transmitting side and the receiving side.
  • Zn is a set of ⁇ 0, 1,..., N ⁇ 1 ⁇
  • x * P is an elliptic curve obtained by adding a point P on the elliptic curve E X times. Represents a point. Note that on the elliptic curve The point addition method is described in Non-Patent Document 2.
  • the public key encryption algorithm KemE described below inputs the public key pk and outputs the shared key K and the ciphertext C.
  • the sending device sends the ciphertext C to the communication partner (the receiving device).
  • the transmitting device When this PSEC-KEM algorithm is applied to an encryption system that performs encrypted communication between the transmitting device and the receiving device, the transmitting device first acquires the public key pk of the communication destination receiving device, and the acquired public key Input pk to the aforementioned public key encryption algorithm KemE and share The key K and the ciphertext C are derived, and the ciphertext C is sent to the receiver. Then, the receiving device receives the ciphertext C from the transmitting device, inputs the received ciphertext and the secret key sk possessed by the receiving device into the public key decryption algorithm KemD described above, Derivate the key K
  • the PSEC-KEM algorithm assumes that the input of the hash function H is (a * P
  • V xor H (a * P I
  • the PSEC-KEM algorithm finally derives the shared key K using the Diffie-Hellman problem, which is difficult to calculate a * W from a * P without using a secret key. Therefore, if you do not know the secret key, you can not derive the shared key K, and so on.
  • the transmitting device and the receiving device can share the shared key K in secret, and thereafter, using the secret key encryption, the communication content data communicated from the transmitting device to the receiving device Can be encrypted by common key encryption using the shared key K.
  • PSEC-KEM The PSEC-KEM algorithm described above proves that a receiver not knowing the secret key can not obtain the shared key K if the Diffie-Hellman problem on the elliptic curve described above is difficult. ing. Such proofs are called "security proofs" because they prove the security of the method.
  • Other KEM algorithms of PSEC-KEM such as RSA-KEM and N TRU-KEM (refer to Japanese Patent Application Laid-Open Nos. 2004-201292 and 2004-201293) are also based on the same difficult mathematical problems as safety. It is sex proof.
  • NTRU-KEM The details of NTRU-KEM are described in JP-A-2004-201292 and JP-A-2004-201293, so the description will be omitted.
  • KEM ciphertext may be sent from both of the two encrypted communication devices using the KEM described above.
  • a shared key (called KA) shared by sending a KEM ciphertext from one encrypted communication device A to another encrypted communication device B, and the encrypted communication device B to the encrypted communication device A perform the KEM encryption.
  • key sharing is performed in a configuration in which such a dual power KEM encryption unit is sent.
  • the following describes the cryptographic communication devices A10 and B20 that attack the cryptographic communication system 1, and the operation of these devices.
  • the encryption communication device A10 includes an input / output unit 101, a transmission / reception unit 102, and a public key.
  • the public key storage unit 103 stores the public key KPB of the encryption communication device B20.
  • the public key KPB is given in advance in association with the cryptographic communication device B20 together with the secret key KSB. Also, in the encryption communication device A10, the public key KPB is given in advance from the outside and stored, or transmitted from the encryption communication device B20, received in advance via the communication path 30, and stored.
  • the secret key storage unit 104 stores the secret key KSA of the encryption communication device A 10 and stores it.
  • the secret key KSA is given in advance in association with the encryption communication device A10 together with the public key KPA.
  • the KEM ciphertext generation unit 105 generates the KEM ciphertext KEMA for the key data KA and the key data KA using the public key KPB and the public key encryption algorithm KemE of the key encapsulation mechanism (KEM).
  • KEM key encapsulation mechanism
  • the KEM ciphertext generation unit 105 transmits the generated KEM ciphertext KEMA to the encryption communication device B 20 via the transmission / reception unit 102.
  • the KEM ciphertext generation unit 105 outputs the generated key data KA to the shared key generation unit 107.
  • the KEM ciphertext decryption unit 106 receives the KE from the encryption communication device B 20 via the transmission / reception unit 102.
  • Public key encryption algorithm in M Receive KEM encrypted text KEMB, which is encrypted text in which key data KB is encrypted by KemE.
  • the KEM ciphertext decryption unit 106 receives the secret key KSA and the KEM ciphertext KEMB as input values to the public key decryption algorithm KemD corresponding to the public key encryption algorithm KemE, and receives the received KEM cipher By decrypting the statement KEMB, key data KB is generated.
  • the method of decrypting the key data KB is the same as the method of decrypting PSEC-KEM described above, so the description will be omitted.
  • the KEM ciphertext decryption unit 106 outputs the generated key data KB to the shared key generation unit 107.
  • the shared key generation unit 107 receives the key data KA from the KEM ciphertext generation unit 105 and receives the key data KB from the KEM ciphertext decryption unit 106.
  • the shared key generation unit 107 generates the shared key KS for common key encryption and the shared key KH for MAC using the received key data KA and KB, and the generated shared key KS for shared key encryption and MAC
  • the shared key KH is stored in the shared key storage unit 108.
  • the shared key generation unit 107 generates the shared key data K by taking an exclusive OR (xor) of the key data KA and KB.
  • I I indicates consolidation.
  • the dividing position for acquiring the shared key KS for common key encryption and the shared key KH for MAC from the shared data K may be any position as long as it is the same as the side of the encryption communication device B20.
  • the method of generating shared key data K may be any method as long as information on both key data KA and KB is included.
  • a hash function value of key data KA and KB bits or data K connected nt may be used as shared key data K.
  • the shared key storage unit 108 has an area for storing the shared key KS for common key encryption generated by the shared key generation unit 107 and the shared key KH for MAC.
  • the challenge data generation unit 109 generates challenge data nA which is a random number, and transmits the generated challenge data nA to the encryption communication device B 20 via the transmission / reception unit 102.
  • the challenge data generation unit 109 temporarily stores the generated challenge data nA.
  • the response data generation unit 110 receives the challenge data nB and the response data rB for the challenge data nA transmitted by the challenge data generation unit 109 from the encrypted communication device B20 via the transmission / reception unit 102, or receives only the challenge data nB.
  • the response data generation unit 110 When the response data generation unit 110 receives the challenge data nB and the response data rB from the encrypted communication device B 20, the response data generation unit 110 temporarily stores the received challenge data nB. The response data generation unit 110 receives the response data rB and the response data And a verification instruction for instructing verification of the response data to the response data verification unit 111.
  • the response data generation unit 110 When the response data generation unit 110 receives a response data generation instruction to instruct generation of response data from the response data verification unit 111, the response data generation unit 110 instructs generation of a tampering detection code (MAC). And the temporarily stored challenge data nB are output to the MAC generation unit 112.
  • MAC tampering detection code
  • the response data generation unit 110 When receiving the MAC value HnB from the MAC generation unit 112, the response data generation unit 110 transmits the received MAC value HnB as response data rA to the encryption communication device B20 via the transmission / reception unit 102.
  • the MAC value HnB will be described later in the description of the MAC generation unit 112. (When only challenge data nB is received)
  • the response data generation unit 110 When receiving the challenge data nB from the encrypted communication device B 20, the response data generation unit 110 outputs a MAC generation instruction and the received challenge data nB to the MAC generation unit 112.
  • the response data generation unit 110 uses the received MAC value HnB as the response data rA together with the challenge data nA generated by the challenge data generation unit 109. Transmit to the encrypted communication device B 20 via 102.
  • the response data verification unit 111 When the response data verification unit 111 receives the verification instruction and the response data rB from the response data generation unit 110, the response data verification unit 111 acquires challenge data nA that is temporarily stored in the challenge data generation unit 109.
  • the response data verification unit 111 outputs the MAC generation instruction and the acquired challenge data nA to the MAC generation unit 112.
  • the response data verification unit 111 determines whether the MAC value HnA matches the response data rB.
  • the response data generation unit 110 If it is determined that they match, the response data generation unit 110 outputs a response data generation instruction to the response data generation unit 110.
  • the response data generation unit 110 cancels the entire process relating to the encrypted communication.
  • the response data verification unit 111 When the response data verification unit 111 receives the response data rB from the encrypted communication device B 20 via the transmission / reception unit 102, the response data verification unit 111 acquires the challenge data nA temporarily stored in the challenge data generation unit 109, and Perform the same operation to verify the response data rB.
  • the MAC generation unit 112 stores a keyed hash function Hash in advance.
  • a keyed hash function is a one-way function that has keys and data as input and is dependent on keys.
  • the keyed hash function Hash used in the present embodiment is a function that uses the MAC shared key KH and depends on the MAC shared key KH. The details of the keyed hash function are not The description is omitted because it is described on pages 189 to 195 of Patent Document 2.
  • the MAC generation unit 112 uses the MAC shared key KH stored in the shared key storage unit 108 to tamper with the MAC target data to have a predetermined bit length t (t is 1 or more). Generate (calculate) the detection code value (MAC value).
  • the MAC generation unit 112 From the DEM ciphertext generation unit 115, the MAC generation unit 112 generates a MAC generation instruction and data (hereinafter referred to as encryption target data) DA encrypted by the common key encryption and transmitted to the encryption communication device B20.
  • encryption target data a MAC generation instruction and data
  • the MAC shared key KH stored in the shared key storage unit 108 is acquired.
  • the obtained MAC value HDA is output to the DEM ciphertext generation unit 115.
  • the decrypted data DB ′ will be described later in the description of the common key decryption unit 114.
  • SHAl (x) is the SHA1 hash function value of x, and
  • the common key encryption unit 113 When the common key encryption unit 113 receives from the DEM ciphertext generation unit 115 the data to be encrypted DA and an encryption instruction to instruct encryption, the common key encryption unit 113 stores the common data stored in the shared key storage unit 108. Acquires the shared key KS for key encryption.
  • the common key encryption unit 113 encrypts the encryption target data DA using the acquired common key encryption shared key KS and the common key encryption algorithm and encrypts the encryption target data.
  • Generate coded data EDA ( Enc (KS, DA)) for DA.
  • Enc (KS, DA) means a ciphertext obtained by encrypting data DA with the common key encryption using key KS.
  • Common key encryption is, for example, DES encryption or AES encryption. The details of the common key encryption are described on pages 79 to 105 of Non-Patent Document 2, so the description will be omitted.
  • the common key encryption unit 113 outputs the generated encrypted data Enc (KS, DA) to the DEM ciphertext generation unit 115.
  • EDB Enc (KS, DB)
  • the common key storage unit 108 stores the shared key KS for the common key encryption.
  • the common key decryption unit 114 decrypts the encrypted data Enc (KS, DB) using the acquired shared key KS for common key encryption and the common key decryption algorithm. , Generate decrypted data DB,
  • the common key decryption unit 114 outputs the generated decrypted data DB ′ to the DEM ciphertext decryption unit 116.
  • the DEM ciphertext generation unit 115 When the DEM ciphertext generation unit 115 receives the encryption target data DA from the outside via the input / output unit 101, the DEM ciphertext generation unit 115 instructs the encryption and the received encryption target data DA to be a common key crypt. It outputs to the issue section 113.
  • the DEM ciphertext generation unit 115 outputs the MAC instruction and the received data to be encrypted DA to the MAC generation unit 112.
  • the DEM ciphertext generation unit 115 transmits the generated DEM ciphertext DEMA to the encryption communication device B 20 via the transmission / reception unit 102.
  • EDB is encrypted data (Enc (KS, DB)) obtained by encrypting the data DB to be encrypted with the common key KS shared key KS possessed by the cryptographic communication device B 20, and the HDB is data to be encrypted MAC value for DB (H ash (KH, DB)).
  • DEM Ciphertext Assuming that the bit length of DEMB is u, as described above, since the bit length of the MAC value HDB is t, it can be seen that u> t.
  • the DEM ciphertext decryption unit 116 extracts data with a length of u-t bits as the leading power of the DEM ciphertext DEMB, sets the extracted data as the encrypted data EDB, and uses the remaining t-bit data as the MAC value HDB. Do.
  • the DEM ciphertext decryption unit 116 When receiving the decrypted data DB ′ from the common key decryption unit 114, the DEM ciphertext decryption unit 116 outputs the MAC instruction and the decrypted data DB ′ to the MAC generation unit 112.
  • the DEM ciphertext decryption unit 116 cancels the entire process related to cryptographic communication.
  • the input / output unit 101 externally receives the encryption target data DA, and outputs the received encryption target data DA to the DEM ciphertext generation unit 115.
  • the input / output unit 101 When receiving the decrypted data DB ′ from the DEM ciphertext decryption unit 116, the input / output unit 101 outputs the received decrypted data DB ′ to the outside.
  • the transmission / reception unit 102 Upon receiving the KEM ciphertext KEMA from the KEM ciphertext generation unit 105, the transmission / reception unit 102 transmits the received KEM ciphertext KEMA to the encryption communication device B20 via the communication path 30.
  • the transmission / reception unit 102 Upon receiving the KEM ciphertext KEM B from the cipher communication device B 20 via the communication path 30, the transmission / reception unit 102 outputs the received KEM ciphertext KEMB to the KEM ciphertext decryption unit 106.
  • the transmission / reception unit 102 When receiving the challenge data nA from the challenge data generation unit 109, the transmission / reception unit 102 transmits the received challenge data nA to the encryption communication device B20 via the communication path 30.
  • the transmission / reception unit 102 When receiving the response data rA from the response data generation unit 110, the transmission / reception unit 102 transmits the received response data rA to the encryption communication device B20 via the communication path 30.
  • the transmission / reception unit 102 When receiving the challenge data nB and the response data rB or only the challenge data nB from the encrypted communication device B20 via the communication path 30, the transmission / reception unit 102 receives the challenge data nB and the response data rB, or The data nB is output to the response data generation unit 110.
  • transmission / reception unit 102 Upon receipt of response data rB from encrypted communication device B 20 via communication path 30, transmission / reception unit 102 outputs received response data rB to response data verification unit 111. Do.
  • the transmission / reception unit 102 When receiving the DEM report DEMA from the DEM report generation unit 115, the transmission / reception unit 102 transmits the received DEM ciphertext DEMA to the encryption communication device B20 via the communication path 30.
  • the transmission / reception unit 102 When receiving the DEM ciphertext DEM B from the cipher communication device B 20 via the communication path 30, the transmission / reception unit 102 outputs the received DEM ciphertext DEMB to the DEM ciphertext decryption unit 116.
  • the encryption communication device B20 includes an input / output unit 201, a transmission / reception unit 202, a public key storage unit 203, a secret key storage unit 204, a KEM ciphertext generation unit 205, and a KEM ciphertext decryption unit 20 6
  • Shared key generation unit 207 shared key storage unit 208, challenge data generation unit 209, response data generation unit 210, response data verification unit 211, MAC generation unit 212, common key encryption unit 213, common key decryption unit 214, It comprises a DEM ciphertext generation unit 215 and a DEM ciphertext decryption unit 216.
  • the public key storage unit 203 stores the public key KPA of the encryption communication device A10.
  • the public key KPA is given in advance in association with the cryptographic communication device A10 together with the secret key KSA. Also, in the encryption communication device B20, the public key KPA is given in advance from the outside and stored, or transmitted from the encryption communication device A10, received in advance via the communication path 30, and stored.
  • the secret key storage unit 204 stores and stores the secret key KSB of the encryption communication device B20.
  • the secret key KSB is given in advance in association with the encryption communication device B20 together with the public key KPB.
  • the KEM ciphertext generation unit 205 generates the KEM ciphertext KEMB for the key data KB and the key data KB using the public key KPA and the public key encryption algorithm KemE of the key encapsulation mechanism (KEM). How to generate key data KB and KEM ciphertext KEMB As the method is the same as the PSEC-KEM encryption shown above, the explanation is omitted.
  • the KEM ciphertext generation unit 205 transmits the generated KEM ciphertext KEMB to the encryption communication device A 10 via the transmission / reception unit 202.
  • the KEM ciphertext generation unit 205 outputs the generated key data KB to the shared key generation unit 207.
  • the KEM ciphertext decryption unit 206 receives the KEM ciphertext KEMA from the encryption communication device A 10 via the transmission / reception unit 202.
  • the KEM ciphertext decryption unit 206 gives the secret key KSB and the KEM ciphertext KEMA as input values to the public key decryption algorithm KemD corresponding to the public key encryption algorithm KemE, and receives the received KEM cipher
  • the sentence KEMA is decrypted to generate key data KA.
  • the method of decrypting the key data KA is the same as the method of decrypting the PSEC-KEM described above, so the description will be omitted.
  • the KEM ciphertext decryption unit 206 outputs the generated key data KA to the shared key generation unit 207.
  • the shared key generation unit 207 receives the key data KB from the KEM ciphertext generation unit 205 and receives the key data KA from the KEM ciphertext decryption unit 206.
  • the shared key generation unit 207 generates the shared key KS for common key encryption and the shared key KH for MAC using the received key data KA and KB, and the generated shared key KS for shared key encryption and the MAC.
  • the shared key KH is stored in the shared key storage unit 208.
  • the shared key storage unit 208 has an area for storing the shared key KS for common key encryption generated by the shared key generation unit 207 and the shared key KH for MAC.
  • Challenge data generation unit 209 The challenge data generation unit 209 generates challenge data nB, which is a random number, and transmits the generated challenge data nB to the encryption communication device B20 via the transmission / reception unit 202.
  • the challenge data generation unit 209 temporarily stores the generated challenge data nB.
  • the response data generation unit 210 receives the challenge data nA and the response data rA for the challenge data nB transmitted by the challenge data generation unit 209 from the encrypted communication device A10 via the transmission / reception unit 202, or only the challenge data nA Receive.
  • the response data generation unit 210 When receiving the challenge data nA and the response data rA from the encryption communication device A 10, the response data generation unit 210 temporarily stores the received challenge data nA.
  • the response data generation unit 210 outputs the response data rA and a verification instruction to instruct verification of the response data to the response data verification unit 211.
  • response data generation unit 210 When receiving a response data generation instruction to instruct generation of response data from response data verification unit 211, response data generation unit 210 receives a MAC generation instruction and challenge data nA temporarily stored. Output to the MAC generation unit 212. When receiving the MAC value HnA from the MAC generation unit 212, the response data generation unit 210 transmits the received MAC value HnA as the response data rB to the encryption communication device A10 via the transmission / reception unit 202.
  • the MAC value HnA will be described later in the description of the MAC generation unit 212.
  • the response data generation unit 210 When receiving the challenge data nA from the encryption communication device A 10, the response data generation unit 210 outputs a MAC generation instruction and the received challenge data nA to the MAC generation unit 212.
  • the response data generation unit 210 When the response data generation unit 210 receives the MAC value HnA from the MAC generation unit 112, the response data generation unit 210 takes the received MAC value HnA as the response data rB, and generates a challenge data generation unit 20. It transmits to encryption communication apparatus B20 via the transmission / reception part 202 with the challenge data nB produced
  • the response data verification unit 211 When the response data verification unit 211 receives the verification instruction from the response data generation unit 210 and the response data rA, the response data verification unit 211 temporarily stores the challenge data generation unit 209 to obtain challenge data nB.
  • the response data verification unit 211 outputs the MAC generation instruction and the acquired challenge data nB to the MAC generation unit 212.
  • the response data verification unit 211 determines whether the MAC value HnB matches the response data rA.
  • the response data generation unit 210 If it is determined that they match, the response data generation unit 210 outputs a response data generation instruction to the response data generation unit 210.
  • the response data generation unit 210 cancels the entire process relating to the encrypted communication.
  • the response data verification unit 211 When the response data verification unit 211 receives the response data rA from the encryption communication device A10 via the transmission / reception unit 202, the response data verification unit 211 acquires the challenge data nB temporarily stored in the challenge data generation unit 209, and Perform the same operation to verify the response data rA.
  • the MAC generation unit 212 stores a keyed hash function Hash in advance.
  • the MAC generation unit 112 uses the MAC shared key KH stored in the shared key storage unit 208 for the MAC target data DM to generate a MAC value HDM having a predetermined bit length t (t is 1 or more). Generate (calculate) The bit length of the MAC value generated by the MAC generation unit 212 is the same as the bit length of the MAC value generated by the MAC generation unit 112 of the cryptographic communication device A 20.
  • the decryption data DA will be described later in the description of the common key decryption unit 214.
  • the common key encryption unit 213 stores the data DB to be encrypted and an encryption instruction to instruct encryption from the DEM ciphertext generation unit 215 in the shared key storage unit 208. Acquire the shared key KS for common key encryption.
  • the common key encryption unit 213 encrypts the encryption target data DB using the acquired common key encryption shared key KS and the common key encryption algorithm and encrypts the encryption target data DB.
  • Generate coded data EDB ( Enc (KS, DB)) for DB.
  • Enc (KS, DB) is This means a ciphertext obtained by encrypting the data DB with the common key encryption using the key KS.
  • Common key encryption is, for example, DES encryption or AES encryption. Common key encryption is described on pages 79 to 105 of Non-Patent Document 2.
  • the common key encryption unit 213 outputs the generated encrypted data Enc (KS, DB) to the DEM ciphertext generation unit 215.
  • EDA Enc (KS, DA)
  • the shared key storage unit 208 stores the shared key KS for common key encryption.
  • the common key decryption unit 214 decrypts the encrypted data Enc (KS, DA) using the acquired shared key KS for common key encryption and the common key decryption algorithm. , Generate decryption data DA,
  • the common key decryption unit 214 outputs the generated decrypted data DA to the DEM ciphertext decryption unit 216.
  • the DEM ciphertext generation unit 215 When the DEM ciphertext generation unit 215 receives the encryption target data DB via the input / output unit 201 as well, the DEM ciphertext generation unit 215 transmits the encryption instruction and the received encryption target data DB to the common key encryption unit block. Output to 213.
  • the DEM ciphertext generation unit 215 outputs the MAC instruction and the received encryption target data DB to the MAC generation unit 212.
  • the DEM ciphertext generation unit 215 transmits the generated DEM ciphertext DEMB to the encryption communication device A 10 via the transmission / reception unit 202.
  • EDA is encrypted data (Enc (KS, DA)) encrypted by the common key encryption shared key KS possessed by the encryption communication device A10, which is the encryption target data DA, and HDA is encrypted. It is the MA C value (Hash (KH, DA)) for the target data DA.
  • the DEM ciphertext decryption unit 216 disassembles the DEM ciphertext DEMA by the same method as the method of decomposing the DEM ciphertext decryption unit 116 described above.
  • the DEM ciphertext decryption unit 216 Upon receiving the decrypted data DA ′ from the common key decryption unit 214, the DEM ciphertext decryption unit 216 outputs the MAC instruction and the decrypted data DA ′ to the MAC generation unit 212.
  • the DEM ciphertext decryption unit 216 outputs the decrypted data DA ′, that is, the encryption target data DA to the outside via the input / output unit 201.
  • the DEM ciphertext decryption unit 216 cancels the entire process related to encrypted communication.
  • the input / output unit 201 externally receives the encryption target data DB, and outputs the received encryption target data DB to the DEM ciphertext generation unit 215.
  • the input / output unit 201 When the input / output unit 201 receives the decrypted data DA ′ from the DEM ciphertext decryption unit 216, the input / output unit 201 outputs the received decrypted data DA ′ to the outside.
  • the transmission / reception unit 202 When receiving the KEM ciphertext KEMB from the KEM ciphertext generation unit 205, the transmission / reception unit 202 transmits the received KEM ciphertext KEMA to the encryption communication device A10 via the communication path 30. Ru.
  • the transmission / reception unit 202 When receiving the KEM ciphertext KEM A from the encrypted communication device A 10 via the communication path 30, the transmission / reception unit 202 outputs the received KEM ciphertext KEMA to the KEM ciphertext decryption unit 206.
  • the transmission / reception unit 202 When receiving the challenge data nB from the challenge data generation unit 209, the transmission / reception unit 202 transmits the received challenge data nB to the encryption communication device A10 via the communication path 30.
  • the transmission / reception unit 202 When receiving the response data rB from the response data generation unit 210, the transmission / reception unit 202 transmits the received response data rB to the encryption communication device A10 via the communication path 30.
  • the transmission / reception unit 202 receives the challenge data nA and the response data rA, or only the challenge data nA from the encrypted communication device A10 via the communication path 30, receives the challenge data nA and the response data rA, or The data nA is output to the response data generation unit 210.
  • the transmission / reception unit 202 When receiving the response data rA from the encrypted communication device A 10 via the communication path 30, the transmission / reception unit 202 outputs the received response data rA to the response data verification unit 211.
  • the transmission / reception unit 202 Upon receiving the DEM ciphertext DEMB from the DEM ciphertext generation unit 215, the transmission / reception unit 202 transmits the received DEM ciphertext DEMB to the encryption communication device A10 via the communication path 30.
  • transmission / reception unit 202 Upon receipt of DEM ciphertext DEM A from cipher communication apparatus A 10 via communication path 30, transmission / reception unit 202 outputs received DEM ciphertext DEMA to DEM ciphertext decryption unit 216.
  • the operation of the cryptographic communication system 1 is roughly divided into a key sharing phase in which the cryptographic communication device A10 and the cryptographic communication device B 20 share keys, a mutual authentication using a shared key, and a response authentication phase, sharing Encryption that sends and receives data using the specified key It consists of the communication phase.
  • the cryptographic communication device A10 and the cryptographic communication device B20 perform mutual authentication and key delivery using KEM! Each other shares the key with each other.
  • the transmission partner of each of the encrypted communication device A10 and the encrypted communication device B20 performs a spoofing attack. , To confirm.
  • encrypted data is transmitted / received between the encryption communication device A 10 and the encryption communication device B 20 through the communication path 30 using the shared key.
  • data are, for example, text data, music data, image data, and movie content data.
  • the KEM ciphertext generation unit 105 of the encryption communication device A 10 uses the public key KPB and the KEM public key encryption algorithm KemE to perform KE on the key data KA and the key data KA.
  • the KEM ciphertext generation unit 105 transmits the generated KEM ciphertext KEMA to the encryption communication device B20 (step S10).
  • the KEM ciphertext decryption unit 206 of the encryption communication device B 20 receives the KEM ciphertext KEMA from the encryption communication device A 10 via the transmission / reception unit 202 (step S 15).
  • the KEM ciphertext decryption unit 206 receives the received KEM ciphertext KE using the public key decryption algorithm KemD corresponding to the public key encryption algorithm KemE and the secret key KSB.
  • step S20 Decrypt the MA to generate key data KA (step S20).
  • the KEM ciphertext generation unit 205 of the encryption communication device B 20 uses the public key KPA and the KEM public key encryption algorithm KemE to generate KE for the key data KB and the key data KB.
  • the KEM ciphertext generation unit 205 transmits the generated KEM ciphertext KEMB to the encryption communication device A10 (step S30).
  • the shared key KH is stored in the shared key storage unit 208 (step S40).
  • the KEM ciphertext decryption unit 106 of the encryption communication device A 10 receives the KEM ciphertext KEMB from the encryption communication device B 20 via the transmission / reception unit 102 (step S 45).
  • the KEM ciphertext decryption unit 106 decrypts the received KEM ciphertext KEMB using the public key decryption algorithm KemD and the secret key KSA to generate key data KB (step S50).
  • K KS II KH
  • the KS and the MAC shared key KH are stored in the shared key storage unit 108 (step S60).
  • the challenge data generation unit 109 of the encryption communication device A10 generates challenge data nA (step S65), and transmits the generated challenge data nA to the encryption communication device B20 (step S70).
  • the response data generation unit 210 of the encryption communication device B20 receives the challenge range data nA from the encryption communication device A10 (step S75).
  • the MAC generation unit 212 of the encrypted communication device B 20 uses the MAC shared key KH stored in the shared key storage unit 208 and the keyed hash function Hash stored in advance to use the challenge data nA.
  • the challenge data generation unit 209 of the encryption communication device B20 generates challenge data nB (step S85).
  • the challenge data generation unit 209 transmits the challenge data nB, and the response data generation unit 210 transmits the response data rB to the encryption communication device A10 (step S90).
  • the response data generation unit 110 of the encryption communication device A10 receives the challenge range data nB and the response data rB from the encryption communication device B20 (step S95).
  • the response data generation unit 110 outputs the response data rB and the verification instruction to the response data verification unit 111.
  • the response data verification unit 111 acquires challenge data nA that is temporarily stored in the challenge data generation unit 109.
  • the response data verification unit 111 outputs the MAC generation instruction and the acquired challenge data nA to the MAC generation unit 112.
  • the MAC generation unit 112 calculates the MAC value HnA for the challenge data nA using the MAC shared key KH stored in the shared key storage unit 108 and the keyed hash function Hash, and calculates the calculated MAC value HnA. Output to response data verification unit 111.
  • the response data verification unit 111 determines whether the MAC value HnA and the response data rB match (step S100).
  • step S100 When it is determined that they do not match (“NG” in step S100), the process relating to the encrypted communication is stopped.
  • the response data generation unit 110 If it is determined that they match ("OK" in step S100), the response data generation unit 110 outputs a response data generation instruction to the response data generation unit 110.
  • the response data generation unit 110 When receiving the response data generation instruction from the response data verification unit 111, the response data generation unit 110 outputs the MAC generation instruction and the challenge data nB temporarily stored to the MAC generation unit 112.
  • the response data generation unit 110 transmits the response data rA to the encryption communication device B 20 (step S 110).
  • the response data verification unit 211 of the encryption communication device B20 receives the response data rA from the encryption communication device A10 (step S115).
  • the response data verification unit 211 acquires the challenge data nB temporarily stored in the challenge data generation unit 209.
  • the response data verification unit 211 outputs the MAC generation instruction and the acquired challenge data nB to the MAC generation unit 212.
  • the MAC generation unit 212 receives the MAC generation instruction from the response data verification unit 211 and the challenge data n B, the MAC shared key KH stored in the shared key storage unit 208 and the hash function with key Hash
  • the MAC value HnB for the challenge data nB is calculated, and the calculated MAC value HnB is output to the response data verification unit 211.
  • the response data verification unit 211 determines whether the MAC value HnB matches the response data rA (step S120).
  • step S120 When it is determined that they do not match (“NG” in step S120), the process related to encrypted communication is stopped.
  • step S120 If it is determined that they match ("OK" in step S120), the process related to encrypted communication is continued.
  • the DEM ciphertext generation unit 115 of the encryption communication device A10 receives the encryption target data DA via the input / output unit 101 (step S125).
  • the common key encryption unit 113 of the encryption communication device A 10 uses the common key encryption shared key KS stored in the common key storage unit 108 and the common key encryption algorithm to generate the DEM ciphertext generation unit.
  • the DEM ciphertext generation unit 115 concatenates the encrypted data E DA generated by the common key encryption unit 113 and the MAC value HDA calculated by the MAC generation unit 112 to obtain a DEM ciphertext.
  • Generate DEMA ( Enc (KS, DA)
  • HDA) step S 140.
  • the DEM ciphertext generation unit 115 transmits the generated DEM ciphertext DEMA to the encryption communication device B 20 (step S 145).
  • the DEM ciphertext decryption unit 216 of the encryption communication device B 20 receives the DEM ciphertext DEMA from the encryption communication device A 10 (step S 150).
  • the DEM ciphertext decryption unit 216 separates the received DEM ciphertext DEMA into the encrypted data EDA and the MAC value HDA (step S155).
  • the common key decryption unit 214 of the encryption communication device B20 uses the shared key KS for common key encryption stored in the shared key storage unit 208 and the common key decryption algorithm to obtain the DEM ciphertext decryption unit 214.
  • the encrypted data EDA acquired by the D.216 is decrypted to generate a decrypted data DA (step S160).
  • the MAC generation unit 212 of the encryption communication device B 20 uses the MAC shared key KH stored in the shared key storage unit 208 and the keyed hash function Hash to generate a shared key decryption unit 214.
  • step S 170 If it is determined that they do not match (“NG” in step S 170), the process related to encrypted communication is stopped.
  • step S170 the DEM ciphertext decryption unit 216 sends the decryption data DA ', that is, the encryption target data DA to the outside through the input / output unit 201. Output (step S175).
  • the DEM ciphertext generation unit 215 of the encryption communication device B 20 receives the encryption target data DB from the outside via the input / output unit 201 (step S 180).
  • the common key encryption unit 213 of the encryption communication device B20 receives the DEM ciphertext generation unit 215 using the common key encryption shared key KS stored in the common key storage unit 208 and the common key encryption algorithm.
  • the DEM ciphertext generation unit 215 transmits the generated DEM ciphertext DEMB to the encryption communication device A 10 (step S 200).
  • the DEM ciphertext decryption unit 116 of the encryption communication device A10 receives the DEM ciphertext DEMB from the encryption communication device B20 (step S205).
  • the common key decryption unit 114 of the encryption communication device A 10 uses the shared key KS for common key encryption stored in the shared key storage unit 108 and the common key decryption algorithm to perform DEM ciphertext decryption.
  • the encrypted data EDB acquired by the unit 116 is decrypted to generate decrypted data DB '(step S215).
  • the MAC generation unit 112 of the encryption communication device A10 generates the common key decryption unit 114 using the MAC shared key KH stored in the shared key storage unit 108 and the keyed hash function Hash.
  • the MAC value HDB '( Hash (KH, DB')) for the decoded data DB 'is calculated (step S220).
  • the DEM ciphertext decryption unit 116 compares the MAC value HDB ′ calculated by the MAC generation unit 112 with the HDB, which has also been separated from the DEM ciphertext DEMB force, and determines whether or not there is a matching force (S Tep S 225).
  • step S225 If it is determined that they do not match ("NG" in step S225), the process related to encrypted communication is stopped.
  • the DEM ciphertext decryption unit 116 deciphers the decrypted data DB ′, that is, the encryption target data DB, Output to the outside through (step S230).
  • the key sharing phase is the process from step S5 to step S60
  • the challenge-response authentication phase is the process from step S65 to step S120
  • the data encryption communication phase is the process from step S125 to step S230. Each corresponds.
  • the key encapsulation mechanism (KEM) and the process of transmitting the DEM ciphertext are added with the process of performing the challenge 'response authentication using the MAC shared key,
  • KEM key encapsulation mechanism
  • the difficulty of leakage alone can guarantee the security against spoofing attacks.
  • the present method since the present method also uses the key shared by the key encapsulation mechanism, it transmits encrypted data and data with a keyed hash value to the data. You can guarantee the safety of
  • the encryption communication device A10! /, Correct,! /, Holds the secret key KSA! / Otherwise, the K EM ciphertext KEMB can not be decrypted to obtain the key data KB. Because of this, it is not possible to obtain the shared key KS for common key cryptography shared with the cryptographic communication device B 20 and the shared key KH for MAC. Therefore, decryption of the encrypted data EDB can not be performed in step S215. Similarly, if the cryptographic communication device B20 does not hold the correct secret key KSB, the KEM ciphertext KEMA can not be decrypted to obtain the key data KA.
  • step S 160 ⁇ Can not decrypt encrypted data EDA.
  • the correct secret key KSA or KSB is required.
  • bi-directional authentication can be realized by sending KEM ciphertexts KEMB and KEMA from both devices.
  • the challenge 'response authentication is performed using the MAC shared key KH. It is necessary to transmit the correct response data in order to be judged as the correct encrypted communication device.
  • a MAC generation unit used in the DEM ciphertext generation unit is used to generate response data.
  • the probability of being able to generate correct response data is extremely low, unless the MAC shared key KH is known.
  • the encryption communication system 1 is configured with two encryption communication device powers, but is not limited to this.
  • the encrypted communication system is configured such that encrypted communication is performed when data is transmitted / received (input / output) in a region A having tamper resistance and another region B in one computer device. You may also have two programming skills to do. These two programs are executed by the converter device, and the encryption communication of the present invention is performed between the two executed programs.
  • Each of the program A and the program B includes an input / output step, a transmission / reception unit step, KEM ciphertext generation step, KEM ciphertext decryption step, shared key generation step, challenge data generation step, response data generation step, response data verification step, MAC generation step, common key encryption step, shared key decryption step, DE
  • the M ciphertext generation step and the DEM ciphertext decryption step are included.
  • Areas A and B are, similarly to the encrypted communication device shown above, a public key storage unit storing the public key of the communication partner, and a secret key storage unit storing the own secret key And a shared key storage unit having an area for storing the shared key KS for shared key encryption and the shared key KH for MAC.
  • the contents of each storage section in area A are such that area A has tamper resistance, and therefore, they are not leaked to the outside, but the contents of each storage section in area B Also, it shall be a system that does not leak outside (eg, tamper resistance).
  • each step performs the same operation as each component described in the above embodiment, the key sharing phase, the challenge 'response authentication phase, and the data encryption communication phase are realized as described above. Therefore, the description of the operation of each step is omitted.
  • the present invention is not limited to the force applied to encrypted communication between two programs.
  • the present invention may be applied to encrypted communication between an encrypted communication device and a program.
  • the present invention may be applied to encrypted communication in the case where the encrypted communication device is a DVD device and the program is recorded on the DVD.
  • the program is executed by execution means in the DVD apparatus, and the present invention is implemented between the component (for example, the same component as the encryption communication apparatus A10) included in the DVD apparatus and the executed program. Encryption communication is performed.
  • each encrypted communication device transmits randomly generated challenge data to the device of the communication partner. It is not limited.
  • Each encrypted communication device may use, as challenge data, key data (key data KB for encrypted communication device A10, key data KA for encrypted communication device B20 for encrypted communication device A10) obtained from the KEM ciphertext from the communication partner.
  • key data key data (key data KB for encrypted communication device A10, key data KA for encrypted communication device B20 for encrypted communication device A10) obtained from the KEM ciphertext from the communication partner.
  • the process of transmitting the challenge data can be reduced.
  • the other party can perform the same authentication as in the challenge / response authentication phase by checking whether or not the key data generated by the other party matches the key data transmitted as the challenge data.
  • the authentication of the communication partner is performed by judging whether or not there is a matching power.
  • the shared key generation unit of each encryption communication device generates the shared key K, and uses a part of the generated shared key K as the shared key KS for shared key encryption, and the other parts
  • the power with MAC as the shared key KH is not limited to this.
  • the shared key generation unit of each encryption communication device is not limited to the power generated using the exclusive OR of the key KA and the key KB when generating the shared key K. Yes.
  • the shared key generation unit may generate the shared key K using the hash function Hash used in the MAC generation unit.
  • the shared key generation unit of each encryption communication apparatus may set Hash (KA, KB) as the shared key K, or may set Hash (KB, KA) as the shared key K.
  • the shared key generation unit of each cryptographic communication apparatus may use SHA1 (KA II KB) as the shared key K, or SHA1 (KB). It is also possible to use II KA) as the shared key K.
  • each encryption communication device stores the public key of the communication partner in advance in the public key storage unit, but is not limited to this.
  • the encryption communication device may transmit the public key certificate issued by the certificate center (including the certificate center's signature on the public key and the public key itself) to the communication partner.
  • the cryptographic communication device A10 receives a public key certificate for the public key KPB from the cryptographic communication device B20 which is the communication partner
  • the cryptographic communication device B20 receives the public key for the public key KPA from the cryptographic communication device A10 which is the communication partner.
  • the encryption communication apparatus that is the other party of communication has the public key of the certificate center, and before the key sharing phase, the public key certificate of each other is used by using the public key of the certificate center. If the certificate is verified and it is judged as the correct certificate, the public key storage unit stores the public key included in the public key certificate.
  • each cryptographic communication device may receive a public key certificate from the certificate center.
  • the method of calculating the keyed hash value is used when performing the challenge response authentication, but the present invention is not limited to this.
  • the response data generated by encrypting the challenge data with the shared key KH for MAC may be exchanged.
  • verification of the response data may be performed by decrypting the response data and comparing the result with the challenge data that the sender holds, and the challenger holds the challenge data.
  • the result encrypted with the same method may be compared with the response data.
  • the authentication method is not limited to the challenge response. Any authentication method may be used as long as the key data shared by KEM affects the authentication result.
  • challenge-response authentication is not limited to the authentication method described in the above embodiment. It may be challenge / response certification by a method different from the method shown above.
  • the encryption communication device A10 After executing step S65, the encryption communication device A10 encrypts the generated challenge data nA with the MAC shared key KH possessed by the encryption communication device A10 to generate encrypted data Enc (KH, nA).
  • step S70 the encrypted communication device A10 transmits the generated encrypted data Enc (KH, n A) to the encrypted communication device B20.
  • step S75 the cryptographic communication device B20 receives the encrypted data Enc (KH, nA).
  • step S80 the encrypted communication device B20 decrypts the received encrypted data Enc (KH, nA) with the MAC shared key KH that it has, generates the decrypted data nA ', and generates the decrypted data nA'.
  • KH, nA the received encrypted data Enc
  • KH the MAC shared key
  • the encrypted communication device 20 executes steps S85 and S90.
  • the cryptographic communication device A10 compares the received response data with the challenge data nA stored therein to determine the legitimacy of the cryptographic communication device B20.
  • the encrypted communication device B20 may generate the encrypted data Enc (KH, nB) by encrypting the generated challenge data nB with the MAC shared key KH held by the encrypted communication device B20.
  • the encrypted communication device A10 decrypts the received encrypted data Enc (KH, nB) with the MAC shared key KH that it has, and generates and generates decrypted data nB '.
  • One-way challenge ' may be response authentication. Even in that case, it is possible to prove the security against the spoofing attack of the certifier.
  • the authentication may be performed by directly using the key data KA and the key data KB which are not necessary to create the MAC shared key KH. That is, since this is a one-way authentication, if the recipient of the KEM ciphertext has a correct U and a secret key, the key data KA or the key data KB can be acquired, so using the acquired key data If authentication is done ,.
  • simple mutual authentication can also be performed by performing one-way authentication from encrypted communication device B 20 to encrypted communication device A 10. That is, since the key data can be shared, it can be confirmed that the cryptographic communication device B20 has a valid secret key KSB, so that the cryptographic communication device B20 can be confirmed to be valid. . After that, it is confirmed by challenge / response authentication whether or not the encrypted communication device A10 is a device that shares the key data KA, so that the legitimacy of the encrypted communication device A10 can be confirmed.
  • one-way authentication may be performed using this, and even in the above case, one-way authentication from the encrypted communication device A10 to the encrypted communication device B20 is performed. You may go, of course.
  • the encryption communication device B20 may be a memory card with an IC function.
  • the configuration of the memory card with the IC function can be realized by the same components as the cryptographic communication device B 20, and thus the description thereof is omitted here.
  • a memory card with an IC function is included in the concept of an encrypted communication device. That is, the present invention may be applied to encrypted communication between two memory cards with IC functions, or to encrypted communication between the encrypted communication device A10 shown above and a memory card with IC functions. Oh.
  • KS is satisfied for shared key data K.
  • shared key KS shared key encryption
  • shared key KH shared key MAC
  • each of the shared key KS for shared key encryption and the shared key KH for MAC is a value determined depending on the shared key data K, then.
  • the strength of the cryptographic communication device B20 transmitting the response data rB and the challenge range data nB together to the cryptographic communication device A10 is not limited to this.
  • the response data rB and the challenge data nB may be transmitted to the encryption communication device A10 at different timings.
  • the cryptographic communication device A10 may receive the response data rB and the balance data nB at different timings! /.
  • Each of the above devices is specifically a computer system comprising a microprocessor, a ROM, a RAM, a hard disk unit, a display unit, a keyboard, a mouse and the like.
  • a computer program is stored in the RAM or the hard disk unit.
  • Each device achieves its function by operating according to the microprocessor program.
  • the computer program is configured by combining a plurality of instruction codes indicating instructions for the computer in order to achieve a predetermined function.
  • the system LSI is a super-multifunctional LSI manufactured by integrating a plurality of components on one chip, and more specifically, is a computer system including a microprocessor, ROM, RAM and the like. is there. A computer program is stored in the RAM. Microprocessor Power The system LSI achieves its functions by operating according to the computer program.
  • each part of the components constituting each of the above-described devices may be separately provided in one chip, or may be provided in one chip so as to include part or all.
  • the system LSI is sometimes referred to as an IC, an LSI, a super LSI, or an ultra LSI depending on the degree of force integration.
  • the method of circuit integration is not limited to LSI's, and implementation using dedicated circuitry or general purpose processors is also possible.
  • FPGA field programmable gate array
  • reconfigurable 'processor that can reconfigure connection and setting of circuit cells in the LSI.
  • a part or all of the components constituting each of the above-described devices may be configured as a removable IC card or a single module power of each of the devices.
  • the IC card or the module is a computer system including a microprocessor, a ROM, a RAM, and the like.
  • the IC card or the module may include the above-described super-multifunctional LSI.
  • the IC card or the module achieves its functions by the microprocessor operating according to the computer program. This IC card or this module may be tamper resistant!
  • the present invention may be methods shown above. Further, the present invention may be a computer program that implements these methods by a computer, or may be a digital signal that is the computer program power.
  • the present invention provides a computer readable recording medium capable of reading the computer program or the digital signal, such as a flexible disk, a hard disk, C. D-ROM, MO, DVD, DVD, DVD, RAM, BD (Blu-ray Disc), semiconductor memory, etc. may be used. Also, the digital signal may be recorded on these recording media.
  • a computer readable recording medium capable of reading the computer program or the digital signal, such as a flexible disk, a hard disk, C. D-ROM, MO, DVD, DVD, DVD, RAM, BD (Blu-ray Disc), semiconductor memory, etc.
  • the digital signal may be recorded on these recording media.
  • the present invention transmits the computer program or the digital signal via an electric communication line, a wireless or wired communication line, a network represented by the Internet, data broadcasting, etc. It is good also as things.
  • a computer system comprising a microprocessor and a memory, wherein the memory stores the computer program, and the microprocessor operates according to the computer program. It is also good.
  • the present invention comprises a first encrypted communication device and a second encrypted communication device, and the key is distributed between the first encrypted communication device and the second encrypted communication device, and the shared key
  • An encrypted communication system for transmitting content data from the first encrypted communication device to the second encrypted communication device using the second encrypted communication device, the first encrypted communication device receiving an input of the content data
  • a first transmitting / receiving unit that transmits data to the second encrypted communication device and receives data from the second encrypted communication device; a first key and a first key encrypted;
  • a first key ciphertext generation unit for generating a key ciphertext; a first key ciphertext decryption unit for decoding a second key ciphertext to generate a first decryption key;
  • a first shared key generation unit that generates a first shared key based on the key and the first decryption key; and the first shared key
  • the first shared key storage unit for storing, the first challenge range data generation unit for generating the first challenge data, and the first response data generation for generating the first
  • a second encrypted communication device and an output unit for outputting decrypted content data, and data transmitted to the first encrypted communication device;
  • a second key ciphertext generation unit for generating the second key ciphertext obtained by encrypting the second key and the second key;
  • a second key ciphertext decryption unit that decrypts one key ciphertext to generate a second decryption key; and a second shared key based on the second key and the second decryption key.
  • a second shared key generation unit for generating, a second shared key storage unit for storing the second shared key, a second challenge data generation unit for generating the second challenge data, and A second response data generation unit that generates the second response data for one challenge data;
  • a second response data verification unit that verifies the first response data, and a data ciphertext decryption unit that decrypts the encrypted content data to generate the decrypted content data;
  • the response data generation unit generates a keyed hash value using all or part of the first shared key as a key, using a keyed hash function for response data as the first response data.
  • the first response data verification unit generates a keyed hash value using all or part of the first shared key as a key, using the keyed hash function for the response data, and generates the second hashed value.
  • the data ciphertext generation unit used for verification of the response data, the data ciphertext generation unit, a keyed hash value using the encrypted content data as a part or part of the first shared key, a data encryption
  • the second response data generation unit generates a keyed hash value with a key having all or part of the second shared key as a keyed hash function for response data.
  • the second response data verification unit generates a keyed hash value using all or a part of the second shared key as the key.
  • a keyed hash is generated using a keyed hash function and used for verification of the first response data, wherein the data ciphertext decryption unit uses all or part of the second shared key as a key
  • a value is generated using the keyed hash function for data ciphertext.
  • the keyed hash function for response data and the keyed hash function for data encrypted text may be identical.
  • the first key ciphertext and the second key ciphertext may be generated using a key encapsulation mechanism.
  • the first shared key generation unit is configured to perform an exclusive OR operation on the first key and the first decryption key as the first share.
  • the second shared key generation unit may output an exclusive OR of the second key and the second decryption key as the second shared key.
  • the first shared key generation unit is configured to connect the first key and the first decryption key in bit connection. And outputs a hash value calculated using a shared key generation hash function, which is a hash function for generating a shared key, as the first shared key, and the second shared key generation unit A hash value calculated using the shared key generation hash function may be output as the second shared key with respect to the bit concatenation of the second decryption key.
  • the keyed hash function for response data and the keyed hash function for data encrypted text may be based on the shared key generation hash function. .
  • the first encryption communication device does not include a first challenge data generation unit, and uses the first challenge data as the first key
  • the second encrypted communication device may not include a second challenge data generation unit, and may use the second challenge data as the second key.
  • the present invention includes a content transmitting device and a content receiving device, and performs key delivery between the content transmitting device and the content transmitting device, and performs encryption using the shared key.
  • a content transmission device in an encrypted communication system for performing communication wherein the input unit receives an input of the content data; and a transmission / reception unit that transmits data to the content reception device and receives the content reception device power data;
  • a first key ciphertext generation unit for generating a first key ciphertext obtained by encrypting a first key and the first key; and decrypting a second key ciphertext to be transmitted from the content reception apparatus.
  • a first key ciphertext decryption unit that generates a first decryption key
  • a shared key generation unit that generates a first shared key based on the first key and the first decryption key.
  • a shared key for storing the first shared key And the paid section, the first
  • a challenge data generation unit for generating the challenge data of the second response data generation unit;
  • a response data generation unit for generating a first response data to the second challenge data transmitted from the content reception device power;
  • a response data verification unit for verifying the response data in No.
  • a keyed hash value using all or part of the key as a key is generated using a keyed hash function for response data to make the first response data, and the response data verification unit determines the first response data.
  • a keyed hash value using all or a part of the shared key as a key is the keyed hash function for the response data.
  • the data ciphertext generation unit generates a keyed hash value using all or a part of the first shared key as a key. It is characterized by generating using a keyed hash function.
  • the first key ciphertext and the second key ciphertext may be generated using a key encapsulation mechanism.
  • the keyed hash function for response data and the keyed hash function for data encrypted text may be based on the shared key generation hash function.
  • the present invention includes a content transmitting device and a content receiving device, performs key delivery between the content transmitting device and the content receiving device, and uses a shared key.
  • a content receiving apparatus in an encrypted communication system for performing encrypted communication, an output unit for outputting decoded content data, and data transmitted to the content transmitting apparatus for transmitting and receiving data for the content transmitting apparatus ,
  • a second key ciphertext generation unit for generating a second key ciphertext obtained by encrypting the second key and the second key, and the first key ciphertext to be transmitted by the content transmission device.
  • Shared key generation unit and shared key storage for storing the second shared key
  • a challenge data generation unit for generating a second challenge data generates the second response data to the first challenge data transmitted the content transmission device or al
  • a response data verification unit that verifies the first response data transmitted from the content transmission apparatus, and decrypts encrypted content data transmitted from the content transmission apparatus.
  • a data ciphertext decryption unit for generating the content data
  • the response data generation unit is configured to generate a keyed hash value using all or part of the second shared key as a response data.
  • the second response data is generated using a keyed hash function
  • the response data verification unit determines a keyed hash value with the second shared key partially or entirely as a key.
  • the data ciphertext decryption unit is generated using a keyed hash function for response data and used for verification of the first response data. All or hash value with a key in which the part key of the shared key, characterized that you generated using a keyed hash function for data ciphertext.
  • the first key ciphertext and the second key ciphertext may be generated by using a keying mechanism.
  • Each device, each method, and computer program that constitute the present invention can be used in business, continuously and repeatedly in any industry where information needs to be handled safely and reliably.
  • each device, each method, and each computer program that make up the present invention can be manufactured and sold on a business basis and continuously and repeatedly in the electronics manufacturing industry.

Landscapes

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

Abstract

 なりすまし攻撃に対しても安全性である通信装置を提供する。  通信相手の外部装置と共有した鍵を用いて通信対象データの秘密通信を行う通信装置は、第三者に知られることなく前記外部装置との間で安全性証明のなされた暗号方式を用いて共有すべき共有鍵を生成し、前記外部装置との間で共有され、前記共有鍵に依存する鍵依存関数を用いた認証を行うことにより、前記外部装置が正当であるか否かを判断し、前記外部装置が正当であると判断される場合に、通信対象データの秘密通信の際に、前記通信対象データの正当性検証のために前記通信対象データを用い前記共有鍵に依存する前記鍵依存関数と同一の関数を用いて検証用データを生成する。

Description

明 細 書
通信装置、及び通信システム
技術分野
[0001] 本発明は、情報セキュリティ技術としての暗号技術、特に共有鍵を用いて正当な通 信相手と秘密通信を行う技術に関する。
背景技術
[0002] 近年、家庭用電化製品、携帯電話機などの間でネットワークを介した通信を行う機 会が増加している。例えば、 AV (Audio Visual)機器ではコンテンツの著作権保護 のために機器同士で、また、携帯電話機では通信内容の漏洩を防ぐために携帯電 話機と通信相手である装置とで、認証鍵共有を行った後に、共有した鍵を用いて暗 号ィ匕した通信を行うことがある。ここで、認証鍵共有とは、機器同士などで、通信相手 の機器が正しく作られた機器であるかを、相互認証により確認し、それと同時に鍵を 共有するものである(以下、共有する鍵を共有鍵という。;)。
[0003] 例えば、 AV機器同士を IEEE 1394で接続したときに使用される、 DTCP (Digital
Transmission Content Protection)と呼ばれる著作権保護規格で規定されて いる認証鍵共有方法がある(非特許文献 1参照)。この方法は、認証方式に楕円 DS A署名を用いたチャレンジ 'レスポンス認証を使用し、鍵共有方式に楕円 DH鍵共有 を使用している。チャレンジ 'レスポンス認証、楕円 DSA署名及び楕円 DH鍵共有に ついては、非特許文献 2が詳しい。
[0004] 上記に示す DTCPの認証鍵共有方法では、安全性の問題、すなわち、実効性の ある攻撃方法の存在については特に指摘されていない。しかし、未知の攻撃方法を 含めた全ての攻撃方法に対する安全性の証明はなされて!/、な!/、。
ここで、「安全性の証明」とは、暗号方式の安全性が経験的なものではなぐ数学的 に証明できることである。例えば、公開鍵暗号においては、秘密鍵を持たないユーザ が暗号文の解読を行う場合、数学的に求解困難であると考えられている問題 (例え ば、素因数分解問題や楕円離散対数問題)を解く必要があることを証明する。この証 明ができる場合、暗号文の解読が、求解困難であると考えられている問題よりも難し いことが示せたこととなる。したがって、このような証明ができる場合には、公開鍵暗号 について安全性証明があることになる。
[0005] 安全性証明ができな!/、と経験的に「たぶん解読困難と思われる」と!、うレベルまでし か暗号方式の安全が保証できないので、その暗号方式を使用することに不安が残つ てしまう。そのため、ユーザは、従来の認証鍵共有方法を安心して使用することはで きない。
そこで、安全性証明された鍵配送方式である鍵カプセル化メカニズム (Key Enca psulation Mechanisms,以降では KEMと呼ぶ。)を用いた認証鍵共有方式が提 案されている(特許文献 1参照)。この技術により鍵漏洩がなされないので、ユーザは 、安心して認証鍵の共有ができる。
特許文献 1:国際公開第 WO05Z039100号
非特許文献 1 : DTCP Specificationの White paper < URL: http: //www. dtcp. com/ ata/ spec, htmレ
非特許文献 2 :岡本龍明、山本博資、 "現代暗号"、産業図書 (1997年)
発明の開示
発明が解決しょうとする課題
[0006] し力しながら、 KEMを用いた認証鍵共有方法では共有鍵の漏洩に対する安全性 については証明している力 なりすまし攻撃に対する安全性については証明できて いない。なりすまし攻撃とは、攻撃者が通信相手のユーザ (機器)になりすまして、正 当なユーザ (機器)との間で、正当なユーザ (機器)の情報を漏洩させたり、相手の通 信をさせな 、ように遮ろうとしたりする攻撃である。
[0007] そのため、データを送信する送信元の装置は、正当な装置であるようになりすまし た不正な装置に対して、データを送信する可能性があるので、システム全体としての 安全性に問題が残る。
なぜなら、例えば、仮に共有鍵の漏洩に対する安全性が保証されており、また、共 有鍵によって暗号ィ匕されたデータ 1つ 1つ力も共有鍵を推測することは困難であって も、暗号化されたデータを大量に収集すると共有鍵の推測が容易になることがあるか らである。 [0008] したがって、認証鍵共有では、なりすまし攻撃に対して安全であることが望ましい。 さらに、この場合、共有鍵の漏洩に対してのみならず、なりすまし攻撃に対する防衛 策につ 、ても安全性証明があることが望ま 、。
そこで、本発明は、なりすまし攻撃に対しても安全性証明ができる通信装置、通信 システムを提供することを目的とする。
課題を解決するための手段
[0009] 上記目的を達成するために、本発明は、通信相手の外部装置と共有した鍵を用い て通信対象データの秘密通信を行う通信装置であって、第三者に知られることなく前 記外部装置との間で安全性証明のなされた暗号方式を用いて共有すべき共有鍵を 生成する鍵生成手段と、前記外部装置との間で共有され、前記共有鍵に依存する鍵 依存関数を用いた認証を行うことにより、前記外部装置が正当である力否かを判断 する判断手段と、前記判断手段にて前記外部装置が正当であると判断される場合に 、通信対象データの秘密通信の際に、前記通信対象データの正当性検証のために 前記通信対象データを用い前記共有鍵に依存する前記鍵依存関数と同一の関数を 用いて検証用データを生成するデータ生成手段とを備えることを特徴とする。
発明の効果
[0010] 上記に示した構成によると、通信装置は、共有鍵と鍵依存関数とを用いて認証を行 い、さらに、同一の共有鍵と鍵依存関数を用いて検証用データを生成しているので、 なりすまし攻撃を防ぐことができる。以下にその理由を示す。
通信装置は、認証時になりすまし攻撃を受けている場合には、その認証により不正 な外部装置であると判断することができるので、以降において通信対象データを送信 しないことにより、なりすまし攻撃を防ぐことができる。
[0011] また、認証後に通信装置がなりすまし攻撃により不正な装置から通信対象データを 受信する場合において、通信装置は、不正な装置から通信対象データを受信してし まうが、通信相手が不正な装置であることが分かれば、受信した通信対象データを破 棄すればよい。この場合において、通信対象データの正当性検証のために、不正な 装置から検証データをも送信される。しカゝしながら、不正な装置は、共有鍵及びこれ に依存する鍵依存関数を有して ヽな 、ので、正当な検証データを送信することがで きない。仮に、通信装置が不正な装置力も検証データを受信したとしても、受信した 検証データは通信装置が有する共有鍵に依存する鍵依存関数により生成されてい ないため通信装置自身が生成した検証データとは異なることとなり、通信対象データ が不正、つまり、通信対象データを送信した装置が不正であると判断することができ る。これにより、通信装置は、通信対象データを送信した装置が不正であると判断し た場合には受信した通信対象データを破棄することにより、なりすまし攻撃を防ぐこと ができる。
[0012] さらには、通信装置は、安全性証明のなされた暗号方式により共有すべき共有鍵を 生成するので、漏洩に対して安全である。これにより、通信装置は、漏洩に対して安 全である共有鍵を用いて外部装置の認証及び秘密通信を行うので、これら処理に対 する安全性も保証される。
以下、簡単になりすまし攻撃に対する安全性の証明を行う。
[0013] 認証時において、通信装置が、外部装置が正当であると確認するためには、外部 装置にて正しい検証用データが生成される必要があり、そのためには通信装置と外 部装置との間で同一の共有鍵を共有する必要がある。しかしながら、共有鍵は安全 性証明がなされた暗号方式を用いて生成されるので、漏洩される、つまり、不正な装 置が共有鍵を取得することができる確率が非常に小さぐ無視できる程度となることを 数学的に証明できる。そのため、不正な装置が正しい検証用データを生成することが できないことも数学的に証明できる。したがって、通信装置は、なりすまし攻撃に対し ても安全性が証明できる。
[0014] ここで、前記鍵生成手段は、前記第 1の鍵データを生成し、前記第 1の鍵データを 秘密に前記外部装置へ送信し及び前記外部装置にて生成された第 2の鍵データを 秘密に受信することにより前記外部装置との間で前記第 1の鍵データ及び前記第 2 の鍵データを共有し、共有した前記第 1の鍵データと前記第 2の鍵データとを用いて 前記共有鍵を生成するとしてもよい。
[0015] この構成〖こよると、通信装置は、秘密に共有した第 1の鍵データ及び第 2の鍵デー タを用いて共有鍵を生成するので、共有鍵が外部に漏洩されることはな 、。
ここで、前記認証は、チャレンジレスポンス認証であり、前記判断手段は、前記外部 装置力 前記第 1の鍵データをチャレンジデータとし、前記チャレンジデータと前記 共有鍵とに前記関数を施して生成されたレスポンスデータを受け取り、前記チヤレン ジレスポンス認証を行うとしてもよりヽ。
[0016] この構成〖こよると、通信装置は、チャレンジレスポンス認証時にチャレンジデータを 改めて送信する必要がな 、ので、通信量を削減することができる。
ここで、前記鍵生成手段は、前記第 1鍵データと前記第 2鍵データとの排他的論理 和演算により共有鍵データを算出し、算出した共有鍵データ力 前記共有鍵を生成 するとしてちょい。
[0017] この構成によると、通信装置は、第 1鍵データと第 2鍵データとの排他的論理和演 算により共有鍵データを算出しているので、共有鍵データ力も第 1鍵データと第 2鍵 データを導出することを困難にすることができる。
ここで、前記鍵生成手段は、前記共有鍵データの一部を前記共有鍵とするとしても よい。
[0018] この構成によると、通信装置は、共有鍵を、共有鍵データの一部とすることにより生 成することができる。
ここで、前記鍵生成手段は、前記共有鍵データそのものを前記共有鍵とするとして ちょい。
この構成〖こよると、通信装置は、共有鍵を、共有鍵データと同一にしているので、改 めて共有鍵を生成する必要がない。そのため、通信装置における処理量を削減する ことができる。
[0019] ここで、前記鍵生成手段は、前記第 1鍵データと前記第 2鍵データとに前記鍵依存 関数を施して共有鍵データを生成し、生成した共有鍵データから前記共有鍵を生成 するとしてちょい。
この構成によると、通信装置は、第 1鍵データと第 2鍵データとに関数を施して共有 鍵データへと変換して 、るので、第 1鍵データ及び第 2鍵データの漏洩を防ぐことが できる。
[0020] ここで、前記鍵依存関数は、前記共有鍵に依存する一方向性関数であるとしてもよ い。 この構成によると、通信装置は、一方向性関数を用いて共有鍵データを生成してい る。これにより、生成された共有鍵データ力 第 1鍵データ及び第 2鍵データを生成 するのは困難であるので、第 1鍵データ及び第 2鍵データの漏洩に対する安全性を 高めることができる。
[0021] ここで、前記共有鍵は、前記判断手段による認証及び前記検証用データの生成に 用いる検証用共有鍵であり、前記鍵生成手段は、さらに、前記共有鍵データから前 記外部装置との間で共有され、通信対象データの暗号化及び復号に用いる暗号用 共有鍵を生成し、前記通信装置は、さらに、前記暗号用共有鍵を用いて前記通信対 象データを暗号化して、暗号化データを生成し、生成した前記暗号化データを前記 検証用データとともに前記外部装置へ送信する送信手段を備えるとしてもよい。
[0022] この構成によると、通信装置は、外部装置と共有すべき暗号用共有鍵を用いて通 信対象データを暗号ィ匕して暗号ィ匕データを生成し、生成した暗号化データを外部装 置へ送信するので、通信対象データが漏洩されることはな 、。
ここで、前記共有鍵は検証用共有鍵であり、前記鍵生成手段は、さらに、前記共有 鍵データから前記外部装置との間で共有すべき暗号用共有鍵を生成し、前記通信 装置は、さらに、前記外部装置から前記暗号用共有鍵にて通信対象データが暗号 化された暗号化データを受信する受信手段を備え、前記データ生成手段は、前記受 信手段にて受信した暗号ィ匕データを復号して復号データを取得し、取得した復号デ ータを通信対象データとして前記検証用データを生成するとしてもよい。
[0023] この構成によると、通信装置は、外部装置と共有すべき暗号用共有鍵を用いて復 号された復号データ力 検証データを生成するので、外部装置との間で正当な暗号 用共有鍵及び正当な検証用共有鍵を共有しな!ヽ限り、正当な復号データ及び正当 な検証用データを取得することができない。つまり、正当な通信装置のみが、復号デ ータ及び検証データを取得することができる。
[0024] ここで、前記鍵生成手段は、前記鍵配送として鍵カプセル化メカニズムを用いて前 記共有鍵を生成するとしてもよ ヽ。
この構成〖こよると、通信装置は、外部装置との間で鍵カプセル化メカニズムを用い て共有鍵を生成するので、共有鍵が漏洩されることはな 、。 また、鍵カプセル化メカニズムを用いることにより、鍵漏洩に対して安全であるので、 認証時において、なりすまし攻撃に対する安全性が証明される。
図面の簡単な説明
[0025] [図 1]暗号通信システム 1の概要を示す図である。
[図 2]暗号通信装置 A10の構成を示すブロック図である。
[図 3]暗号通信装置 B20の構成を示すブロック図である。
[図 4]暗号通信システム 1の動作を示す流れ図である。図 5へ続く。
[図 5]暗号通信システム 1の動作を示す流れ図である。図 4から続き、図 6へ続く。
[図 6]暗号通信システム 1の動作を示す流れ図である。図 5から続き、図 7へ続く。
[図 7]暗号通信システム 1の動作を示す流れ図である。図 6から続く。
符号の説明
[0026] 1 暗号通信システム
10 暗号通信装置 A
20 暗号通信装置 B
30 通信路
101、 201 入出力部
102、 202 送受信部
103、 203 公開鍵格納部
104、 204 秘密鍵格納部
105、 205 KEM暗号文生成部
106、 206 KEM暗号文復号化部
107、 207 共有鍵生成部
108、 208 共有鍵格納部
109、 209 チャレンジデータ生成部
110、 210 レスポンスデータ生成部
111、 211 レスポンスデータ検証部
112、 212 MAC生成部
113、 213 共通鍵暗号化部 114、 214 共通鍵復号化部
115、 215 DEM暗号文生成部
116、 216 DEM暗号文復号化部
発明を実施するための最良の形態
[0027] 1.第 1の実施の形態
本発明にかかる第 1の実施の形態としての暗号通信システム 1について説明する。 暗号通信システム 1は、図 1に示すように、暗号通信装置 A10と暗号通信装置 B20 とから構成され、暗号通信装置 A10と暗号通信装置 B20とは、通信路 30を介して通 信を行う。
[0028] 暗号通信装置 A10及び暗号通信装置 B20は、鍵の漏洩及びなりすまし攻撃を防 止して、通信相手と共有鍵を用いた暗号通信を行う。
暗号通信装置 A10及び暗号通信装置 B20における暗号通信は、大きく分けて、 3 つのフェーズ動作からなる。
1つ目のフェーズは、 KEMを用いて暗号通信装置 A10と暗号通信装置 B20とが 相互認証及び鍵配送を行 ヽ、互 、の装置にて鍵を共有するフェーズである。
[0029] 2つ目のフェーズは、共有した鍵を用いてチャレンジ 'レスポンス認証を行うことによ り、暗号通信装置 A10と暗号通信装置 B20のそれぞれが、お互いの送信相手がなり すまし攻撃を行って 、な 、ことを確認するフェーズである。
3つ目のフェーズは、共有した鍵を用いて暗号通信装置 A10と暗号通信装置 B20 との間で通信路 30を介して暗号したデータの送受信を行うフェーズである。
[0030] ここで、データとは、例えば、テキストデータ、音楽データ、画像データ、映画コンテ ンッデータである。
1. 1 準備
ここでは、本実施の形態に用いる鍵配送方式の 1つである鍵カプセル化メカニズム (Key Encapsulation Mechanisms、以降では「KEM」と呼ぶ。)について説明 する。
[0031] 鍵カプセル化メカニズムは、簡単に説明すると、公開鍵暗号を用いて送信装置と受 信装置の間で共有鍵を配送するアルゴリズムである。先ず、送信側が、公開鍵暗号 化アルゴリズム Eに受信者の公開鍵 pkを入力して暗号文 Cと共有鍵 Kを生成し、暗 号文 Cを受信側に伝送する。そして、受信側が、公開鍵復号アルゴリズム Dに、秘密 鍵 skと暗号文 Cを入力して送信側と同じ共有鍵 Κを求める。なお、本明細書では、暗 号文 Cを「鍵データ Kの KEM暗号文」等とも呼ぶ。
[0032] 鍵カプセル化メカニズムの目的は、鍵カプセル化メカニズムで共有鍵 Kを送信装置 と受信装置で共有することにより、その後、送信装置から受信装置へ通信される通信 内容データを、共有鍵 Kを用いて共通鍵暗号で暗号ィ匕することにある。ここで、送信 装置を持つ送信者から受信装置を持つ受信者に一方的に情報の送信が行われて いながら、送信者が作為的に共有鍵を作成できず、送信者による不正が抑制されて V、る点が従来の鍵配送方式にな 、特徴である。
[0033] このような鍵カプセル化メカニズムとして、 PSEC—KEMと呼ばれるアルゴリズムが 開示されている。
なお、 PSEC—KEMアルゴリズムの詳細については、著者 Tatsuaki Okamoto による Generic conversions for constructing IND—し CA2 public— key encryption in the random oracle model',に記載されているので説 を省 力する。以下に、 PSEC—KEMアルゴリズムについて簡単に説明する。
[0034] (1) PSEC—KEMのシステムパラメータ
PSEC—KEMは、以下のシステムパラメータを持つ。
•楕円曲線: E
•楕円曲線 E上の位数 nの点: P
'ハッシュ関数: G、 H
なお、楕円曲線、位数及びハッシュ関数については、非特許文献 2に詳細が記述 されているので、ここでは説明を省略する。
[0035] なお、ノ、ッシュ関数 G、 Hは送信側および受信側の両方で共有して 、る。
(2) PSEC— KEMの公開鍵と秘密鍵
•ランダムに Znの要素 Xを選び、 W=x* Pを生成する。
ここで、 Znは、 {0, 1, . . . , n— 1 }からなる集合であり、 x * Pは、楕円曲線 E上の 点 Pを X回加算することにより得られる楕円曲線上の点を表す。なお、楕円曲線上の 点の加算方法にっ 、ては、非特許文献 2に記述されて 、る。
[0036] ·公開鍵 pkを (E, P, W, n)とし、秘密鍵 skを xとする。
(3) PSEC— KEMの暗号化
暗号化時には、以下に述べる公開鍵暗号ィ匕アルゴリズム KemEに公開鍵 pkを入 力して共有鍵 Kと暗号文 Cを出力する。
以下に公開鍵暗号ィ匕アルゴリズム KemEについて説明する。
[0037] ·Ζηの要素 sをランダムに生成する。
•G (s)を生成し、 G (s)を G (s) =a | | Kと分割する。ここで、 | |はビット結合を表 し, G (s)を G (s) =a | | Kと分割するとは、 G (s)の上位複数ビットを aとし、残りのビ ットを Kとすることを表す。
•R=a * P, Q = a *Wを生成する。
[0038] -v=s xor H (R | | Q)を生成する。ここで、 xorは排他的論理和演算を表す。
•共有鍵 Kと暗号文 C= (R, V)を出力する。
•送信側の装置は、暗号文 Cを通信の相手先 (受信側の装置)へ送信する。
(4) PSEC— KEMの復号化
受信側の装置は、送信側の装置から暗号文 Cを受け取り、以下に述べる公開鍵復 号アルゴリズム KemDに暗号文 C= (R, v)と秘密鍵 skを入力して共有鍵 Kを出力す る。
[0039] 以下に公開鍵復号アルゴリズム KemDにつ 、て説明する。
•Q = x *Rを生成する。ここで、上述したように Xは秘密鍵 skである。
•s' =v xor H (R I I Q)を生成する。ここで、 vと Rは暗号文 C力も得られる。 •G (s,)を生成し、 G (s,)を G (s,)=a, | | K,と分割する。ここで、分割の仕方は 暗号ィ匕側と同様である。
[0040] -R=a' * Pが成立するかどうかチェックする。成立すれば K,を共有鍵 Kとして出力 する。
この PSEC—KEMアルゴリズムを、送信装置と受信装置の間で暗号化通信を行う 暗号システムに応用した場合、まず、送信装置は、通信先受信装置の公開鍵 pkを取 得し、取得した公開鍵 pkを前述の公開鍵暗号ィ匕アルゴリズム KemEに入力して共有 鍵 Kと暗号文 Cを導出して、暗号文 Cを受信装置へ送信する。そして、受信装置は、 送信装置から暗号文 Cを受信し、受信した暗号文じと自身が有する秘密鍵 skを前述 の公開鍵復号アルゴリズム KemDに入力して、送信装置が導出したものと等しい共 有鍵 Kを導出する。
[0041] 以下に、このことを詳細に説明する。
今、 PSEC—KEMアルゴリズムは、ハッシュ関数 Hの入力を(a* P | | a*W)とし ており、公開鍵暗号化アルゴリズム KemEで、ランダムに生成した要素 sに H (a* P | I a *W)の値を作用させて Vを生成する。そして、公開鍵復号アルゴリズム KemDで は、暗号文 Cに含まれる R=a*P力 秘密鍵 sk( = x)を用いて Q = x*R=x* (a* P)=a* (x*P)=a*Wを求めることができるので、 v xor H(a*P | | a*W)を 計算することにより、公開鍵暗号ィ匕アルゴリズム KemEにお 、て生成されたランダム な要素 sを求めることができる。ここで、 V xor H(a*P I | a*W)は、公開鍵暗号 化アルゴリズム KemEカ^から Vを計算する演算の逆演算である。従って、公開鍵暗 号化アルゴリズム KemEと公開鍵復号アルゴリズム KemDは、ハッシュ関数 Gに同じ s の値を入力することができ、同じ共有鍵 Kを導出することができる。この結果、秘密鍵 skを有する受信装置は、送信装置が導出したものと同じ共有鍵 Kを導出できることに なる。
[0042] 一方で、秘密鍵 skを知らな 、他の受信装置は、たとえ公開鍵 pkを取得して暗号文 Cを受信したとしても、秘密鍵 sk( = x)を知らないので R=a*Pから Q = a*W(= (a x) *P)を計算できず、送信装置が導出したものと同じ共有鍵 Kを導出できない。な ぜならば、秘密鍵 skを知らない他の受信装置は、公開鍵 pkし力利用できないので、 上記 Qの計算には秘密鍵 sk(=x)の代わりに公開鍵 pkに含まれる W=x*Pを利用 することになるが、一般に、 a*Pと W=x*P力ら、 Q = a*W(=(ax) *P)を求める ことは、楕円曲線上の Diffie— Hellman問題と呼ばれ、 aや xの値を知らない限り計 算困難だからである。なお、これについては、著者 Neal Koblitzによる" Algebraic Aspects of cryptography algorithms and Computation in Mathe matics Vol. 3, pp. 132— 133, Springer -Verlag, 1998. )に記載されて いるので、ここでの説明は省略する。 [0043] すなわち、 PSEC—KEMアルゴリズムは、秘密鍵を用いずに a * Pから a * Wを計 算することが困難な Diffie—Hellman問題を用いて、最終的に共有鍵 Kを導出する ことにより、秘密鍵を知らなければその共有鍵 Kを導出できな 、ようにして 、る。
よって、以上により、送信装置と受信装置とは、共有鍵 Kを秘密に共有することがで き、この後、秘密鍵暗号を用いて、送信装置から受信装置へ通信される通信内容デ ータを、共有鍵 Kを用いて共通鍵暗号で暗号ィ匕することができる。
[0044] 上記の PSEC— KEMアルゴリズムは、先に述べた楕円曲線上の Diffie— Hellma n問題が困難であれば、秘密鍵を知らない受信装置は共有鍵 Kを得ることができない ことが証明されている。このような証明を方式の安全性を証明していることから、「安全 性証明」と呼ぶ。 PSEC—KEMの他の KEMアルゴリズム、例えば RSA—KEMや N TRU-KEM (特開 2004 - 201292号公報及び特開 2004 - 201293号公報参照 )なども同様の困難な数学上の問題を根拠として安全性証明されている。
[0045] なお、 RSA— KEMの詳細については、著者 Victor Shoupにより" A proposal for an I¾0 standard for public key encryption (version 2. 1) に 記載されて 、るので説明を省略する。
また、 NTRU— KEMの詳細については、特開 2004— 201292号公報及び特開 2 004— 201293号公報に記載されているので説明を省略する。
[0046] 上記にて説明した KEMを用いて、 2台の暗号通信装置の双方から KEM暗号文を 送りあうこともある。この場合、一方の暗号通信装置 Aから他の暗号通信装置 Bに KE M暗号文を送ることで共有される共有鍵 (KAと呼ぶ)と、暗号通信装置 Bから暗号通 信装置 Aに KEM暗号文を送ることで共有される共有鍵 (KBと呼ぶ)との両方を用い て共有鍵 Kを作ることで、より安全な鍵共有ができる。
[0047] 暗号通信システム 1では、このような双方力 KEM暗号部を送りあう構成で鍵共有 を行う。
以下に、暗号通信システム 1を攻勢する暗号通信装置 A10、 B20、及びこれらの動 作について説明する。
1. 2 暗号通信装置 A10の構成
暗号通信装置 A10は、図 2に示すように、入出力部 101、送受信部 102、公開鍵 格納部 103、秘密鍵格納部 104、 KEM暗号文生成部 105、 KEM暗号文復号化部 106、共有鍵生成部 107、共有鍵格納部 108、チャレンジデータ生成部 109、レスポ ンスデータ生成部 110、レスポンスデータ検証部 111、 MAC (改ざん検出符号、 Me ssage Authentication Code)生成部 112、共通鍵暗号化部 113、共通鍵復号 化部 114、 DEM (Data Encapsulation Mechanism)暗号文生成部 115、及び DEM暗号文復号化部 116から構成されて 、る。
[0048] (1)公開鍵格納部 103
公開鍵格納部 103は、暗号通信装置 B20の公開鍵 KPBを格納している。 なお、公開鍵 KPBは、秘密鍵 KSBと共に暗号通信装置 B20に対応付けて、予め 与えられている。また、暗号通信装置 A10では、公開鍵 KPBは予め外部から与えら れて格納されている力、あるいは、暗号通信装置 B20から送信され、通信路 30を介 して予め受信されて格納されて ヽるものとする。
[0049] (2)秘密鍵格納部 104
秘密鍵格納部 104は、暗号通信装置 A 10の秘密鍵 KS Aを格納して ヽる。 なお、秘密鍵 KSAは、公開鍵 KPAと共に暗号通信装置 A10に対応付けて、予め 与えられている。
(3) KEM暗号文生成部 105
KEM暗号文生成部 105は、公開鍵 KPBと、鍵カプセル化メカニズム(KEM)の公 開鍵暗号化アルゴリズム KemEとを用いて、鍵データ KA及び鍵データ KAに対する KEM暗号文 KEMAを生成する。鍵データ KA及び KEM暗号文 KEMAの生成方 法については、上記にて示す PSEC— KEMの暗号化と同様の方法であるので、説 明は省略する。
[0050] KEM暗号文生成部 105は、生成した KEM暗号文 KEMAを送受信部 102を介し て暗号通信装置 B20へ送信する。
KEM暗号文生成部 105は、生成した鍵データ KAを共有鍵生成部 107へ出力す る。
(4) KEM暗号文復号化部 106
KEM暗号文復号化部 106は、暗号通信装置 B20から送受信部 102を介して、 KE Mにおける公開鍵暗号化アルゴリズム KemEにより鍵データ KBが暗号化された暗 号文である KEM暗号文 KEMBを受信する。
[0051] KEM暗号文復号化部 106は、公開鍵暗号ィ匕アルゴリズム KemEに対応する公開 鍵復号アルゴリズム KemDに対して、秘密鍵 KSA及び KEM暗号文 KEMBを入力 値として与えて、受信した KEM暗号文 KEMBを復号ィ匕して、鍵データ KBを生成す る。鍵データ KBの復号化方法については、上記にて示す PSEC— KEMの復号化 と同様の方法であるので、説明は省略する。
[0052] KEM暗号文復号化部 106は、生成した鍵データ KBを共有鍵生成部 107へ出力 する。
(5)共有鍵生成部 107
共有鍵生成部 107は、 KEM暗号文生成部 105から鍵データ KAを、 KEM暗号文 復号ィ匕部 106から鍵データ KBを、それぞれ受け取る。
[0053] 共有鍵生成部 107は、受け取った鍵データ KAと KBを用いて、共通鍵暗号用共有 鍵 KSと MAC用共有鍵 KHとを生成し、生成した共通鍵暗号用共有鍵 KSと MAC用 共有鍵 KHとを共有鍵格納部 108に格納する。
以下に共通鍵暗号用共有鍵 KS及び MAC用共有鍵 KHの生成の具体例を以下 に示す。
共有鍵生成部 107は、鍵データ KAと KBとの排他的論理和 (xor)を取り、共有鍵 データ Kを生成する。共有鍵生成部 107は、生成した共有鍵データ Kの一部を共通 鍵暗号用共有鍵 KSとし、それ以外の部分を MAC用共有鍵 KHとする。つまり、共有 鍵生成部 107は、生成した共有鍵データ Kに対して、 K=KS I I KHを満たすよう に共通鍵暗号用共有鍵 KSと MAC用共有鍵 KHとを取得すればよい。ここで、 I I は連結を示す。また、共有データ Kから共通鍵暗号用共有鍵 KSと MAC用共有鍵 K Hとを取得するための区切り位置は、暗号通信装置 B20側と揃って 、れば任意の位 置でよい。
[0054] なお、共有鍵データ Kの生成方法は、鍵データ KAと KBの両方の情報が含まれる ものであればよい。例えば、鍵データ KAと KBのビットまたはノイト連結したデータ K ,のハッシュ関数値を共有鍵データ Kとしてもよ 、。 (6)共有鍵格納部 108
共有鍵格納部 108は、共有鍵生成部 107で生成した共通鍵暗号用共有鍵 KSと M AC用共有鍵 KHとを格納するための領域を有して 、る。
[0055] (7)チャレンジデータ生成部 109
チャレンジデータ生成部 109は、乱数であるチャレンジデータ nAを生成し、生成し たチャレンジデータ nAを、送受信部 102を介して暗号通信装置 B20へ送信する。 チャレンジデータ生成部 109は、生成したチャレンジデータ nAを一時的に記憶す る。
[0056] (8)レスポンスデータ生成部 110
レスポンスデータ生成部 110は、暗号通信装置 B20から送受信部 102を介して、チ ャレンジデータ nBと、チャレンジデータ生成部 109にて送信したチャレンジデータ nA に対するレスポンスデータ rBを受け取る、または、チャレンジデータ nBのみ受け取る
[0057] (チャレンジデータ nBとレスポンスデータ rBとを受け取った場合)
レスポンスデータ生成部 110は、暗号通信装置 B20からチャレンジデータ nBとレス ポンスデータ rBとを受け取ると、受け取ったチャレンジデータ nBを一時的に記憶する レスポンスデータ生成部 110は、レスポンスデータ rBと、レスポンスデータの検証を 指示する旨の検証指示とをレスポンスデータ検証部 111へ出力する。
[0058] レスポンスデータ生成部 110は、レスポンスデータ検証部 111からレスポンスデータ の生成を指示する旨のレスポンスデータ生成指示を受け取ると、改ざん検出符号 (M essage Authentication Code, MAC)の生成を指示する旨の MAC生成指示 と、一時的に記憶しているチャレンジデータ nBとを MAC生成部 112へ出力する。
[0059] レスポンスデータ生成部 110は、 MAC生成部 112から MAC値 HnBを受け取ると 、受け取った MAC値 HnBをレスポンスデータ rAとして、送受信部 102を介して暗号 通信装置 B20へ送信する。
なお、 MAC値 HnBについては、 MAC生成部 112の説明の箇所で後述する。 (チャレンジデータ nBのみ受け取った場合) レスポンスデータ生成部 110は、暗号通信装置 B20からチャレンジデータ nBを受 け取ると、 MAC生成指示と、受け取ったチャレンジデータ nBとを MAC生成部 112 へ出力する。
[0060] レスポンスデータ生成部 110は、 MAC生成部 112から MAC値 HnBを受け取ると 、受け取った MAC値 HnBをレスポンスデータ rAとして、チャレンジデータ生成部 10 9にて生成したチャレンジデータ nAとともに、送受信部 102を介して暗号通信装置 B 20へ送信する。
(9)レスポンスデータ検証部 111
レスポンスデータ検証部 111は、レスポンスデータ生成部 110から検証指示と、レス ポンスデータ rBとを受け取ると、チャレンジデータ生成部 109にて一時的に記憶され て 、るチャレンジデータ nAを取得する。
[0061] レスポンスデータ検証部 111は、 MAC生成指示と、取得したチャレンジデータ nA とを MAC生成部 112へ出力する。
レスポンスデータ検証部 111は、 MAC生成部 112から MAC値 HnAを受け取ると 、 MAC値 HnAとレスポンスデータ rBとが一致するか否かを判断する。
一致すると判断する場合には、レスポンスデータ生成部 110は、レスポンスデータ 生成指示をレスポンスデータ生成部 110へ出力する。
[0062] 一致しないと判断する場合には、レスポンスデータ生成部 110は、暗号通信に係る 処理全体を中止する。
レスポンスデータ検証部 111は、暗号通信装置 B20から送受信部 102を介して、レ スポンスデータ rBを受け取ると、チャレンジデータ生成部 109にて一時的に記憶され ているチャレンジデータ nAを取得し、上記と同様の動作を行い、レスポンスデータ rB の検証を行う。
[0063] (10) MAC生成部 112
MAC生成部 112は、鍵付ハッシュ関数 Hashを予め記憶している。鍵付ハッシュ関 数とは、鍵とデータとが入力として与えられ、鍵に依存する一方向性関数である。本 実施の形態で用いる鍵付ハッシュ関数 Hashは、 MAC用共有鍵 KHを用い、且つ M AC用共有鍵 KHに依存する関数である。鍵付ハッシュ関数の詳細については、非 特許文献 2の 189〜195ページに記載されているので説明を省略する。
[0064] MAC生成部 112は、 MAC対象データに対して、共有鍵格納部 108に格納してい る MAC用共有鍵 KHを使用して、所定のビット長 t (tは 1以上)力もなる改ざん検出 符号の値 (MAC値)を生成 (算出)する。
ここで、 MAC対象データ DMに対する MAC値を、 HDM = Hash (KH, DM)とす る。また、 Hash (KH, DM)は、 MAC用共有鍵 KHを用いて鍵付ハッシュ関数 Hash で計算したデータ DMのハッシュ値を意味する。
[0065] MAC生成部 112は、レスポンスデータ生成部 110から MAC生成指示と、チヤレン ジデータ nBとを受け取ると、共有鍵格納部 108に格納して ヽる MAC用共有鍵 KH を取得する。 MAC生成部 112は、予め記憶している鍵付ハッシュ関数 Hashと、取 得した KHとを用いて、チャレンジデータ nBに対する MAC値 HnB (= Hash (KH, n B) )を算出し、算出した MAC値 HnBをレスポンスデータ生成部 110へ出力する。
[0066] MAC生成部 112は、レスポンスデータ検証部 111から MAC生成指示と、チヤレン ジデータ nAとを受け取ると、共有鍵格納部 108に格納している MAC用共有鍵 KH を取得する。 MAC生成部 112は、予め記憶している鍵付ハッシュ関数 Hashと、取 得した KHとを用いて、チャレンジデータ nAに対する MAC値 HnA (=Hash (KH, nA) )を算出し、算出した MAC値 HnAをレスポンスデータ検証部 111へ出力する。
[0067] MAC生成部 112は、 MAC生成指示と、共通鍵暗号により暗号化し暗号通信装置 B20へ送信するデータ(以下、暗号ィ匕対象データという。)DAとを、 DEM暗号文生 成部 115から受け取ると、共有鍵格納部 108に格納して ヽる MAC用共有鍵 KHを 取得する。 MAC生成部 112は、予め記憶している鍵付ハッシュ関数 Hashと、取得し た KHとを用いて、暗号化対象データ DAに対する MAC値 HDA( = Hash (KH, D A) )を算出し、算出した MAC値 HDAを DEM暗号文生成部 115へ出力する。
[0068] MAC生成部 112は、 MAC生成指示と、 DEM暗号文復号化部 116から復号化デ ータ DB'とを受け取ると、共有鍵格納部 108に格納している MAC用共有鍵 KHを取 得する。 MAC生成部 112は、予め記憶している鍵付ハッシュ関数 Hashと、取得した KHとを用いて、復号化データ DB'に対する MAC値 HDB' ( = Hash (KH, DB' ) ) を算出し、算出した M AC値 HDB,を DEM暗号文生成部 115へ出力する。 [0069] 復号化データ DB'については、共通鍵復号化部 114の説明の箇所で後述する。 なお、 Hash (KH, DM)は、 Hash (KH, DM) =SHA1 (KH | | DM)としてもよ い。ここで、 SHAl (x)は、 xの SHA1ハッシュ関数値であり、 | |は連結を示す。
(11)共通鍵暗号化部 113
共通鍵暗号化部 113は、暗号化対象データ DAと、暗号化を指示する旨の暗号ィ匕 指示とを、 DEM暗号文生成部 115から受け取ると、共有鍵格納部 108に格納してい る共通鍵暗号用共有鍵 KSを取得する。
[0070] 共通鍵暗号ィ匕部 113は、取得した共通鍵暗号用共有鍵 KSと、共通鍵暗号ァルゴ リズムとを用いて、暗号ィ匕対象データ DAを暗号ィ匕して、暗号化対象データ DAに対 する喑号化データEDA(=Enc (KS, DA) )を生成する。ここで、 Enc (KS, DA)は 、鍵 KSを用いてデータ DAを共通鍵暗号で暗号ィ匕した暗号文を意味する。共通鍵 暗号は例えば DES暗号や AES暗号である。共通鍵暗号の詳細については、非特許 文献 2の 79〜105ページに記載されているので説明を省略する。
[0071] 共通鍵暗号化部 113は、生成した暗号化データ Enc (KS, DA)を DEM暗号文生 成部 115へ出力する。
(12)共通鍵復号化部 114
共通鍵復号化部 114は、暗号化対象データ DBを共通鍵暗号用共有鍵 KSで暗号 化した暗号ィ匕データ EDB (=Enc (KS, DB) )と、暗号化データの復号化を指示す る旨の復号指示とを、 DEM暗号文復号化部 116から受け取ると、共有鍵格納部 10 8に格納して 、る共通鍵暗号用共有鍵 KSを取得する。
[0072] 共通鍵復号ィ匕部 114は、取得した共通鍵暗号用共有鍵 KSと、共通鍵復号化アル ゴリズムとを用いて、暗号ィ匕データ Enc (KS, DB)を復号ィ匕して、復号化データ DB, を生成する。
共通鍵復号ィ匕部 114は、生成した復号化データ DB'を DEM暗号文復号化部 116 へ出力する。
[0073] (13) DEM暗号文生成部 115
DEM暗号文生成部 115は、外部から入出力部 101を介して、暗号化対象データ DAを受け取ると、暗号化指示と、受け取った暗号ィ匕対象データ DAとを、共通鍵暗 号ィ匕部 113へ出力する。
DEM暗号文生成部 115は、 MAC指示と、受け取った暗号化対象データ DAとを MAC生成部 112へ出力する。
[0074] DEM暗号文生成部 115は、喑号化データEDA(=Enc (KS, DA) )を共通鍵喑 号化部 113から受け取り、 MACfgHDA ( = Hash (KH, DA) )を MAC生成部 112 力 受け取ると、これらを連結して、 DEM暗号文 DEMA(=Enc (KS, DA) | | H DA)を生成する。
DEM暗号文生成部 115は、生成した DEM暗号文 DEMAを、送受信部 102を介 して暗号通信装置 B20へ送信する。
[0075] ( 14) DEM暗号文復号化部 116
DEM暗号文復号化部 116は、暗号通信装置 B20から送受信部 102を介して、 DE M暗号文 DEMB ( = EDB | | HDB)を受け取る。ここで、 EDBは暗号化対象デー タ DBを暗号通信装置 B20が有する共通鍵暗号用共有鍵 KSにて暗号化した暗号化 データ(Enc (KS, DB) )であり、 HDBは暗号化対象データ DBに対する MAC値 (H ash (KH, DB) )である。
[0076] DEM暗号文復号化部 116は、受け取った DEM暗号文 DEMB ( = EDB I | HD B)を暗号化データ EDBと MAC値 HDBとに分離する。
ここで、分解の一例を示す。 DEM暗号文 DEMBのビット長を uとすると、上述したよ うに、 MAC値 HDBのビット長は tであるので、 u>tであることが分かる。 DEM暗号文 復号化部 116は、 u— tビット長力 なるデータを DEM暗号文 DEMBの先頭力 抽 出し、抽出したデータを暗号化データ EDBとし、残り tビット長からなるデータを MAC 値 HDBとする。
[0077] DEM暗号文復号化部 116は、復号指示と、暗号化データ EDB ( = Enc (KS, DB ) )とを共通鍵復号ィ匕部 114へ出力する。
DEM暗号文復号ィ匕部 116は、復号ィ匕データ DB'を共通鍵復号ィ匕部 114から受け 取ると、 MAC指示と復号化データ DB'とを MAC生成部 112へ出力する。
DEM暗号文復号化部 116は、 MAC値 HDB' ( = Hash(KH、 DB' ) )を受け取る と、 DEM暗号文 DEMB力 分離した HDBとを比較し、一致するか否かを判断する。 [0078] 一致すると判断する場合には、 DEM暗号文復号化部 116は、復号化データ DB' 、つまり暗号化対象データ DBを、入出力部 101を介して外部へ出力する。
一致しないと判断する場合には、 DEM暗号文復号化部 116は、暗号通信に係る 処理全体を中止する。
(15)入出力部 101
入出力部 101は、外部から暗号ィ匕対象データ DAを受け付け、受け付けた暗号ィ匕 対象データ DAを DEM暗号文生成部 115へ出力する。
[0079] 入出力部 101は、 DEM暗号文復号ィ匕部 116から復号ィ匕データ DB'を受け取ると 、受け取った復号ィ匕データ DB'を外部へ出力する。
(16)送受信部 102
送受信部 102は、 KEM暗号文 KEMAを KEM暗号文生成部 105から受け取ると 、受け取った KEM暗号文 KEMAを、通信路 30を介して暗号通信装置 B20へ送信 する。
[0080] 送受信部 102は、暗号通信装置 B20から通信路 30を介して、 KEM暗号文 KEM Bを受け取ると、受け取った KEM暗号文 KEMBを KEM暗号文復号化部 106へ出 力する。
送受信部 102は、チャレンジデータ nAをチャレンジデータ生成部 109から受け取 ると、受け取ったチャレンジデータ nAを、通信路 30を介して暗号通信装置 B20へ送 信する。
[0081] 送受信部 102は、レスポンスデータ rAをレスポンスデータ生成部 110から受け取る と、受け取ったレスポンスデータ rAを、通信路 30を介して暗号通信装置 B20へ送信 する。
送受信部 102は、暗号通信装置 B20から通信路 30を介して、チャレンジデータ nB とレスポンスデータ rBとを、若しくはチャレンジデータ nBのみを受け取ると、受け取つ たチャレンジデータ nB及びレスポンスデータ rBを、若しくはチャレンジデータ nBを、 レスポンスデータ生成部 110へ出力する。
[0082] 送受信部 102は、暗号通信装置 B20から通信路 30を介して、レスポンスデータ rB を受け取ると、受け取ったレスポンスデータ rBをレスポンスデータ検証部 111へ出力 する。
送受信部 102は、 DEM喑号文DEMAをDEM喑号文生成部115から受け取ると 、受け取った DEM暗号文 DEMAを、通信路 30を介して暗号通信装置 B20へ送信 する。
[0083] 送受信部 102は、暗号通信装置 B20から通信路 30を介して、 DEM暗号文 DEM Bを受け取ると、受け取った DEM暗号文 DEMBを DEM暗号文復号化部 116へ出 力する。
1. 3 暗号通信装置 B20の構成
暗号通信装置 B20は、図 3に示すように、入出力部 201、送受信部 202、公開鍵格 納部 203、秘密鍵格納部 204、 KEM暗号文生成部 205、 KEM暗号文復号化部 20 6、共有鍵生成部 207、共有鍵格納部 208、チャレンジデータ生成部 209、レスポン スデータ生成部 210、レスポンスデータ検証部 211、 MAC生成部 212、共通鍵暗号 化部 213、共通鍵復号化部 214、 DEM暗号文生成部 215、及び DEM暗号文復号 化部 216から構成されている。
[0084] (1)公開鍵格納部 203
公開鍵格納部 203は、暗号通信装置 A10の公開鍵 KPAを格納して 、る。 なお、公開鍵 KPAは、秘密鍵 KSAと共に暗号通信装置 A10に対応付けて、予め 与えられている。また、暗号通信装置 B20では、公開鍵 KPAは予め外部から与えら れて格納されている力、あるいは、暗号通信装置 A10から送信され、通信路 30を介 して予め受信されて格納されて ヽるものとする。
[0085] (2)秘密鍵格納部 204
秘密鍵格納部 204は、暗号通信装置 B20の秘密鍵 KSBを格納して ヽる。 なお、秘密鍵 KSBは、公開鍵 KPBと共に暗号通信装置 B20に対応付けて、予め 与えられている。
(3) KEM暗号文生成部 205
KEM暗号文生成部 205は、公開鍵 KPAと、鍵カプセル化メカニズム(KEM)の公 開鍵暗号化アルゴリズム KemEとを用いて、鍵データ KB及び鍵データ KBに対する KEM暗号文 KEMBを生成する。鍵データ KB及び KEM暗号文 KEMBの生成方 法については、上記にて示す PSEC— KEMの暗号化と同様の方法であるので、説 明は省略する。
[0086] KEM暗号文生成部 205は、生成した KEM暗号文 KEMBを送受信部 202を介し て暗号通信装置 A10へ送信する。
KEM暗号文生成部 205は、生成した鍵データ KBを共有鍵生成部 207へ出力す る。
(4) KEM暗号文復号化部 206
KEM暗号文復号化部 206は、暗号通信装置 A10から送受信部 202を介して、 K EM暗号文 KEMAを受信する。
[0087] KEM暗号文復号化部 206は、公開鍵暗号ィ匕アルゴリズム KemEに対応する公開 鍵復号アルゴリズム KemDに対して、秘密鍵 KSB及び KEM暗号文 KEMAを入力 値として与えて、受信した KEM暗号文 KEMAを復号ィ匕して、鍵データ KAを生成す る。鍵データ KAの復号化方法については、上記にて示す PSEC— KEMの復号化 と同様の方法であるので、説明は省略する。
[0088] KEM暗号文復号化部 206は、生成した鍵データ KAを共有鍵生成部 207へ出力 する。
(5)共有鍵生成部 207
共有鍵生成部 207は、 KEM暗号文生成部 205から鍵データ KBを、 KEM暗号文 復号ィ匕部 206から鍵データ KAを、それぞれ受け取る。
[0089] 共有鍵生成部 207は、受け取った鍵データ KAと KBを用いて、共通鍵暗号用共有 鍵 KSと MAC用共有鍵 KHとを生成し、生成した共通鍵暗号用共有鍵 KSと MAC用 共有鍵 KHとを共有鍵格納部 208に格納する。
共通鍵暗号用共有鍵 KSと MAC用共有鍵 KHとの生成には、共有鍵生成部 107 における生成方法と同一の方法が用いられる。
[0090] (6)共有鍵格納部 208
共有鍵格納部 208は、共有鍵生成部 207で生成した共通鍵暗号用共有鍵 KSと M AC用共有鍵 KHとを格納するための領域を有して 、る。
(7)チャレンジデータ生成部 209 チャレンジデータ生成部 209は、乱数であるチャレンジデータ nBを生成し、生成し たチャレンジデータ nBを、送受信部 202を介して暗号通信装置 B20へ送信する。
[0091] チャレンジデータ生成部 209は、生成したチャレンジデータ nBを一時的に記憶す る。
(8)レスポンスデータ生成部 210
レスポンスデータ生成部 210は、暗号通信装置 A10から送受信部 202を介して、 チャレンジデータ nAと、チャレンジデータ生成部 209にて送信したチャレンジデータ nBに対するレスポンスデータ r Aを受け取る、または、チャレンジデータ nAのみ受け 取る。
[0092] (チャレンジデータ nAとレスポンスデータ rAとを受け取った場合)
レスポンスデータ生成部 210は、暗号通信装置 A10からチャレンジデータ nAとレス ポンスデータ rAとを受け取ると、受け取ったチャレンジデータ nAを一時的に記憶す る。
レスポンスデータ生成部 210は、レスポンスデータ rAと、レスポンスデータの検証を 指示する旨の検証指示とをレスポンスデータ検証部 211へ出力する。
[0093] レスポンスデータ生成部 210は、レスポンスデータ検証部 211からレスポンスデータ の生成を指示する旨のレスポンスデータ生成指示を受け取ると、 MAC生成指示と、 一時的に記憶しているチャレンジデータ nAとを MAC生成部 212へ出力する。 レスポンスデータ生成部 210は、 MAC生成部 212から MAC値 HnAを受け取ると 、受け取った MAC値 HnAをレスポンスデータ rBとして、送受信部 202を介して暗号 通信装置 A10へ送信する。
[0094] なお、 MAC値 HnAについては、 MAC生成部 212の説明の箇所で後述する。
(チャレンジデータ nAのみ受け取った場合)
レスポンスデータ生成部 210は、暗号通信装置 A10からチャレンジデータ nAを受 け取ると、 MAC生成指示と、受け取ったチャレンジデータ nAとを MAC生成部 212 へ出力する。
[0095] レスポンスデータ生成部 210は、 MAC生成部 112から MAC値 HnAを受け取ると 、受け取った MAC値 HnAをレスポンスデータ rBとして、チャレンジデータ生成部 20 9にて生成したチャレンジデータ nBとともに、送受信部 202を介して暗号通信装置 B 20へ送信する。
(9)レスポンスデータ検証部 211
レスポンスデータ検証部 211は、レスポンスデータ生成部 210から検証指示と、レス ポンスデータ rAとを受け取ると、チャレンジデータ生成部 209にて一時的に記憶され て 、るチャレンジデータ nBを取得する。
[0096] レスポンスデータ検証部 211は、 MAC生成指示と、取得したチャレンジデータ nB とを MAC生成部 212へ出力する。
レスポンスデータ検証部 211は、 MAC生成部 212から MAC値 HnBを受け取ると 、 MAC値 HnBとレスポンスデータ rAとが一致するか否かを判断する。
一致すると判断する場合には、レスポンスデータ生成部 210は、レスポンスデータ 生成指示をレスポンスデータ生成部 210へ出力する。
[0097] 一致しないと判断する場合には、レスポンスデータ生成部 210は、暗号通信に係る 処理全体を中止する。
レスポンスデータ検証部 211は、暗号通信装置 A10から送受信部 202を介して、レ スポンスデータ rAを受け取ると、チャレンジデータ生成部 209にて一時的に記憶され ているチャレンジデータ nBを取得し、上記と同様の動作を行い、レスポンスデータ rA の検証を行う。
[0098] (10) MAC生成部 212
MAC生成部 212は、鍵付ハッシュ関数 Hashを予め記憶している。
MAC生成部 112は、 MAC対象データ DMに対して、共有鍵格納部 208に格納し ている MAC用共有鍵 KHを使用して、所定のビット長 t (tは 1以上)からなる MAC値 HDMを生成(算出)する。なお、 MAC生成部 212にて生成される MAC値のビット 長は、暗号通信装置 A20の MAC生成部 112にて生成される MAC値のビット長と同 一である。
[0099] MAC生成部 212は、レスポンスデータ生成部 210から MAC生成指示と、チヤレン ジデータ nAとを受け取ると、共有鍵格納部 208に格納している MAC用共有鍵 KH を取得する。 MAC生成部 212は、予め記憶している鍵付ハッシュ関数 Hashと、取 得した KHとを用いて、チャレンジデータ nAに対する MAC値 HnA (=Hash (KH, ηΑ) )を算出し、算出した MAC値 ΗηΑをレスポンスデータ生成部 210へ出力する。
[0100] MAC生成部 212は、レスポンスデータ検証部 211から MAC生成指示と、チヤレン ジデータ nBとを受け取ると、共有鍵格納部 208に格納している MAC用共有鍵 KH を取得する。 MAC生成部 212は、予め記憶している鍵付ハッシュ関数 Hashと、取 得した MAC用共有鍵 KHとを用いて、チャレンジデータ nBに対する MAC値 HnB ( =Hash (KH, nB) )を算出し、算出した MAC値 HnBをレスポンスデータ検証部 21 1へ出力する。
[0101] MAC生成部 212は、 MAC生成指示と、暗号通信装置 A10へ暗号化し送信する データである暗号ィ匕対象データ DBとを、 DEM暗号文生成部 215から受け取ると、 共有鍵格納部 208に格納して ヽる MAC用共有鍵 KHを取得する。 MAC生成部 21 2は、予め記憶している鍵付ハッシュ関数 Hashと、取得した MAC用共有鍵 KHとを 用いて、暗号化対象データ DBに対する MAC値 HDB ( = Hash(KH, DB) )を算出 し、算出した MAC値 HDBを DEM暗号文生成部 215へ出力する。
[0102] MAC生成部 212は、 MAC生成指示と、 DEM暗号文復号化部 216から復号化デ ータ DA,とを受け取ると、共有鍵格納部 208に格納している MAC用共有鍵 KHを取 得する。 MAC生成部 212は、予め記憶している鍵付ハッシュ関数 Hashと、取得した MAC用共有鍵 KHとを用いて、復号化データ DA,に対する MAC値 HDA, ( = Has h (KH, DA' ) )を算出し、算出した MAC値 HDA,を DEM暗号文生成部 215へ出 力する。
[0103] 復号ィ匕データ DA,については、共通鍵復号ィ匕部 214の説明の箇所で後述する。
(11)共通鍵暗号化部 213
共通鍵暗号ィ匕部 213は、暗号化対象データ DBと、暗号化を指示する旨の暗号ィ匕 指示とを、 DEM暗号文生成部 215から受け取ると、共有鍵格納部 208に格納してい る共通鍵暗号用共有鍵 KSを取得する。
[0104] 共通鍵暗号ィ匕部 213は、取得した共通鍵暗号用共有鍵 KSと、共通鍵暗号ァルゴ リズムとを用いて、暗号ィ匕対象データ DBを暗号ィ匕して、暗号化対象データ DBに対 する喑号化データEDB (=Enc (KS, DB) )を生成する。ここで、 Enc (KS, DB)は 、鍵 KSを用いてデータ DBを共通鍵暗号で暗号ィ匕した暗号文を意味する。共通鍵 暗号は例えば DES暗号や AES暗号である。共通鍵暗号については、非特許文献 2 の 79〜105ページに記載されている。
[0105] 共通鍵暗号化部 213は、生成した暗号化データ Enc (KS, DB)を DEM暗号文生 成部 215へ出力する。
(12)共通鍵復号ィ匕部 214
共通鍵復号化部 214は、暗号化対象データ DAを共通鍵暗号用共有鍵 KSで暗号 化した暗号ィ匕データ EDA (=Enc (KS, DA) )と、暗号化データの復号化を指示す る旨の復号指示とを、 DEM暗号文復号ィ匕部 216から受け取ると、共有鍵格納部 20 8に格納して 、る共通鍵暗号用共有鍵 KSを取得する。
[0106] 共通鍵復号ィ匕部 214は、取得した共通鍵暗号用共有鍵 KSと、共通鍵復号化アル ゴリズムとを用いて、暗号ィ匕データ Enc (KS, DA)を復号ィ匕して、復号ィ匕データ DA, を生成する。
共通鍵復号ィ匕部 214は、生成した復号ィ匕データ DA,を DEM暗号文復号化部 21 6へ出力する。
[0107] (13) DEM暗号文生成部 215
DEM暗号文生成部 215は、外部力も入出力部 201を介して、暗号化対象データ DBを受け取ると、暗号化指示と、受け取った暗号ィ匕対象データ DBとを、共通鍵暗 号ィ匕部 213へ出力する。
DEM暗号文生成部 215は、 MAC指示と、受け取った暗号化対象データ DBとを MAC生成部 212へ出力する。
[0108] DEM暗号文生成部 215は、暗号化データ EDB (=Enc (KS, DB) )を共通鍵喑 号ィ匕部 213から受け取り、 MACfgHDB ( = Hash (KH, DB) )を MAC生成部 212 力 受け取ると、これらを連結して、 DEM暗号文 DEMB ( = Enc (KS, DB) | | H DB)を生成する。
DEM暗号文生成部 215は、生成した DEM暗号文 DEMBを、送受信部 202を介 して暗号通信装置 A10へ送信する。
[0109] (14) DEM暗号文復号化部 216 DEM暗号文復号化部 216は、暗号通信装置 A10から送受信部 202を介して、 D EM暗号文 DEMA( = EDA | | HDA)を受け取る。ここで、 EDAは暗号化対象デ ータ DAを暗号通信装置 A10が有する共通鍵暗号用共有鍵 KSにて暗号化された 暗号化データ(Enc (KS, DA) )であり、 HDAは暗号化対象データ DAに対する MA C値(Hash (KH, DA) )である。
[0110] DEM暗号文復号化部 216は、受け取った DEM暗号文 DEMA ( = EDA I | HD A)を暗号化データ EDAと MAC値 HDAとに分離する。なお、 DEM暗号文復号ィ匕 部 216は、上記にて示す DEM暗号文復号ィ匕部 116の分解の方法と同一の方法で DEM暗号文 DEMAの分解を行う。
DEM暗号文復号化部 216は、復号指示と、喑号化データEDA(=Enc (KS, DA ) )とを共通鍵復号ィ匕部 214へ出力する。
[0111] DEM暗号文復号化部 216は、復号ィ匕データ DA'を共通鍵復号ィ匕部 214から受け 取ると、 MAC指示と復号ィ匕データ DA'とを MAC生成部 212へ出力する。
DEM暗号文復号化部 216は、 MAC値 HDA' ( = Hash (KH、 DB' ) )を受け取る と、 DEM暗号文 DEMAから分離した HDAとを比較し、一致するか否かを判断する
[0112] 一致すると判断する場合には、 DEM暗号文復号化部 216は、復号化データ DA' 、つまり暗号化対象データ DAを、入出力部 201を介して外部へ出力する。
一致しないと判断する場合には、 DEM暗号文復号化部 216は、暗号通信に係る 処理全体を中止する。
(15)入出力部 201
入出力部 201は、外部から暗号ィ匕対象データ DBを受け付け、受け付けた暗号ィ匕 対象データ DBを DEM暗号文生成部 215へ出力する。
[0113] 入出力部 201は、 DEM暗号文復号ィ匕部 216から復号ィ匕データ DA'を受け取ると 、受け取った復号ィ匕データ DA'を外部へ出力する。
(16)送受信部 202
送受信部 202は、 KEM暗号文 KEMBを KEM暗号文生成部 205から受け取ると、 受け取った KEM暗号文 KEMAを、通信路 30を介して暗号通信装置 A10へ送信す る。
[0114] 送受信部 202は、暗号通信装置 A10から通信路 30を介して、 KEM暗号文 KEM Aを受け取ると、受け取った KEM暗号文 KEMAを KEM暗号文復号化部 206へ出 力する。
送受信部 202は、チャレンジデータ nBをチャレンジデータ生成部 209から受け取る と、受け取ったチャレンジデータ nBを、通信路 30を介して暗号通信装置 A10へ送信 する。
[0115] 送受信部 202は、レスポンスデータ rBをレスポンスデータ生成部 210から受け取る と、受け取ったレスポンスデータ rBを、通信路 30を介して暗号通信装置 A10へ送信 する。
送受信部 202は、暗号通信装置 A10から通信路 30を介して、チャレンジデータ nA とレスポンスデータ rAとを、若しくはチャレンジデータ nAのみを受け取ると、受け取つ たチャレンジデータ nA及びレスポンスデータ rAを、若しくはチャレンジデータ nAを、 レスポンスデータ生成部 210へ出力する。
[0116] 送受信部 202は、暗号通信装置 A10から通信路 30を介して、レスポンスデータ rA を受け取ると、受け取ったレスポンスデータ rAをレスポンスデータ検証部 211へ出力 する。
送受信部 202は、 DEM暗号文 DEMBを DEM暗号文生成部 215から受け取ると 、受け取った DEM暗号文 DEMBを、通信路 30を介して暗号通信装置 A10へ送信 する。
[0117] 送受信部 202は、暗号通信装置 A10から通信路 30を介して、 DEM暗号文 DEM Aを受け取ると、受け取つた DEM暗号文 DEMAを DEM暗号文復号化部 216へ出 力する。
1. 4 暗号通信システム 1の動作
(1)動作概要
暗号通信システム 1の動作は、大きく分けて、暗号通信装置 A10と暗号通信装置 B 20が鍵を共有する鍵共有フェーズ、共有した鍵を使用して相互で認証するチヤレン ジ ·レスポンス認証フェーズ、共有した鍵を使用してデータを送受信するデータ暗号 通信フェーズからなる。
[0118] 鍵共有フェーズでは、 KEMを用いて暗号通信装置 A10と暗号通信装置 B20とが 相互認証及び鍵配送を行!ヽ、互 、の装置にて鍵を共有する。
チャレンジ 'レスポンス認証フェーズでは、共有した鍵を用いてチャレンジ 'レスポン ス認証を行うことにより、暗号通信装置 A10と暗号通信装置 B20のそれぞれ力 お互 V、の送信相手がなりすまし攻撃を行って 、な 、ことを確認する。
[0119] データ暗号通信フェーズでは、共有した鍵を用いて暗号通信装置 A10と暗号通信 装置 B20との間で通信路 30を介して暗号したデータの送受信を行う。
ここで、データとは、例えば、テキストデータ、音楽データ、画像データ、映画コンテ ンッデータである。
(2)動作
以下、暗号通信システム 1の動作について、図 4から図 7にて示す流れ図を用いて 説明する。
[0120] 暗号通信装置 A10の KEM暗号文生成部 105は、公開鍵 KPBと、 KEMの公開鍵 暗号化アルゴリズム KemEとを用いて、鍵データ KA及び鍵データ KAに対する KE
M暗号文 KEMAを生成する(ステップ S 5)。
KEM暗号文生成部 105は、生成した KEM暗号文 KEMAを暗号通信装置 B20 へ送信する (ステップ S 10)。
[0121] 暗号通信装置 B20の KEM暗号文復号化部 206は、暗号通信装置 A10から送受 信部 202を介して、 KEM暗号文 KEMAを受信する(ステップ S15)。
KEM暗号文復号化部 206は、公開鍵暗号ィ匕アルゴリズム KemEに対応する公開 鍵復号アルゴリズム KemD、及び秘密鍵 KSBを用いて、受信した KEM暗号文 KE
MAを復号ィ匕して、鍵データ KAを生成する(ステップ S20)。
[0122] 暗号通信装置 B20の KEM暗号文生成部 205は、公開鍵 KPAと、 KEMの公開鍵 暗号化アルゴリズム KemEとを用いて、鍵データ KB及び鍵データ KBに対する KE
M暗号文 KEMBを生成する(ステップ S25)。
KEM暗号文生成部 205は、生成した KEM暗号文 KEMBを暗号通信装置 A10 へ送信する (ステップ S 30)。 [0123] 暗号通信装置 B20の共有鍵生成部 207は、 KEM暗号文生成部 205にて生成さ れた鍵データ KBと、 KEM暗号文復号ィ匕部 206にて生成された鍵データ KAとを用 いて、共有鍵 K (=KA xor KB)を生成する(ステップ S35)。
共有鍵生成部 207は、生成した共有鍵 Kから共通鍵暗号用共有鍵 KSと MAC用 共有鍵 KHとを生成し (K=KS I I KH)、生成した共通鍵暗号用共有鍵 KSと MA C用共有鍵 KHとを共有鍵格納部 208に格納する(ステップ S40)。
[0124] 暗号通信装置 A10の KEM暗号文復号化部 106は、暗号通信装置 B20から送受 信部 102を介して、 KEM暗号文 KEMBを受信する(ステップ S45)。
KEM暗号文復号化部 106は、公開鍵復号アルゴリズム KemD、及び秘密鍵 KSA を用いて、受信した KEM暗号文 KEMBを復号ィ匕して、鍵データ KBを生成する(ス テツプ S 50)。
[0125] 暗号通信装置 A10の共有鍵生成部 107は、 KEM暗号文生成部 105にて生成さ れた鍵データ KAと、 KEM暗号文復号ィ匕部 106にて生成された鍵データ KBとを用 いて、共有鍵 K (=KA xor KB)を生成する(ステップ S55)。
共有鍵生成部 107は、生成した共有鍵 Kを用いて、共通鍵暗号用共有鍵 KSと M AC用共有鍵 KHとを生成し (K=KS I I KH)、生成した共通鍵暗号用共有鍵 KS と MAC用共有鍵 KHとを共有鍵格納部 108に格納する (ステップ S60)。
[0126] 暗号通信装置 A10のチャレンジデータ生成部 109は、チャレンジデータ nAを生成 し (ステップ S65)、生成したチャレンジデータ nAを暗号通信装置 B20へ送信する (ス テツプ S 70)。
暗号通信装置 B20のレスポンスデータ生成部 210は、暗号通信装置 A10からチヤ レンジデータ nAを受け取る(ステップ S75)。
[0127] 暗号通信装置 B20の MAC生成部 212は、共有鍵格納部 208に格納している MA C用共有鍵 KHと、予め記憶している鍵付ハッシュ関数 Hashとを用いて、チャレンジ データ nAに対する MAC値 HnA(=Hash (KH, nA) )を算出し、算出した MAC値 HnAをレスポンスデータ rBとする(ステップ S80)。
暗号通信装置 B20のチャレンジデータ生成部 209は、チャレンジデータ nBを生成 する(ステップ S 85)。 [0128] チャレンジデータ生成部 209はチャレンジデータ nBを、レスポンスデータ生成部 21 0はレスポンスデータ rBを、それぞれ暗号通信装置 A10へ送信する(ステップ S90)。 暗号通信装置 A10のレスポンスデータ生成部 110は、暗号通信装置 B20からチヤ レンジデータ nBとレスポンスデータ rBとを受け取る(ステップ S95)。
[0129] レスポンスデータ生成部 110は、レスポンスデータ rBと検証指示とをレスポンスデー タ検証部 111へ出力する。レスポンスデータ検証部 111は、レスポンスデータ生成部 110から検証指示とレスポンスデータ rBとを受け取ると、チャレンジデータ生成部 10 9にて一時的に記憶されて 、るチャレンジデータ nAを取得する。レスポンスデータ検 証部 111は、 MAC生成指示と、取得したチャレンジデータ nAとを MAC生成部 112 へ出力する。 MAC生成部 112は、共有鍵格納部 108に格納している MAC用共有 鍵 KHと、鍵付ハッシュ関数 Hashとを用いて、チャレンジデータ nAに対する MAC値 HnAを算出し、算出した MAC値 HnAをレスポンスデータ検証部 111へ出力する。 レスポンスデータ検証部 111は、 MAC生成部 112から MAC値 HnAを受け取ると、 MAC値 HnAとレスポンスデータ rBとが一致するか否かを判断する(ステップ S 100)
[0130] 一致しないと判断する場合には (ステップ S100における「NG」)、暗号通信に係る 処理は中止される。
一致すると判断する場合には (ステップ S100における「OK」)、レスポンスデータ生 成部 110は、レスポンスデータ生成指示をレスポンスデータ生成部 110へ出力する。 レスポンスデータ生成部 110は、レスポンスデータ検証部 111からレスポンスデータ 生成指示を受け取ると、 MAC生成指示と、一時的に記憶しているチャレンジデータ nBとを MAC生成部 112へ出力する。 MAC生成部 112は、レスポンスデータ検証部 111から MAC生成指示と、チャレンジデータ nBとを受け取ると、共有鍵格納部 208 に格納している MAC用共有鍵 KHと、鍵付ハッシュ関数 Hashとを用いて、チヤレン ジデータ nBに対する MAC値 HnB (=Hash (KH, nB) )を算出し、算出した MAC 値 HnBをレスポンスデータ rAとする(ステップ S 105)。
[0131] レスポンスデータ生成部 110は、レスポンスデータ rAを暗号通信装置 B20へ送信 する(ステップ S 110)。 暗号通信装置 B20のレスポンスデータ検証部 211は、暗号通信装置 A10からレス ポンスデータ rAを受け取る(ステップ S 115)。
レスポンスデータ検証部 211は、チャレンジデータ生成部 209にて一時的に記憶さ れているチャレンジデータ nBを取得する。レスポンスデータ検証部 211は、 MAC生 成指示と、取得したチャレンジデータ nBとを MAC生成部 212へ出力する。 MAC生 成部 212は、レスポンスデータ検証部 211から MAC生成指示と、チャレンジデータ n Bとを受け取ると、共有鍵格納部 208に格納している MAC用共有鍵 KHと、鍵付ハツ シュ関数 Hashとを用いて、チャレンジデータ nBに対する MAC値 HnBを算出し、算 出した MAC値 HnBをレスポンスデータ検証部 211へ出力する。レスポンスデータ検 証部 211は、 MAC生成部 212から MAC値 HnBを受け取ると、 MAC値 HnBとレス ポンスデータ rAとが一致するカゝ否かを判断する(ステップ S 120)。
[0132] 一致しないと判断する場合には (ステップ S120における「NG」)、暗号通信に係る 処理は中止される。
一致すると判断する場合には (ステップ S120における「OK」)、暗号通信に係る処 理は続行される。
暗号通信装置 A10の DEM暗号文生成部 115は、外部力も入出力部 101を介して 、暗号ィ匕対象データ DAを受け取る(ステップ S 125)。
[0133] 暗号通信装置 A10の共通鍵暗号ィ匕部 113は、共有鍵格納部 108に格納している 共通鍵暗号用共有鍵 KSと、共通鍵暗号アルゴリズムとを用いて、 DEM暗号文生成 部 115が受け取った暗号ィ匕対象データ DAを暗号ィ匕して、暗号化対象データ DAに 対する暗号化データ EDA(=Enc (KS, DA) )を生成する(ステップ S 130)。
暗号通信装置 A10の MAC生成部 112は、共有鍵格納部 108に格納して ヽる MA C用共有鍵 KHと鍵付ハッシュ関数 Hashとを用いて、 DEM暗号文生成部 115が受 け取った暗号化対象データ DAに対する MAC値 HDA ( = Hash(KH, DA) )を算 出する (ステップ S 135)。
[0134] DEM暗号文生成部 115は、共通鍵暗号化部 113にて生成された暗号化データ E DAと、 MAC生成部 112にて算出された MAC値 HDAとを連結して、 DEM暗号文 DEMA(=Enc (KS, DA) | | HDA)を生成する(ステップ S 140)。 DEM暗号文生成部 115は、生成した DEM暗号文 DEMAを、暗号通信装置 B20 へ送信する(ステップ S 145)。
[0135] 暗号通信装置 B20の DEM暗号文復号化部 216は、暗号通信装置 A10から DEM 暗号文 DEMAを受け取る(ステップ S 150)。
DEM暗号文復号化部 216は、受け取った DEM暗号文 DEMAを暗号化データ E DAと MAC値 HDAとに分離する(ステップ S155)。
暗号通信装置 B20の共通鍵復号化部 214は、共有鍵格納部 208に格納している 共通鍵暗号用共有鍵 KSと、共通鍵復号化アルゴリズムとを用いて、 DEM暗号文復 号ィ匕部 216が取得した暗号ィ匕データ EDAを復号ィ匕して、復号ィ匕データ DA,を生成 する(ステップ S 160)。
[0136] 暗号通信装置 B20の MAC生成部 212は、共有鍵格納部 208に格納している MA C用共有鍵 KHと、鍵付ハッシュ関数 Hashとを用いて、共通鍵復号ィ匕部 214にて生 成された復号化データ DA'に対する MAC値 HDA' ( = Hash (KH, DA' ) )を算出 する(ステップ S 165)。
DEM暗号文復号化部 216は、 MAC生成部 212にて算出された MAC値 HDA, ( = Hash (KH、 DB' ) )と、 DEM暗号文 DEMAから分離した HDAとを比較し、一致 する力否かを判断する (ステップ S 170)。
[0137] 一致しないと判断する場合には (ステップ S170における「NG」)、暗号通信に係る 処理は中止される。
一致すると判断する場合には (ステップ S170における「OK」)、 DEM暗号文復号 化部 216は、復号ィ匕データ DA'、つまり暗号ィ匕対象データ DAを、入出力部 201を 介して外部へ出力する (ステップ S175)。
[0138] 暗号通信装置 B20の DEM暗号文生成部 215は、外部から入出力部 201を介して 、暗号ィ匕対象データ DBを受け取る (ステップ S 180)。
暗号通信装置 B20の共通鍵暗号化部 213は、共有鍵格納部 208に格納している 共通鍵暗号用共有鍵 KSと、共通鍵暗号アルゴリズムとを用いて、 DEM暗号文生成 部 215が受け取った暗号ィ匕対象データ DBを暗号ィ匕して、暗号化対象データ DBに 対する暗号化データ EDB (=Enc (KS, DA) )を生成する(ステップ S 185)。 [0139] 暗号通信装置 B20の MAC生成部 212は、共有鍵格納部 208に格納している MA C用共有鍵 KHと、鍵付ハッシュ関数 Hashとを用いて、 DEM暗号文生成部 215が 受け取った暗号化対象データ DBに対する MAC値 HDB ( = Hash(KH, DB) )を算 出する (ステップ S 190)。
DEM暗号文生成部 215は、共通鍵暗号ィ匕部 213にて生成された暗号ィ匕データ E DBと、 MAC生成部 212にて算出された MAC値 HDBとを連結して、 DEM暗号文 DEMB (=Enc (KS, DB) | | HDB)を生成する(ステップ SI 95)。
[0140] DEM暗号文生成部 215は、生成した DEM暗号文 DEMBを暗号通信装置 A10 へ送信する(ステップ S 200)。
暗号通信装置 A10の DEM暗号文復号化部 116は、暗号通信装置 B20から DEM 暗号文 DEMBを受け取る(ステップ S205)。
DEM暗号文復号化部 116は、受け取った DEM暗号文 DEMB ( = EDB | | HD B)を暗号化データ EDBと MAC値 HDBとに分離する(ステップ S210)。
[0141] 暗号通信装置 A10の共通鍵復号ィ匕部 114は、共有鍵格納部 108に格納している 共通鍵暗号用共有鍵 KSと共通鍵復号化アルゴリズムとを用いて、 DEM暗号文復号 化部 116が取得した暗号ィ匕データ EDBを復号ィ匕して、復号化データ DB'を生成す る(ステップ S 215)。
暗号通信装置 A10の MAC生成部 112は、共有鍵格納部 108に格納して ヽる MA C用共有鍵 KHと、鍵付ハッシュ関数 Hashとを用いて、共通鍵復号化部 114にて生 成された復号化データ DB'に対する MAC値 HDB' ( = Hash (KH, DB' ) )を算出 する(ステップ S 220)。
[0142] DEM暗号文復号化部 116は、 MAC生成部 112にて算出された MAC値 HDB'と 、 DEM暗号文 DEMB力も分離した HDBとを比較し、一致する力否かを判断する (ス テツプ S225)。
一致しないと判断する場合には (ステップ S225における「NG」)、暗号通信に係る 処理は中止される。
[0143] 一致すると判断する場合には (ステップ S230における「OK」)、 DEM暗号文復号 化部 116は、復号化データ DB'、つまり暗号化対象データ DBを、入出力部 101を 介して外部へ出力する (ステップ S230)。
ここで、鍵共有フェーズはステップ S5からステップ S60までの処理に、チャレンジ' レスポンス認証フェーズはステップ S65からステップ S 120までの処理に、データ暗号 通信フェーズはステップ S 125からステップ S230までの処理に、それぞれ相当する。
[0144] 1. 5 第 1の実施の形態の効果
第 1の実施の形態では、鍵カプセル化メカニズム (KEM)と、 DEM暗号文を送信 する処理に、 MAC用共有鍵を用いたチャレンジ 'レスポンス認証を実行する処理を 追加することで、共有鍵の漏洩の困難性だけでなぐなりすまし攻撃に対する安全性 を保証できる。
[0145] 以下に、それを詳細に説明する。
鍵カプセル化メカニズムで共有した鍵を用いて、データに対して、暗号化した暗号 化データとそのデータに対する鍵付ハッシュ関数値を送信するような方式であれば、 データ暗号化方法として、困難な数学上の問題を根拠にして共有鍵の漏洩や暗号 文データに対する平文データの漏洩に関する安全性証明を可能であることが保証さ れている。
[0146] なお、これについては、著者 Victor Shoupにより" A proposal for an ISO standard for public key encryption (version 2. 丄) 'に己載されているの で、ここでの説明は省略する。
本方式は、同様に、鍵カプセル化メカニズムで共有した鍵を用いて、データに対し て、暗号ィ匕した暗号ィ匕データとそのデータに対する鍵付ハッシュ値を送信して 、るた め、同様の安全性が保証できる。
[0147] また、暗号通信装置 A10にお!/、て、正し!/、秘密鍵 KSAを保持して!/、なければ、 K EM暗号文 KEMBを復号化して鍵データ KBを取得できな!/ヽため、暗号通信装置 B 20と共有した共通鍵暗号用共有鍵 KS及び MAC用共有鍵 KHを得られな ゝ。その ため、ステップ S215にて暗号データ EDBの復号化ができない。また、暗号通信装置 B20も同様に、正しい秘密鍵 KSBを保持していなければ、 KEM暗号文 KEMAを復 号ィ匕して鍵データ KAを取得できな 、ため、暗号通信装置 A10と共有した共通鍵暗 号用共有鍵 KS及び MAC用共有鍵 KHを得られない。そのため、ステップ S 160〖こ て暗号化データ EDAの復号化ができない。鍵データ KAまたは、鍵データ KBを正し く取得するためには、正しい秘密鍵 KSAまたは、 KSBが必要である。
[0148] したがって、両方の機器から KEM暗号文 KEMB、 KEMAを送りあうことにより、双 方向の認証が実現できて 、る。
さらに、第 1の実施の形態では、 MAC用共有鍵 KHを用いたチャレンジ 'レスポンス 認証を実行している。正しい暗号通信装置であると判定されるためには、正しいレス ポンスデータを送信する必要がある。第 1の実施の形態では、レスポンスデータを生 成するために、 DEM暗号文生成部で使用する MAC生成部を使用する。 DEM暗号 文生成部で使用する MAC生成部では、 MAC用共有鍵 KHを知らない限り、正しい レスポンスデータを生成できる確率は非常に低 、。
[0149] したがって、正し!/、レスポンスデータを生成できる場合、すなわち、認証を通過して なりすまし攻撃が可能である場合、攻撃者は MAC用共有鍵 KHを知っていることに なる。しかし、 MAC用共有鍵 KHに限らず、 KEMを用いて生成した各共有鍵の漏 洩は困難 (共有鍵の漏洩に対して安全)であることが証明可能であるため、なりすまし 攻撃が困難であることが証明可能となる。
[0150] 以上より、鍵漏洩や平文漏洩の安全性だけでなぐなりすまし攻撃に対する安全性 を保証できる認証鍵共有を実現でき、その価値は大きい。
1. 6 暗号通信システム 1の変形例
上記実施の形態では、暗号通信システム 1は 2台の暗号通信装置力 構成されると したが、これに限定されない。
[0151] 本発明における暗号通信システムは、 1台のコンピュータ装置内において、耐タン パ性を有する領域 Aと他の領域 Bとにお 、てデータを送受信 (入出力)する際に暗号 通信を行う 2つのプログラム力もなるとしてもよい。これら 2つのプログラムは、コンビュ ータ装置によって実行され、実行された 2つのプログラム間で、本発明の暗号通信が 行われる。
ここで、暗号通信を行う 2つのプログラムをプログラム A及び Bとし、プログラム Aは領 域 Aに存在し、プログラム Bは領域 Bに存在するものとする。
[0152] プログラム A及びプログラム Bのそれぞれは、入出力ステップ、送受信部ステップ、 KEM暗号文生成ステップ、 KEM暗号文復号化ステップ、共有鍵生成ステップ、チ ャレンジデータ生成ステップ、レスポンスデータ生成ステップ、レスポンスデータ検証 ステップ、 MAC生成ステップ、共通鍵暗号化ステップ、共有鍵復号化ステップ、 DE M暗号文生成ステップ、及び DEM暗号文復号化ステップを含んで ヽる。
[0153] また、領域 A及び Bは、上記にて示す暗号通信装置と同様に、通信相手の公開鍵 を格納している公開鍵格納部、自身の秘密鍵を格納している秘密鍵格納部、及び共 通鍵暗号用共有鍵 KSと MAC用共有鍵 KHとを格納する領域を有して ヽる共有鍵 格納部を有している。ここで、領域 Aにおける各格納部の内容は、領域 Aが耐タンパ 性を有して 、るので外部へは漏洩されな 、ようになって 、るが、領域 Bにおける各格 納部の内容についても外部へは漏洩されない仕組み (例えば、耐タンパ性)になって いるものとする。
[0154] 各ステップが上記の実施の形態にて示す各構成要素と同様の動作を行うことで、上 記と同様に、鍵共有フェーズ、チャレンジ 'レスポンス認証フェーズ及びデータ暗号 通信フェーズが実現されるので、各ステップの動作についての説明は省略する。 なお、ここでは、本発明を 2つのプログラム間における暗号通信に適用した力 これ に限定されない。
[0155] 本発明は、暗号通信装置とプログラムとの間における暗号通信に適用してもよい。
具体的には、暗号通信装置を DVD装置とし、プログラムが DVDに記録されていると した場合における暗号通信に適用してもよい。なお、プログラムは、 DVD装置内にお ける実行手段にて実行され、 DVD装置に具備された構成要素 (例えば、暗号通信 装置 A10と同様の構成要素)と、実行されたプログラム間で、本発明の暗号通信が行 われる。
[0156] 1. 7 その他の変形例
上記に説明した実施の形態は、本発明の実施の一例であり、本発明はこの実施の 形態に何ら限定されるものではなぐその旨を逸脱しな 、範囲にぉ 、て種々なる態様 で実施し得るものである。例えば、以下のような場合も本発明に含まれる。
(1)上記の実施の形態において、暗号通信装置 A10及び暗号通信装置 B20のそ れぞれからデータを送受信したが、これに限定されない。 [0157] 1の暗号通信装置 (例えば、暗号通信装置 A10)のみがデータを送信し、他の暗号 通信装置 (例えば、暗号通信装置 B20)のみがデータを受信としてもよ!、。
(2)上記の実施の形態にぉ 、て、鍵共有フェーズとチャレンジ 'レスポンス認証フエ 一ズの間や、チャレンジ 'レスポンス認証フェーズとデータ暗号通信フェーズの間に は、その他の何らかの処理、例えば、機器の機能 (音楽視聴機能、映画視聴機能や 放送受信機能など)の確認処理が途中に含まれてもよい。また、各フェーズの内部の 処理ステップの順番は、上記で示したものに限らな 、。
[0158] (3)上記の実施の形態にぉ 、て、チャレンジ 'レスポンス認証フェーズでは、各暗号 通信装置は、ランダムに生成したチャレンジデータを通信相手の装置へ送信して ヽ るが、これに限定されない。
各暗号通信装置は、通信相手からの KEM暗号文から求められる鍵データ(暗号 通信装置 A10であれば鍵データ KB、暗号通信装置 B20であれば鍵データ KA)を チャレンジデータとしてもよ 、。
[0159] そうすることで、チャレンジデータを送信する処理を削減できる。この時、相手先で は、自身が生成した鍵データとチャレンジデータとして送信された鍵データとがー致 するか否かを確認することでチャレンジ ·レスポンス認証フェーズと同様の認証が行え る。
例えば、暗号通信装置 A10は、暗号通信装置 B20からチャレンジデータ rB (=Ha sh (KH, KA) )を受け取ると、自身が生成した KAに対する MAC値を算出し、算出 した MAC値とチャレンジデータ rBとが一致する力否かを判断することにより、通信相 手の認証を行う。
[0160] また、暗号通信装置 B20は、暗号通信装置 A10からチャレンジデータ rA (=Hash
(KH, KB) )を受け取ると、自身が生成した KBに対する MAC値を算出し、算出した MAC値とチャレンジデータ rAとが一致する力否かを判断することにより、通信相手 の認証を行う。
(4)上記実施の形態において、各暗号通信装置の共有鍵生成部は、共有鍵 Kを生 成し、生成した共有鍵 Kの一部を共通鍵暗号用共有鍵 KSとし、それ以外の部分を MAC用共有鍵 KHとした力 これに限定されない。 [0161] 各暗号通信装置の共有鍵生成部は、生成した共有鍵 Kそのものを、共通鍵暗号用 共有鍵 KS及び MAC用共有鍵 KHとしてもよい。つまり、 K=KS=KHである。
(5)上記の実施の形態において、各暗号通信装置の共有鍵生成部は、共有鍵 Kを 生成する際に鍵 KAと鍵 KBの排他的論理和を用いて生成した力 これに限定されな い。
共有鍵生成部は、 MAC生成部で使用しているハッシュ関数 Hashを使用して、共 有鍵 Kを生成してもよい。
[0162] 例えば、各暗号通信装置の共有鍵生成部は、 Hash(KA, KB)を共有鍵 Kとしても よいし、 Hash (KB, KA)を共有鍵 Kとしてもよい。
また、ノ、ッシュ関数 Hashを上記実施の形態にて示す SHA1とする場合、各暗号通 信装置の共有鍵生成部は、 SHA1 (KA I I KB)を共有鍵 Kとしてもよいし、 SHA1 (KB I I KA)を共有鍵 Kとしてもよい。
[0163] これにより、共有鍵生成における安全性が向上する。
(6)上記の実施の形態において、各暗号通信装置は、通信相手の公開鍵を予め、 公開鍵格納部に格納して ヽるが、これに限定されな ヽ。
暗号通信装置は、証明書センタが発行した公開鍵証明書 (公開鍵に対する証明書 センタの署名と、公開鍵そのものとを含む)を、通信相手に送信するとしてもよい。例 えば、暗号通信装置 A10は通信相手である暗号通信装置 B20から公開鍵 KPBに 対する公開鍵証明書を受け取り、暗号通信装置 B20は通信相手である暗号通信装 置 A10から公開鍵 KPAに対する公開鍵証明書を受け取る。
[0164] その場合、通信相手である暗号通信装置は、証明書センタの公開鍵を有しており、 鍵共有フェーズの前に、互いの公開鍵証明書を証明書センタの公開鍵を用いて検 証し、正しい証明書と判定したときに公開鍵格納部に、公開鍵証明書に含まれる公 開鍵を格納する。
また、各暗号通信装置は、公開鍵証明書を証明書センタ力 受け取るとしてもよい
(7)上記の実施の形態において、チャレンジ 'レスポンス認証を行う際に、鍵付ハツ シュ値を計算する方法を用いたが、これに限定されない。 [0165] 例えば、チャレンジデータを MAC用共有鍵 KHで暗号化して生成したレスポンス データをやりとりするとしてもよ 、。
この場合における検証は、レスポンスデータの暗号ィ匕を解 、た結果と送信元が保 持して 、るチャレンジデータとを比較してもよ 、し、送信元が保持して 、るチャレンジ データを同様の方法で暗号ィ匕した結果とレスポンスデータとを比較してもよい。
[0166] また、認証方法もチャレンジ ·レスポンスに限定されるものではない。 KEMにより共 有した鍵データが認証結果に影響するような認証方法であれば、どのようなものでも 構わない。
また、チャレンジ 'レスポンス認証においても、上記実施の形態にて示す認証方法 に限定されない。上記にて示す方法とは異なる方法によるチャレンジ ·レスポンス認 証であってもよい。
[0167] 以下、その一例について説明する。なお、ここでは、暗号通信装置 A10が暗号通 信装置 B20を認証する場合について、図 5にて示すステップ S65から S100までの変 更点を中心に説明する。
暗号通信装置 A10はステップ S65を実行後、生成したチャレンジデータ nAを暗号 通信装置 A10が有する MAC用共有鍵 KHにて暗号化して暗号化データ Enc (KH , nA)を生成する。
[0168] 暗号通信装置 A10は、ステップ S70において、生成した暗号化データ Enc (KH, n A)を暗号化通信装置 B20へ送信する。
暗号通信装置 B20は、ステップ S75にて、暗号化データ Enc (KH, nA)を受信す る。
暗号通信装置 B20は、ステップ S80にて、受信した暗号化データ Enc (KH, nA) を自身が有する MAC用共有鍵 KHにて復号し、復号データ nA'を生成し、生成した 復号データ nA'をレスポンスデータ rB (=ηΑ' )とする。
[0169] 暗号通信装置 Β20は、ステップ S85、 S 90を実行する。
暗号ィ匕通信装置 A10は、ステップ S95の実行後、受け取ったレスポンスデータと、 自身が記憶して 、るチャレンジデータ nAを比較して暗号通信装置 B20の正当性を 判断する。 なお、ステップ S85において、暗号通信装置 B20は、生成したチャレンジデータ nB を暗号通信装置 B20が有する MAC用共有鍵 KHにて暗号化して暗号化データ Enc (KH, nB)を生成してもよい。このとき、暗号通信装置 A10は、ステップ S105にて、 受信した暗号ィ匕データ Enc (KH, nB)を自身が有する MAC用共有鍵 KHにて復号 し、復号データ nB'を生成し、生成した復号データ nB'をレスポンスデータ rA (=nB ' )とする。
[0170] (8)上記の実施の形態において、双方向でチャレンジ 'レスポンス認証を行ってい るが、これに限定されない。
片方向のチャレンジ 'レスポンス認証であってもよい。その場合においても、被認証 者のなりすまし攻撃に対する安全性証明が可能である。
なお、この場合には、 MAC用共有鍵 KHを作成する必要はなぐ鍵データ KAや鍵 データ KBを直接用いて認証を行うとしてもよい。つまり、片方向の認証であるので、 KEM暗号文の受信先が正 U、秘密鍵を持って ヽれば、鍵データ KA若しくは鍵デ ータ KBを取得できるので、取得した鍵データを用いて認証を行えばよ!、。
[0171] この場合、例えば、鍵データ KAを共有した場合に、暗号通信装置 B20から暗号通 信装置 A10へ片方向認証を行うことにより、簡易な相互認証を行うこともできる。すな わち、鍵データを共有できていることから、暗号通信装置 B20は正当な秘密鍵 KSB を持っていることが確認できるので、暗号通信装置 B20が正当なものであることが確 認できる。その後、チャレンジ 'レスポンス認証によって、暗号通信装置 A10が鍵デ ータ KAを共有して!/、る装置であるか否かが確認されるので、暗号通信装置 A10の 正当性を確認できる。
[0172] また、 MAC用共有鍵 KHを生成した上で、これを用いて片方向の認証を行っても よいし、上記の場合でも暗号通信装置 A10から暗号通信装置 B20への片方向認証 を行ってもょ 、ことは言うまでもな 、。
(9)上記の実施の形態において、暗号通信装置 B20は IC機能付のメモリカードで あるとしてもよ 、。
[0173] IC機能付のメモリカードの構成は、暗号通信装置 B20と同様の構成要素で実現で きるので、ここでの説明は省略する。 なお、本発明において、 IC機能付のメモリカードは、暗号通信装置の概念に含める ものとする。つまり、本発明は、 2つの IC機能付のメモリカード間における暗号通信に 適用してもよいし、上記にて示す暗号通信装置 A10と IC機能付のメモリカード間に おける暗号通信に適用してもょ 、。
[0174] (10)上記の実施の形態において、共有鍵生成部 107及び 207は、共有鍵データ Kに対して K=KS I I KHを満たすように共通鍵暗号用共有鍵 KSと MAC用共有 鍵 KHとを取得するとした力 これに限定されない。
共有鍵生成部 107及び 207は、共有鍵データ Kに対して K=KH | | KSを満たす ように共通鍵暗号用共有鍵 KSと MAC用共有鍵 KHとを取得してもよ ヽ。
[0175] 例えば、共有鍵データ Kに対して別々の変換を施して得られる 2つの値をそれぞれ 共通鍵暗号用共有鍵 KSと MAC用共有鍵 KHとしてもよ ヽ。
つまり、共通鍵暗号用共有鍵 KSと MAC用共有鍵 KHのそれぞれは、共有鍵デー タ Kに依存して決まる値であればょ 、。
(11)上記実施の形態において、暗号通信装置 B20は、レスポンスデータ rBとチヤ レンジデータ nBとを一緒に、暗号通信装置 A10へ送信した力 これに限定されない
[0176] レスポンスデータ rBとチャレンジデータ nBとを別々のタイミングで暗号通信装置 A1 0へ送信してもよい。この場合、暗号通信装置 A10は、レスポンスデータ rBとチヤレン ジデータ nBとを別々のタイミングで受信してもよ!/、。
(12)上記の各装置は、具体的には、マイクロプロセッサ、 ROM、 RAM、ハードデ イスクユニット、ディスプレイユニット、キーボード、マウスなどから構成されるコンピュー タシステムである。前記 RAMまたはハードディスクユニットには、コンピュータプロダラ ムが記憶されている。前記マイクロプロセッサ力 前記コンピュータプログラムにしたが つて動作することにより、各装置は、その機能を達成する。ここでコンピュータプロダラ ムは、所定の機能を達成するために、コンピュータに対する指令を示す命令コードが 複数個組み合わされて構成されたものである。
[0177] (13)上記の各装置を構成する構成要素の一部または全部は、 1個のシステム LSI
(Large Scale Integration:大規模集積回路)から構成されているとしてもよい。 システム LSIは、複数の構成部を 1個のチップ上に集積して製造された超多機能 LSI であり、具体的には、マイクロプロセッサ、 ROM、 RAMなどを含んで構成されるコン ピュータシステムである。前記 RAMには、コンピュータプログラムが記憶されている。 前記マイクロプロセッサ力 前記コンピュータプログラムにしたがって動作することによ り、システム LSIは、その機能を達成する。
[0178] また、上記の各装置を構成する構成要素の各部は、個別に 1チップィ匕されていても 良!、し、一部又は全てを含むように 1チップィ匕されてもょ 、。
また、ここでは、システム LSIとした力 集積度の違いにより、 IC、 LSI,スーパー LS I、ウルトラ LSIと呼称されることもある。また、集積回路化の手法は LSIに限るもので はなぐ専用回路又は汎用プロセッサで実現してもよい。 LSI製造後に、プログラムす ることが可能な FPGA (Field Programmable Gate Array)や、 LSI内部の回路 セルの接続や設定を再構成可能なリコンフィギユラブル'プロセッサーを利用しても良 い。
[0179] さらには、半導体技術の進歩又は派生する別技術により LSIに置き換わる集積回 路化の技術が登場すれば、当然、その技術を用いて機能ブロックの集積ィ匕を行って もよい。バイオ技術の適用等が可能性としてありえる。
(14)上記の各装置を構成する構成要素の一部または全部は、各装置に脱着可能 な ICカードまたは単体のモジュール力も構成されて 、るとしてもよ 、。前記 ICカード または前記モジュールは、マイクロプロセッサ、 ROM, RAMなどから構成されるコン ピュータシステムである。前記 ICカードまたは前記モジュールは、上記の超多機能 L SIを含むとしてもよい。マイクロプロセッサが、コンピュータプログラムにしたがって動 作することにより、前記 ICカードまたは前記モジュールは、その機能を達成する。この ICカードまたはこのモジュールは、耐タンパ性を有するとしてもよ!/、。
[0180] (15)本発明は、上記に示す方法であるとしてもよい。また、これらの方法をコンビュ ータにより実現するコンピュータプログラムであるとしてもよいし、前記コンピュータプ ログラム力 なるディジタル信号であるとしてもよい。
(16)また、本発明は、前記コンピュータプログラムまたは前記ディジタル信号をコン ピュータ読み取り可能な記録媒体、例えば、フレキシブルディスク、ハードディスク、 C D—ROMゝ MO、 DVDゝ DVD— ROMゝ DVD— RAMゝ BD (Blu—ray Disc)、半 導体メモリなどに記録したものとしてもよい。また、これらの記録媒体に記録されてい る前記ディジタル信号であるとしてもょ ヽ。
[0181] (17)また、本発明は、前記コンピュータプログラムまたは前記ディジタル信号を、電 気通信回線、無線または有線通信回線、インターネットを代表とするネットワーク、デ ータ放送等を経由して伝送するものとしてもよい。
(18)また、本発明は、マイクロプロセッサとメモリを備えたコンピュータシステムであ つて、前記メモリは、上記コンピュータプログラムを記憶しており、前記マイクロプロセ ッサは、前記コンピュータプログラムにしたがって動作するとしてもよい。
[0182] ( 19)また、前記プログラムまたは前記ディジタル信号を前記記録媒体に記録して 移送することにより、または前記プログラムまたは前記ディジタル信号を前記ネットヮ 一ク等を経由して移送すること〖こより、独立した他のコンピュータシステムにより実施 するとしてちょい。
(20)上記実施の形態及び上記変形例をそれぞれ組み合わせるとしてもよ!/、。
[0183] 1. 8 まとめ
(1)本発明は、第 1の暗号通信装置と第 2の暗号通信装置を備え、前記第 1の暗号 通信装置と前記第 2の暗号通信装置との間で鍵配送を行い、共有した鍵を用いて前 記第 1の暗号通信装置から前記第 2の暗号通信装置へコンテンツデータを送信する 暗号通信システムであって、前記第 1の暗号通信装置は、前記コンテンツデータの入 力を受け付ける入力部と、前記第 2の暗号通信装置へデータを送信し、前記第 2の 暗号通信装置からデータ受信する第 1の送受信部と、第 1の鍵と第 1の鍵を暗号化し た第 1の鍵暗号文を生成する第 1の鍵暗号文生成部と、第 2の鍵暗号文を復号化し て第 1の復号化鍵を生成する第 1の鍵暗号文復号化部と、前記第 1の鍵と前記第 1の 復号化鍵に基づき第 1の共有鍵を生成する第 1の共有鍵生成部と、前記第 1の共有 鍵を格納する第 1の共有鍵格納部と、第 1のチャレンジデータを生成する第 1のチヤ レンジデータ生成部と、第 2のチャレンジデータに対する第 1のレスポンスデータを生 成する第 1のレスポンスデータ生成部と、第 2のレスポンスデータを検証する第 1のレ スポンスデータ検証部と、前記コンテンツデータを暗号ィ匕して暗号ィ匕コンテンツデー タを生成するデータ暗号文生成部とを備え、前記第 2の暗号通信装置は、復号化コ ンテンッデータを出力する出力部と、前記第 1の暗号通信装置へデータを送信し、前 記第 1の暗号通信装置からデータ受信する第 2の送受信部と、第 2の鍵と第 2の鍵を 暗号化した前記第 2の鍵暗号文を生成する第 2の鍵暗号文生成部と、前記第 1の鍵 暗号文を復号化して第 2の復号化鍵を生成する第 2の鍵暗号文復号化部と、前記第 2の鍵と前記第 2の復号化鍵に基づき第 2の共有鍵を生成する第 2の共有鍵生成部 と、前記第 2の共有鍵を格納する第 2の共有鍵格納部と、前記第 2のチャレンジデー タを生成する第 2のチャレンジデータ生成部と、前記第 1のチャレンジデータに対する 前記第 2のレスポンスデータを生成する第 2のレスポンスデータ生成部と、前記第 1の レスポンスデータを検証する第 2のレスポンスデータ検証部と、前記暗号化コンテンツ データを復号ィヒして前記復号ィヒコンテンツデータを生成するデータ暗号文復号ィ匕部 とを備え、前記第 1のレスポンスデータ生成部は、前記第 1の共有鍵の全部または一 部を鍵とした鍵付ハッシュ値を、レスポンスデータ用鍵付ハッシュ関数を使用して生 成して前記第 1のレスポンスデータとし、前記第 1のレスポンスデータ検証部は、前記 第 1の共有鍵の全部または一部を鍵とした鍵付ハッシュ値を、前記レスポンスデータ 用鍵付ハッシュ関数を使用して生成して前記第 2のレスポンスデータの検証に用い、 前記データ暗号文生成部は、前記暗号化コンテンツデータを前記第 1の共有鍵の全 部または一部を鍵とした鍵付ハッシュ値、データ暗号文用鍵付ハッシュ関数を使用し て生成し、前記第 2のレスポンスデータ生成部は、前記第 2の共有鍵の全部または一 部を鍵とした鍵付ハッシュ値を、レスポンスデータ用鍵付ハッシュ関数を使用して生 成して前記第 2のレスポンスデータとし、前記第 2のレスポンスデータ検証部は、前記 第 2の共有鍵の全部または一部を鍵とした鍵付ハッシュ値を、前記レスポンスデータ 用鍵付ハッシュ関数を使用して生成して前記第 1のレスポンスデータの検証に用い、 前記データ暗号文復号化部は、前記第 2の共有鍵の全部または一部を鍵とした鍵付 ハッシュ値を、前記データ暗号文用鍵付ハッシュ関数を使用して生成することを特徴 とする。
(2)上記(1)にお 、て、前記レスポンスデータ用鍵付ハッシュ関数と前記データ暗 号文用鍵付ハッシュ関数は、同一であるとしてもよい。 (3)上記(1)において、前記第 1の鍵暗号文及び前記第 2の鍵暗号文は、鍵カプセ ル化メカニズムを用いて生成するとしてもよ 、。
(4)上記(1)から(3)の何れかにおいて、前記第 1の共有鍵生成部は、前記第 1の 鍵と前記第 1の復号化鍵の排他的論理和を前記第 1の共有鍵として出力し、前記第 2の共有鍵生成部は、前記第 2の鍵と前記第 2の復号化鍵の排他的論理和を前記第 2の共有鍵として出力するとしてもよ 、。
[0185] (5)上記(1)から(3)の何れかにおいて、前記第 1の共有鍵生成部は、前記第 1の 鍵と前記第 1の復号ィ匕鍵をビット連結したものに対して、共有鍵を生成するハッシュ 関数である共有鍵生成ハッシュ関数を用いて計算したハッシュ値を前記第 1の共有 鍵として出力し、前記第 2の共有鍵生成部は、前記第 2の会議と前記第 2の復号化鍵 をビット連結したものに対して、前記共有鍵生成ハッシュ関数を用いて計算したハツ シュ値を前記第 2の共有鍵として出力するとしてもよい。
[0186] (6)上記(5)にお 、て、前記レスポンスデータ用鍵付ハッシュ関数と前記データ暗 号文用鍵付ハッシュ関数は、前記共有鍵生成ハッシュ関数に基づいているとしてもよ い。
(7)上記(1)から(6)の何れかにおいて、前記第 1の暗号通信装置は、第 1のチヤレ ンジデータ生成部を備えず、前記第 1のチャレンジデータを前記第 1の鍵とし、前記 第 2の暗号通信装置は、第 2のチャレンジデータ生成部を備えず、前記第 2のチヤレ ンジデータを前記第 2の鍵とするとしてもよ 、。
[0187] (8)また、本発明は、コンテンツ送信装置とコンテンツ受信装置を備え、前記コンテ ンッ送信装置と前記コンテンツ受信装置との間で鍵配送を行 ヽ、共有した鍵を用い て暗号ィ匕通信を行う暗号通信システムにおけるコンテンツ送信装置であって、前記コ ンテンッデータの入力を受け付ける入力部と、前記コンテンツ受信装置へデータを送 信し、前記コンテンツ受信装置力 データを受信する送受信部と、第 1の鍵と第 1の 鍵を暗号化した第 1の鍵暗号文を生成する第 1の鍵暗号文生成部と、前記コンテンッ 受信装置力 送信される第 2の鍵暗号文を復号ィ匕して第 1の復号ィ匕鍵を生成する第 1の鍵暗号文復号化部と、前記第 1の鍵と前記第 1の復号化鍵に基づき第 1の共有 鍵を生成する共有鍵生成部と、前記第 1の共有鍵を格納する共有鍵格納部と、第 1 のチャレンジデータを生成するチャレンジデータ生成部と、前記コンテンツ受信装置 力 送信された第 2のチャレンジデータに対する第 1のレスポンスデータを生成するレ スポンスデータ生成部と、前記コンテンツ受信装置力 送信される第 2のレスポンスデ ータを検証するレスポンスデータ検証部と、前記コンテンツデータを暗号化して暗号 化コンテンツデータを生成するデータ暗号文生成部とを備え、前記レスポンスデータ 生成部は、前記第 1の共有鍵の全部または一部を鍵とした鍵付ハッシュ値を、レスポ ンスデータ用鍵付ハッシュ関数を使用して生成して前記第 1のレスポンスデータとし、 前記レスポンスデータ検証部は、前記第 1の共有鍵の全部または一部を鍵とした鍵 付ハッシュ値を、前記レスポンスデータ用鍵付ハッシュ関数を使用して生成して前記 第 2のレスポンスデータの検証に用い、 前記データ暗号文生成部は、前記第 1の共 有鍵の全部または一部を鍵とした鍵付ハッシュ値を、データ暗号文用鍵付ハッシュ 関数を使用して生成することを特徴とする。
[0188] (9)上記(8)において、前記第 1の鍵暗号文及び前記第 2の鍵暗号文は、鍵カプセ ル化メカニズムを用いて生成するとしてもよ 、。
(10)上記(9)において、前記レスポンスデータ用鍵付ハッシュ関数と前記データ暗 号文用鍵付ハッシュ関数とは、前記共有鍵生成ハッシュ関数に基づいているとしても よい。
[0189] (11)また、本発明は、コンテンツ送信装置とコンテンツ受信装置を備え、前記コン テンッ送信装置と前記コンテンツ受信装置との間で鍵配送を行 ヽ、共有した鍵を用 Vヽて暗号ィ匕通信を行う暗号通信システムにおけるコンテンツ受信装置であって、復 号ィ匕コンテンツデータを出力する出力部と、前記コンテンツ送信装置へデータを送 信し、前記コンテンツ送信装置力 データ受信する送受信部と、第 2の鍵と第 2の鍵 を暗号化した第 2の鍵暗号文を生成する第 2の鍵暗号文生成部と、前記コンテンツ送 信装置力 送信される第 1の鍵暗号文を復号ィ匕して第 2の復号ィ匕鍵を生成する第 2 の鍵暗号文復号化部と、前記第 2の鍵と前記第 2の復号化鍵に基づき第 2の共有鍵 を生成する共有鍵生成部と、前記第 2の共有鍵を格納する共有鍵格納部と、第 2の チャレンジデータを生成するチャレンジデータ生成部と、前記コンテンツ送信装置か ら送信される第 1のチャレンジデータに対する前記第 2のレスポンスデータを生成す るレスポンスデータ生成部と、前記コンテンツ送信装置から送信される前記第 1のレス ポンスデータを検証するレスポンスデータ検証部と、前記コンテンツ送信装置から送 信される暗号ィ匕コンテンツデータを復号ィ匕して前記復号ィ匕コンテンツデータを生成 するデータ暗号文復号化部とを備え、 前記レスポンスデータ生成部は、前記第 2の 共有鍵の全部または一部を鍵とした鍵付ハッシュ値を、レスポンスデータ用鍵付ハツ シュ関数を使用して生成して前記第 2のレスポンスデータとし、前記レスポンスデータ 検証部は、前記第 2の共有鍵の全部または一部を鍵とした鍵付ハッシュ値を、前記レ スポンスデータ用鍵付ハッシュ関数を使用して生成して前記第 1のレスポンスデータ の検証に用い、前記データ暗号文復号化部は、前記第 2の共有鍵の全部または一 部を鍵とした鍵付ハッシュ値を、データ暗号文用鍵付ハッシュ関数を使用して生成す ることを特徴とする。
[0190] (12)上記(11)において、前記第 1の鍵暗号文及び前記第 2の鍵暗号文は、鍵力 プセル化メカニズムを用いて生成するとしてもよ 、。
(13)上記(11)、(12)の何れかにおいて、前記レスポンスデータ用鍵付ハッシュ関 数と前記データ暗号文用鍵付ハッシュ関数は、前記共有鍵生成ハッシュ関数に基づ いているとしてもよい。
[0191] (14)これらの構成によると、鍵カプセル化メカニズムを使用した鍵共有の後に、共 有した鍵を用いたチャレンジ 'レスポンス認証を追加することにより、なりすまし攻撃の 安全性を保証できるため、その価値は大きい。
産業上の利用可能性
[0192] 本発明を構成する各装置、各方法及びコンピュータプログラムは、情報を安全かつ 確実に扱う必要があるあらゆる産業において、経営的に、また継続的及び反復的に 使用することができる。
また、本発明を構成する各装置、各方法及び各コンピュータプログラムは、電器機 器製造産業において、経営的に、また継続的及び反復的に、製造し、販売すること ができる。

Claims

請求の範囲
[1] 通信相手の外部装置と共有した鍵を用いて通信対象データの秘密通信を行う通信 装置であって、
第三者に知られることなく前記外部装置との間で安全性証明のなされた暗号方式 を用いて共有すべき共有鍵を生成する鍵生成手段と、
前記外部装置との間で共有され、前記共有鍵に依存する鍵依存関数を用いた認 証を行うことにより、前記外部装置が正当であるか否かを判断する判断手段と、 前記判断手段にて前記外部装置が正当であると判断される場合に、通信対象デー タの秘密通信の際に、前記通信対象データの正当性検証のために前記通信対象デ ータを用い前記共有鍵に依存する前記鍵依存関数と同一の関数を用いて検証用デ ータを生成するデータ生成手段と
を備えることを特徴とする通信装置。
[2] 前記鍵生成手段は、
前記第 1の鍵データを生成し、前記第 1の鍵データを秘密に前記外部装置へ送信 し及び前記外部装置にて生成された第 2の鍵データを秘密に受信することにより前 記外部装置との間で前記第 1の鍵データ及び前記第 2の鍵データを共有し、共有し た前記第 1の鍵データと前記第 2の鍵データとを用いて前記共有鍵を生成する ことを特徴とする請求項 1に記載の通信装置。
[3] 前記認証は、チャレンジレスポンス認証であり、
前記判断手段は、
前記外部装置から前記第 1の鍵データをチャレンジデータとし、前記チャレンジデ ータと前記共有鍵とに前記関数を施して生成されたレスポンスデータを受け取り、前 記チャレンジレスポンス認証を行う
ことを特徴とする請求項 2に記載の通信装置。
[4] 前記鍵生成手段は、
前記第 1鍵データと前記第 2鍵データとの排他的論理和演算により共有鍵データを 算出し、算出した共有鍵データから前記共有鍵を生成する
ことを特徴とする請求項 2に記載の通信装置。
[5] 前記鍵生成手段は、
前記共有鍵データの一部を前記共有鍵とする
ことを特徴とする請求項 4に記載の通信装置。
[6] 前記鍵生成手段は、
前記共有鍵データそのものを前記共有鍵とする
ことを特徴とする請求項 4に記載の通信装置。
[7] 前記鍵生成手段は、
前記第 1鍵データと前記第 2鍵データとに前記鍵依存関数を施して共有鍵データ を生成し、生成した共有鍵データから前記共有鍵を生成する
ことを特徴とする請求項 2に記載の通信装置。
[8] 前記鍵依存関数は、前記共有鍵に依存する一方向性関数
であることを特徴とする請求項 1に記載の通信装置。
[9] 前記共有鍵は、前記判断手段による認証及び前記検証用データの生成に用いる 検証用共有鍵であり、
前記鍵生成手段は、さらに、
前記共有鍵データから前記外部装置との間で共有され、通信対象データの暗号化 及び復号に用いる暗号用共有鍵を生成し、
前記通信装置は、さらに、
前記暗号用共有鍵を用いて前記通信対象データを暗号化して、暗号化データを 生成し、生成した前記暗号化データを前記検証用データとともに前記外部装置へ送 信する送信手段を備える
ことを特徴とする請求項 1に記載の通信装置。
[10] 前記共有鍵は検証用共有鍵であり、
前記鍵生成手段は、さらに、
前記共有鍵データから前記外部装置との間で共有すべき暗号用共有鍵を生成し、 前記通信装置は、さらに、
前記外部装置から前記暗号用共有鍵にて通信対象データが暗号化された暗号ィ匕 データを受信する受信手段を備え、 前記データ生成手段は、前記受信手段にて受信した暗号化データを復号して復号 データを取得し、取得した復号データを通信対象データとして前記検証用データを 生成する
ことを特徴とする請求項 1に記載の通信装置。
[11] 前記鍵生成手段は、
前記鍵配送として鍵カプセル化メカニズムを用いて前記共有鍵を生成する ことを特徴とする請求項 1に記載の通信装置。
[12] 実行が開始されたプログラムを通信相手とし、前記プログラムと共有した鍵を用いて 通信対象データの秘密通信を行う通信装置であって、
第三者に知られることなく前記外部装置との間で安全性証明のなされた暗号方式 を用いて共有すべき共有鍵を生成する鍵生成手段と、
前記プログラムとの間で共有され、前記共有鍵に依存する鍵依存関数を用いた認 証を行うことにより、前記プログラムが正当であるか否かを判断する判断手段と、 前記判断手段にて前記プログラムが正当であると判断される場合に、通信対象デ ータの秘密通信の際に、前前記通信対象データの正当性検証のために前記通信対 象データを用い前記共有鍵に依存する前記鍵依存関数と同一の関数を用いた検証 用データを生成するデータ生成手段と
を備えることを特徴とする通信装置。
[13] コンピュータ装置に実行させ、コンピュータ装置を通信相手とし、前記コンピュータ 装置と共有した鍵を用いて通信対象データの秘密通信を行うプログラムであって、 第三者に知られることなく前記コンピュータ装置との間で安全性証明のなされた暗 号方式を用いて共有すべき共有鍵を生成する鍵生成ステップと、
前記コンピュータ装置との間で共有され、前記共有鍵に依存する鍵依存関数を用 いた認証を行うことにより、前記コンピュータ装置が正当である力否かを判断する判 断ステップと、
前記判断ステップにて前記コンピュータ装置が正当であると判断される場合に、通 信対象データの秘密通信の際に、前前記通信対象データの正当性検証のために前 記通信対象データを用い前記共有鍵に依存する前記鍵依存関数と同一の関数を用 V、て検証用データを生成するデータ生成ステップと
を含むことを特徴とするプログラム。
[14] 第 1の領域に格納され、第 2の領域に存在する第 2プログラムを通信相手とし、前記 第 2プログラムと共有した鍵を用いて通信対象データの秘密通信を行う第 1プロダラ ムであって、
前記第 1プログラム及び前記第 2プログラムは、コンピュータ装置にて実行され、 前記第 1プログラムは、
第三者に知られることなく前記第 2プログラムとの間で安全性証明のなされた暗号 方式を用いて共有すべき共有鍵を生成する鍵生成ステップと、
前記第 2プログラムとの間で共有され、前記共有鍵に依存する鍵依存関数を用い た認証を行うことにより、前記第 2プログラムが正当である力否かを判断する判断ステ ップと、
前記判断ステップにて前記第 2プログラムが正当であると判断される場合に、通信 対象データの秘密通信の際に、前前記通信対象データの正当性検証のために前記 通信対象データを用い前記共有鍵に依存する前記鍵依存関数と同一の関数を用い て検証用データを生成するデータ生成ステップと
を含むことを特徴とする第 1プログラム。
[15] 第 1及び第 2の通信装置間で共有した鍵を用いて通信対象データの秘密通信を行 う通信システムであって、
前記第 1の通信装置は、
第三者に知られることなく前記第 2の通信装置との間で安全性証明のなされた暗号 方式を用いて共有すべき第 1の共有鍵を生成する第 1の鍵生成手段と、
前記第 2の通信装置との間で共有され、前記共有鍵に依存する鍵依存関数を用い た認証を行うことにより、前記第 2の通信装置が正当である力否かを判断する第 1の 判断手段と、
前記第 1の判断手段にて前記第 2の通信装置が正当であると判断される場合に、 通信対象データの秘密通信の際に、前記通信対象データの正当性検証のために前 記通信対象データを用い前記第 1の共有鍵に依存する前記鍵依存関数と同一の関 数を用いた第 1の検証用データを生成する第 1のデータ生成手段とを備え、 前記第 2の通信装置は、前記第 1の通信装置が認証に用いるデータを送信する ことを特徴とする通信システム。
[16] 前記第 2の通信装置は、さらに、
第三者に知られることなく前記第 1の通信装置との間で安全性証明のなされた暗号 方式を用いて共有すべき第 2の共有鍵を生成する第 2の鍵生成手段と、
前記鍵依存関数を用いた認証を行うことにより、前記第 1の通信装置が正当である か否かを判断する第 2の判断手段と、
前記第 2の判断手段にて前記第 1の通信装置が正当であると判断される場合に、 通信対象データの秘密通信の際に、前記通信対象データの正当性検証のために前 記通信対象データを用い前記第 2の共有鍵に依存する前記鍵依存関数と同一の関 数を用いて第 2の検証用データを生成する第 2のデータ生成手段とを備え、 前記第 1の通信装置は、前記第 2の通信装置が認証に用いるデータを送信する ことを特徴とする請求項 14に記載の暗号通信システム。
[17] 通信相手の外部装置と共有した鍵を用いて通信対象データの秘密通信を行う通信 装置で用いられる通信方法であって、
第三者に知られることなく前記外部装置との間で安全性証明のなされた暗号方式 を用いて共有すべき共有鍵を生成する鍵生成ステップと、
前記外部装置との間で共有され、前記共有鍵に依存する鍵依存関数を用いた認 証を行うことにより、前記外部装置が正当である力否かを判断する判断ステップと、 前記判断手段にて前記外部装置が正当であると判断される場合に、通信対象デー タの秘密通信の際に、前記通信対象データの正当性検証のために前記通信対象デ ータを用い前記共有鍵に依存する前記鍵依存関数と同一の関数を用いて検証用デ ータを生成するデータ生成ステップと
を含むことを特徴とする通信方法。
[18] 通信相手の外部装置と共有した鍵を用いて通信対象データの秘密通信を行う通信 装置で用いられる通信プログラムであって、
第三者に知られることなく前記外部装置との間で安全性証明のなされた暗号方式 を用いて共有すべき共有鍵を生成する鍵生成ステップと、
前記外部装置との間で共有され、前記共有鍵に依存する鍵依存関数を用いた認 証を行うことにより、前記外部装置が正当である力否かを判断する判断ステップと、 前記判断手段にて前記外部装置が正当であると判断される場合に、通信対象デー タの秘密通信の際に、前記通信対象データの正当性検証のために前記通信対象デ ータを用い前記共有鍵に依存する前記鍵依存関数と同一の関数を用いて検証用デ ータを生成するデータ生成ステップと
を含むことを特徴とする通信プログラム。
[19] 前記通信プログラムは、コンピュータ読み取り可能な記録媒体に記録されている ことを特徴とする請求項 17に記載の通信プログラム。
[20] 通信相手の外部装置と共有した鍵を用いて通信対象データの秘密通信を行う通信 装置の集積回路であって、
第三者に知られることなく前記外部装置との間で安全性証明のなされた暗号方式 を用いて共有すべき共有鍵を生成する鍵生成手段と、
前記外部装置との間で共有され、前記共有鍵に依存する鍵依存関数を用いた認 証を行うことにより、前記外部装置が正当であるか否かを判断する判断手段と、 前記判断手段にて前記外部装置が正当であると判断される場合に、通信対象デー タの秘密通信の際に、前記通信対象データの正当性検証のために前記通信対象デ ータを用い前記共有鍵に依存する前記鍵依存関数と同一の関数を用いて検証用デ ータを生成するデータ生成手段と
を備えることを特徴とする集積回路。
PCT/JP2007/058768 2006-04-28 2007-04-23 通信装置、及び通信システム WO2007125877A1 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
US12/298,579 US20090100264A1 (en) 2006-04-28 2007-04-23 Communication device and communication system
JP2008513198A JPWO2007125877A1 (ja) 2006-04-28 2007-04-23 通信装置、及び通信システム

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2006125925 2006-04-28
JP2006-125925 2006-04-28

Publications (1)

Publication Number Publication Date
WO2007125877A1 true WO2007125877A1 (ja) 2007-11-08

Family

ID=38655402

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2007/058768 WO2007125877A1 (ja) 2006-04-28 2007-04-23 通信装置、及び通信システム

Country Status (4)

Country Link
US (1) US20090100264A1 (ja)
JP (1) JPWO2007125877A1 (ja)
CN (1) CN101433014A (ja)
WO (1) WO2007125877A1 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2015075796A1 (ja) * 2013-11-21 2015-05-28 株式会社 東芝 コンテンツ管理システム、ホスト装置及びコンテンツ鍵アクセス方法
JP2016096547A (ja) * 2014-11-13 2016-05-26 エルジー シーエヌエス カンパニー リミテッドLG CNS Co., Ltd. 否認防止方法、このための決済管理サーバおよび使用者端末

Families Citing this family (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8959199B2 (en) * 2008-03-18 2015-02-17 Reduxio Systems Ltd. Network storage system for a download intensive environment
US20120291106A1 (en) * 2010-01-19 2012-11-15 Nec Corporation Confidential information leakage prevention system, confidential information leakage prevention method, and confidential information leakage prevention program
TWI420339B (zh) * 2010-11-10 2013-12-21 Ind Tech Res Inst 軟體授權系統及方法
EP2813029B1 (en) * 2012-02-09 2020-12-02 Irdeto B.V. System and method for generating and protecting cryptographic keys
EP2712222B1 (en) * 2012-09-25 2020-04-01 Alcatel Lucent Confidential provisioning of secret keys over the air
US9866382B2 (en) * 2012-12-21 2018-01-09 Mobile Iron, Inc. Secure app-to-app communication
US9059974B2 (en) * 2012-12-21 2015-06-16 Mobile Iron, Inc. Secure mobile app connection bus
WO2014167389A1 (en) * 2013-04-12 2014-10-16 Nokia Siemens Networks Oy Secure radio information transfer over mobile radio bearer
EP2961207A1 (en) * 2014-06-24 2015-12-30 Gemalto SA Method, server and telecommunications system for establishing, through an OTA server, a secured communication channel between an administrative agent comprised in a device and a third party server
EP3002964A1 (en) * 2014-10-02 2016-04-06 Gemalto Sa Method of sending a data from a secure token to a server
ES2881632T3 (es) 2015-02-27 2021-11-30 Ericsson Telefon Ab L M Disposiciones de seguridad en la comunicación entre un dispositivo de comunicación y un dispositivo de red
US10690762B2 (en) * 2015-05-29 2020-06-23 Qualcomm Incorporated Systems and methods for determining an upper bound on the distance between devices
US10411886B1 (en) * 2015-12-29 2019-09-10 Amazon Technologies, Inc. Authenticating secure channel establishment messages based on shared-secret
US11153087B1 (en) 2015-12-29 2021-10-19 Amazon Technologies, Inc. Hub-based token generation and endpoint selection for secure channel establishment
JP6613909B2 (ja) * 2016-01-15 2019-12-04 富士通株式会社 相互認証方法、認証装置および認証プログラム
US10230700B2 (en) * 2016-08-09 2019-03-12 Lenovo (Singapore) Pte. Ltd. Transaction based message security
CN107483505B (zh) * 2017-09-29 2020-10-16 武汉斗鱼网络科技有限公司 一种对视频聊天中的用户隐私进行保护的方法及系统
US10728240B2 (en) 2017-10-19 2020-07-28 Global Tel*Link Corporation Variable-step authentication for communications in controlled environment
CN107959688B (zh) * 2017-12-14 2020-11-10 恒宝股份有限公司 一种终端和摄像设备相互认证的安全认证方法及其认证系统
JP7299708B2 (ja) * 2019-01-15 2023-06-28 グローリー株式会社 認証システム、管理装置及び認証方法
CN114902606A (zh) * 2020-01-08 2022-08-12 索尼集团公司 信息处理装置、信息处理方法、程序和信息处理系统

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002152194A (ja) * 2000-11-10 2002-05-24 Toshiba Corp 限定受信装置、限定受信装置認証方法及び暗号通信方法
JP2004159317A (ja) * 2002-10-16 2004-06-03 Matsushita Electric Ind Co Ltd パスワード復元システム

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7334127B2 (en) * 1995-04-21 2008-02-19 Certicom Corp. Key agreement and transport protocol
EP1456732A1 (en) * 2002-10-16 2004-09-15 Matsushita Electric Industrial Co., Ltd. Password recovery system
US20040199786A1 (en) * 2002-12-02 2004-10-07 Walmsley Simon Robert Randomisation of the location of secret information on each of a series of integrated circuits
EP1475920A4 (en) * 2002-12-03 2005-03-02 Matsushita Electric Ind Co Ltd KEY SHARING SYSTEM, SHARED KEY CREATING DEVICE, AND SHARED KEY RESTORING DEVICE
WO2005039100A1 (en) * 2003-10-16 2005-04-28 Matsushita Electric Industrial Co., Ltd. Encrypted communication system and communication device

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002152194A (ja) * 2000-11-10 2002-05-24 Toshiba Corp 限定受信装置、限定受信装置認証方法及び暗号通信方法
JP2004159317A (ja) * 2002-10-16 2004-06-03 Matsushita Electric Ind Co Ltd パスワード復元システム

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
CHIDA E. ET AL.: "Fusei Riyo Boshi Kino o Yusuru Denshi Money Kyotaku no Koseiho", COMPUTER SECURITY SYMPOSIUM 2004 (CSS2004), vol. 2004, no. 11, 20 October 2004 (2004-10-20), pages 325 - 330, XP003018914 *
OKAMOTO E.: "Ango Riron Nyumon", KYORITSU SHUPPAN CO., LTD., 25 February 1993 (1993-02-25), pages 133 - 135, XP003018912 *
OKAMOTO T. AND YAMAMOTO H.: "Gendai Ango", SANGYO TOSHO KABUSHIKI KAISHA, 30 June 1997 (1997-06-30), pages 200 - 201, XP003018913 *

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2015075796A1 (ja) * 2013-11-21 2015-05-28 株式会社 東芝 コンテンツ管理システム、ホスト装置及びコンテンツ鍵アクセス方法
US9979541B2 (en) 2013-11-21 2018-05-22 Kabushiki Kaisha Toshiba Content management system, host device and content key access method
JP2016096547A (ja) * 2014-11-13 2016-05-26 エルジー シーエヌエス カンパニー リミテッドLG CNS Co., Ltd. 否認防止方法、このための決済管理サーバおよび使用者端末

Also Published As

Publication number Publication date
CN101433014A (zh) 2009-05-13
JPWO2007125877A1 (ja) 2009-09-10
US20090100264A1 (en) 2009-04-16

Similar Documents

Publication Publication Date Title
WO2007125877A1 (ja) 通信装置、及び通信システム
US10708072B2 (en) Mutual authentication of confidential communication
Rodriguez-Henriquez et al. A brief introduction to modern cryptography
Unger et al. Improved strongly deniable authenticated key exchanges for secure messaging
CN104641592B (zh) 用于无证书认证加密(clae)的方法和系统
CN107094108B (zh) 连接到数据总线的部件和在该部件中实现加密功能的方法
US7813512B2 (en) Encrypted communication system and communication device
JP2017063432A (ja) 証明書不要公開鍵基盤に基づく安全なクライアント・サーバ通信プロトコルを設計するシステムと方法
CN109274502B (zh) 公钥加密及密钥签名的创建方法、设备及可读存储介质
JP4130653B2 (ja) 擬似公開鍵暗号方法及びシステム
EP2461564A1 (en) Key transport protocol
KR20170035665A (ko) 키 교환 장치 및 방법
AU2015202599B2 (en) Methods and devices for securing keys when key-management processes are subverted by an adversary
CN109951276B (zh) 基于tpm的嵌入式设备远程身份认证方法
JP6041864B2 (ja) データの暗号化のための方法、コンピュータ・プログラム、および装置
CN114448641A (zh) 一种隐私加密方法、电子设备、存储介质以及芯片
JP5171787B2 (ja) サインクリプションシステムおよびサインクリプション生成方法
CN110324357B (zh) 数据发送方法及装置、数据接收方法及装置
WO2020174515A1 (ja) 暗号システム、鍵生成装置、鍵生成方法、鍵生成プログラム、および準同型演算装置
CN118489130A (zh) 加密装置、解密装置、可解密验证装置、密码系统、加密方法和加密程序
JP6153454B2 (ja) 署名装置、方法及びプログラム
TW202245436A (zh) 產生訊息的簽章的方法、訊息認證方法以及加密裝置
Blomqvist Kleptography--Overview and a new proof of concept
Mandy Jr Implementation of the ieee 1609.2 wave security services standard
CN114531235A (zh) 一种端对端加密的通信方法及系统

Legal Events

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

Ref document number: 07742203

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 2008513198

Country of ref document: JP

WWE Wipo information: entry into national phase

Ref document number: 12298579

Country of ref document: US

WWE Wipo information: entry into national phase

Ref document number: 200780015366.4

Country of ref document: CN

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 07742203

Country of ref document: EP

Kind code of ref document: A1