WO2007007836A1 - 認証システム、認証方法、証明装置、検証装置、それらのプログラム及び記録媒体 - Google Patents

認証システム、認証方法、証明装置、検証装置、それらのプログラム及び記録媒体 Download PDF

Info

Publication number
WO2007007836A1
WO2007007836A1 PCT/JP2006/313970 JP2006313970W WO2007007836A1 WO 2007007836 A1 WO2007007836 A1 WO 2007007836A1 JP 2006313970 W JP2006313970 W JP 2006313970W WO 2007007836 A1 WO2007007836 A1 WO 2007007836A1
Authority
WO
WIPO (PCT)
Prior art keywords
information
verification
authentication
authentication information
power
Prior art date
Application number
PCT/JP2006/313970
Other languages
English (en)
French (fr)
Inventor
Go Yamamoto
Eiichiro Fujisaki
Original Assignee
Nippon Telegraph And Telephone 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 Nippon Telegraph And Telephone Corporation filed Critical Nippon Telegraph And Telephone Corporation
Priority to DE602006013138T priority Critical patent/DE602006013138D1/de
Priority to CN2006800013876A priority patent/CN101080897B/zh
Priority to US11/792,305 priority patent/US8001384B2/en
Priority to EP06768184A priority patent/EP1903713B1/en
Priority to JP2007507586A priority patent/JP4555859B2/ja
Publication of WO2007007836A1 publication Critical patent/WO2007007836A1/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/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/3218Cryptographic 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 proof of knowledge, e.g. Fiat-Shamir, GQ, Schnorr, ornon-interactive zero-knowledge proofs
    • H04L9/3221Cryptographic 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 proof of knowledge, e.g. Fiat-Shamir, GQ, Schnorr, ornon-interactive zero-knowledge proofs interactive zero-knowledge proofs

Definitions

  • the present invention relates to a message authentication technique, and more particularly, to a background technique relating to a technique that enables a specific or unspecified device to prove and verify that predetermined information is held therein.
  • a technology for authenticating that a specific or unspecified device holds predetermined information inside is called a message authentication technology.
  • This technology is characterized in that the amount of communication required in the authentication process does not depend on the amount of information (information amount) that is desired to be proved.
  • the proving device and the verification device share the secret key k in advance.
  • the proving device calculates a message authenticator M (s, k) having a certain length for the stored information s and sends it to the verification device.
  • the verifier keeps a copy of the information s and verifies the validity of the message authenticator M (s, k) to which the verifier is also sent.
  • Non-patent document 1 shows a document that describes an example of how to construct a message authenticator.
  • Non-patent literature l Tetsu Iwata, Kaoru Kurosawa, "OMAC: One-Key CBC MAC”, LNCS 2887 (2003), ppl29-153, Springer- Verlag.
  • the present invention has been made in view of the above points, and is based on a technique in which a verification device verifies that predetermined information is held in a verification device.
  • the purpose is to make effective use of storage capacity and improve convenience and safety.
  • a verification device connected so as to be communicable with a proving device in which retained information is stored.
  • the identity between the retained information and arbitrary contrast information is verified (note that "contrast information” and And “holding information” is bit information.)
  • the verification device has contents that depend on the contents of the comparison information, does not depend on the information amount of the comparison information !, the verification information having the information amount, and the first arbitrary information that is arbitrary information.
  • Information is stored in the first storage unit.
  • the verification device generates an authentication information generation factor for causing the verification device to generate authentication information using the first arbitrary information stored in the first storage unit, and proves the generated authentication information generation factor. Send to device.
  • the verification device receives the authentication information generation factor, uses the authentication information generation factor and the stored information stored in the second storage unit, and depends on the contents of the authentication information generation factor and the stored information. Authentication information having an information amount that does not depend on the information amount of retained information. Next, the certification device transmits this authentication information to the verification device.
  • the verification device receives the authentication information transmitted by the verification device, and the determination unit of the verification device has a predetermined relationship between the authentication information, the verification information stored in the first storage unit, and the first arbitrary information. Whether or not is satisfied is determined. As a result, the verification device verifies that the stored information stored in the verification device is the same as the comparison information.
  • verification information having an information amount that does not depend on the information amount of the comparison information. It is not the information itself. Therefore, even if the amount of retained information stored in the verification device to be verified is large and the amount of contrast information is large, the recording capacity required for the verification device does not increase so much. In the present invention, since it is not necessary to share a secret key between the proving device and the verification device, convenience and safety are high.
  • the verification information is a power defined in the semigroup, with the base of the element of the finite set in which the operations forming the commutative semigroup are defined and the contrast information as a power.
  • the authentication information generation factor is a calculation result obtained by raising the power defined in the semigroup with the first arbitrary information as a power, with the base of the finite set as the base, and the authentication information is This is the result of computing the power defined in the semigroup with the authentication information generation factor as the base and the retained information as the power. Then, the determination unit determines whether or not the calculation result obtained by performing the power defined by the semigroup with the verification information as a base and the first arbitrary information as a power is equal to the authentication information.
  • the verification information in this configuration is based on the element of a finite set in which the operations forming a commutative semigroup are defined, and the contrast information is a power, and the power defined in the semigroup is performed. It is a calculation result.
  • This verification information is always a source of a finite set defined on the semigroup. Therefore, the information amount of the verification information becomes the same as the original information amount of the finite set regardless of the information amount of the corresponding contrast information. Therefore, the storage capacity required for the verification device to store the verification information can be suppressed. Also, with this configuration, since it is not necessary to share a secret key between the proving device and the verification device, convenience and security are high.
  • authentication information The base factor of the generation factor, the retained information as the power, and the calculation result obtained by performing the power defined in the semi-group, and the authentication information generation factor as the base, the stored information + any integer X number Is the same as the result of the power operation defined in the semigroup (collision).
  • the verification information is modulo a constant N, and a value g less than N (preferably a value g not less than 2 and less than N) is used as a base.
  • the power residue calculation result C (s ') with s' as the power, and the authentication information generation factor is the power residue with the modulo N, the value g as the base, and the first arbitrary information r as the power
  • the operation result is R
  • the authentication information is a power residue operation result R (s) with N as the modulus, the authentication information generation factor R as the base, and the retained information s as the power.
  • the determination unit determines whether the power residue calculation result with N as the modulus, the verification information C (s ′) as the base, and the first arbitrary information r as a power is equal to the authentication information R (s). Determine whether or not.
  • the verification information in this configuration is a power residue calculation result C (s ') with the constant N modulo, a value g less than N as the base, and the contrast information s' as an integer.
  • the verification information is always an integer between 0 and N ⁇ 1, regardless of the amount of information in the comparison information s ′. This means that the storage capacity required for the verification device to store the verification information can be suppressed.
  • there is no need to share a secret key between the proving device and the verification device so convenience and safety are high.
  • the constant N is a natural number excluding a number that can be determined to be a prime number, and is a number that is difficult to be primed.
  • a number that is a natural number excluding a number that can be determined to be a prime number and that is difficult to be primed is ⁇ .
  • a number that can be determined to be a prime number means a number that can be determined to be “prime number” by using a prime number determination method publicly known at the time of filing this application, "Something” means a publicly known number.
  • a constant repulsive force may be a composite number having a product of three or more prime numbers.
  • the number that can be determined to be a prime number
  • a number that is difficult to factorize
  • the first arbitrary information r above in the case where the V and predetermined natural number, 0 ⁇ r ⁇ N '2 v - with a value selected from 1 range optionally is there.
  • the first arbitrary information r is arbitrarily selected from such a range, the result of the power-residue calculation with N as the modulus, the value g as the base, and the first arbitrary information r as the power is N as the modulus. It can be proved that the value [ ⁇ (Z / NZ) *] arbitrarily selected from the elements of the cyclic group by the multiplication of the remainder ring is indistinguishable.
  • the verification information is information generated using each first division information for each first division information obtained by dividing the comparison information into a plurality of pieces of authentication information. Is information generated using the authentication information generation factor and all of the second divided information obtained by dividing the retained information stored in the proving device into a plurality of pieces.
  • the authentication information is generated using all the second division information obtained by dividing the holding information stored in the certification device into a plurality of pieces. Therefore, various calculation methods can be used as compared with the case where authentication information is generated using the stored information itself. For this reason, authentication information can be generated at high speed depending on the calculation method employed.
  • the verification information is a power defined in the semigroup, with a base of a finite set in which an operation forming a commutative semigroup is defined, and the first division information as a power.
  • the authentication information generation factor is the operation result obtained by raising the power defined in the semigroup with the first arbitrary information as the power, with the base of the finite set as the base, and the authentication information is The power defined by the semi-group was calculated with the authentication information generation factor as the base and the value calculated using all of the second division information and having a smaller amount of information than the retained information as the power. It is a calculation result. Then, the judgment unit uses the value calculated using all of the verification information as the base, the first arbitrary information as the power, and the calculation result obtained by raising the power defined in the semigroup, and the authentication information Determine whether they are equal.
  • This authentication information is based on the authentication information generation factor, is a value calculated using all of the second division information, and has a smaller amount of information than the retained information. This is the result of an operation that has been performed to a defined power.
  • the calculation cost of the power calculation increases rapidly as the power value increases, so reducing the power value greatly contributes to the reduction of the calculation cost.
  • the cost of the power calculation for calculating the authentication information is greatly increased. Can be reduced.
  • the authentication information is a value calculated using information that is difficult to prepare in advance corresponding to the bit position in the retained information of each of the second division information and all of the second division information.
  • This is a calculation result obtained by performing a power that is defined in a semi-group with the amount of information less than the retained information as the power and the authentication information generation factor as the base.
  • the authentication information is generated with a value calculated using information that is difficult to prepare in advance corresponding to the bit position in the retained information of each of the second division information and all of the second division information as a power.
  • an attacker who does not hold the holding information and does not know which bit position in the holding information each second division information knows but only each piece of division information is detected by the verification device. It is possible to prevent fraud that forges authentication information that passes the certificate.
  • the verification information is a power residue calculation result with the constant N as a modulus, a value g less than N as a base, and the first division information s ′ as a power, and authentication information generation.
  • the generation factor is a power-residue calculation result R with the modulo N, the value g as the base, and the first arbitrary information r as a power
  • the authentication information includes i corresponding to the second division information s and the verification device
  • the sum of the product of the information H whose value depends on some information transmitted from s and the second division information s for all i is the power
  • the authentication information generation factor R is the base
  • N is This is the modulo power residue calculation result R (s).
  • the determination unit uses the product of the values obtained by raising the respective verification information C (s ′) corresponding to all i to the power of the corresponding information H, and uses the first arbitrary information!: As the base. It is determined whether the power-residue calculation result modulo N and the authentication information R (s) are equal.
  • i is an index indicating the bit position in the comparison information of the first division information s ′ and the bit position in the holding information of the second division information s.
  • This authentication information includes the product of i corresponding to the second divided information s and information H whose value depends on some information transmitted from the verification device, and the second divided information s.
  • the sum of the values is the power
  • the authentication information generation factor R is the base
  • the power residue calculation result R (modulo N.
  • the retained information is not retained, and each second split information
  • An attacker who does not know the power of which position information in the stored information knows only each piece of division information can prevent fraud in which the attacker forges authentication information that passes verification by the verification device.
  • the information H is transmitted from i and the verification device corresponding to the second division information s. It is a one-way function value whose value depends on some information.
  • the verification device may prove to the verification device by the dialog proof that the authentication information generation factor is properly generated using the first arbitrary information stored in the verification device.
  • the verification device proves to the proof device by interactive proof with the proof device that the authentication information generation factor received by the proof device is generated using the first arbitrary information stored in the verification device.
  • the device verifies that the authentication information generation factor is generated by using the first arbitrary information stored in the verification device by means of a dialog proof with the verification device.
  • the verification device transmits the authentication information to the verification device when it can be confirmed that the authentication information generation factor has been generated using the first arbitrary information stored in the verification device.
  • the attacker's device unless the attacker's device intervenes in the dialogue proof, the attacker's device interposed between the legitimate verification device and the verification device proves to the legitimate verification device. It is possible to suppress fraud that misidentifies the verification device if it is impersonated as a clearing device, impersonated as a verification device against a legitimate proving device, and holds retained information. That is, if such a configuration is not adopted, an attacker's device intervening between the regular proof device and the verification device impersonates the proof device, receives the authentication information generation factor from the regular verification device, and further performs verification.
  • the authentication information generation factor can be transmitted to a legitimate certifying device by impersonating the device, and the legitimate certifying device can also receive the transmitted authentication information.
  • the attacker's device can cause the verification device to misidentify that the attacker's device is the device holding the retained information by transmitting the authentication information to the legitimate verification device.
  • the configuration is such that the authentication device transmits the authentication information to the verification device only when it can be confirmed that the authentication information generation factor has been generated using the first arbitrary information stored in the verification device. If the attacker's device does not intervene in the dialogue proof, the attacker's device becomes a verification device. It becomes difficult to receive the authentication information even if the authorized authentication device power is already completed. As a result, if an attacker's device intervening between a legitimate proving device and a verification device holds V, the fraud that misidentifies the verification device can be prevented.
  • a legitimate verification device can generate illegal first arbitrary information and prevent any illegal acts (for example, generation of a false verification process log).
  • the first arbitrary information that is not the comparison information is the target of the dialogue proof, so even if the amount of data of the comparison information is large, The computation cost and communication data required for dialogue proof can be kept low.
  • processing including the dialog proof is preferably performed as follows.
  • the proof device is a power that is defined in a semigroup, with the element g of a finite set in which commutative semigroup operations are defined as the base and the second arbitrary information a that is arbitrary information as a power.
  • the calculation value A is generated, and the calculation value A is transmitted to the verification device.
  • the verification device receives this operation value A, generates the authentication information generation factor R by performing the power defined by the semigroup with the element g of the finite set as the base, the first arbitrary information r as the power, and the power. .
  • the verification device generates the calculated value B by performing the power defined in the semi-group with the calculated value A as the base, the first arbitrary information r as the power, and the authentication information generating factor R.
  • the calculated value B is transmitted to the proving device.
  • the proving device receives the authentication information generation factor R and the calculated value B, and is defined in a semigroup with the authentication information generation factor R received by the second receiving unit as the base and the second arbitrary information a as a power. Then, it is determined whether or not the calculation result obtained by performing the exponentiation and the calculation value B are equal, and if they are equal, authentication information is transmitted to the verification device.
  • the attacker's device unless the attacker's device intervenes in the dialogue proof, the attacker's device interposed between the legitimate verification device and the verification device holds the retained information. It is possible to suppress fraud that misidentifies the verification device.
  • the first arbitrary information r is the target of the dialog proof, so that it is possible to keep the computation cost and communication data required for the dialog proof low.
  • the first arbitrary information that is not the comparison information is the target of the dialogue proof, so even if the amount of data of the comparison information is large, The computation cost and communication data required for dialogue proof can be kept low.
  • the proving device has a calculation result obtained by performing a power defined in a semigroup with the authentication information generation factor R as a base and the second arbitrary information a as a power.
  • the second optional information a is further transmitted to the verification device.
  • the verification device receives the second arbitrary information a, uses the element g of the finite set as the base, the second arbitrary information a as the power, and the operation result obtained by performing the power defined by the semigroup, and the operation Judges whether the value A is equal.
  • the attacker's device that knows L and m receives the authentication information generation factor R and the operation value B from the verification device, calculates R m (the operation defined in the above half group), and uses this as authentication information. It is possible to send it to the verification device as if it were false.
  • the calculation value A is a power residue calculation result with the constant N as the modulus, the value g less than N as the base, and the second arbitrary information a which is arbitrary information as a power.
  • the authentication information generation factor R is a power residue calculation result with the value modulo N, the value g as the base, and the first arbitrary information r as a power, and the operation value B modulo N and the operation value This is the power residue calculation result with A as the base and the first arbitrary information r as a power.
  • the above-mentioned calculation result obtained by raising the authentication information generation factor R received by the second receiver unit to the power of the second arbitrary information a and the power defined by the semigroup is N.
  • This is the power-residue calculation result with the authentication information generation factor R as the base and the second arbitrary information a as the power.
  • the constant N is a natural number excluding a number that can be determined to be a prime number, and is preferably a number that is difficult to factorize.
  • the constant N may be a composite number that is the product of more than three prime numbers.
  • the above-mentioned calculation result obtained by performing the power defined in the semigroup with the element g of the finite set as the base and the second arbitrary information a as the power is a power of N.
  • the second arbitrary information a is a value arbitrarily selected from the range of 0 ⁇ a ⁇ N'2 v — 1, where V is a predetermined natural number.
  • V is a predetermined natural number.
  • the verification device verifies that predetermined information is held in the certification device.
  • This technology makes it possible to effectively use the storage capacity of the verification device and improve convenience and safety.
  • FIG. 1 is a configuration block diagram illustrating a hardware configuration of a proving device (1) according to a first embodiment.
  • FIG. 2 is a block diagram illustrating the hardware configuration of the verification apparatus (2) according to the first embodiment.
  • FIG. 3 is a network configuration example according to the first embodiment.
  • FIG. 4 is a functional block diagram (part 1) of the verification device (2) according to the first embodiment.
  • FIG. 5 is a functional block diagram of the proving device (1) according to the first embodiment.
  • FIG. 6 is a functional block diagram (part 2) of the verification device (2) according to the first embodiment.
  • FIG. 7 is a diagram showing a processing flow in the first embodiment.
  • FIG. 8 is a configuration block diagram illustrating a hardware configuration of a third party device (3) according to the second embodiment.
  • FIG. 9 is a network configuration example in the second embodiment.
  • FIG. 10 is a functional block diagram of a third party device (3) according to the second embodiment.
  • FIG. 11 is a functional block diagram of a verification apparatus (2) according to a second embodiment.
  • FIG. 12 is a functional block diagram of a certification device (1) according to a second embodiment.
  • FIG. 13 is a diagram (part 1) illustrating a processing flow in the second embodiment.
  • FIG. 14 is a diagram (part 2) illustrating the process flow in the second embodiment.
  • FIG. 15 is a functional block diagram of a third party device (3) according to the third embodiment.
  • FIG. 16 is a functional block diagram (part 1) of the verification device (2) according to the third embodiment.
  • FIG. 17 is a functional block diagram of a certification device (1) according to a third embodiment.
  • FIG. 18 is a functional block diagram (part 2) of the verification device (2) according to the third embodiment.
  • FIG. 19 is a diagram (part 1) illustrating a process flow according to the third embodiment.
  • FIG. 20 is a diagram (part 2) illustrating the process flow according to the third embodiment.
  • FIG. 21 is a functional block diagram (part 1) of a proving device (1) according to a fourth embodiment.
  • FIG. 22 is a functional block diagram (part 1) of the verification device (2) according to the fourth embodiment.
  • FIG. 23 is a functional block diagram (No. 2) of the proving device (1) according to the fourth embodiment.
  • FIG. 24 is a functional block diagram (part 2) of the verification device (2) according to the fourth embodiment.
  • FIG. 25 is a functional block diagram (part 3) of the proving device (1) according to the fourth embodiment.
  • FIG. 26 is a diagram (part 1) illustrating a process flow according to the fourth embodiment.
  • FIG. 27 is a diagram (No. 2) illustrating the process flow in the fourth embodiment.
  • FIG. 28 is a diagram (No. 3) illustrating the process flow in the fourth embodiment.
  • FIG. 29 is a diagram (No. 4) illustrating the process flow in the fourth embodiment.
  • FIG. 30 is a functional block diagram (part 1) of the verification device (2) according to the fifth embodiment.
  • FIG. 31 is a functional block diagram (part 1) of a proving device (1) according to a fifth embodiment.
  • FIG. 32 is a functional block diagram (part 2) of the verification device (2) according to the fifth embodiment.
  • FIG. 33 is a functional block diagram (part 2) of the proving device (1) according to the fifth embodiment.
  • FIG. 34 is a functional block diagram (part 3) of the verification device (2) according to the fifth embodiment.
  • FIG. 35 is a diagram (part 1) illustrating a process flow according to the fifth embodiment.
  • FIG. 36 is a diagram (No. 2) illustrating the process flow in the fifth embodiment.
  • FIG. 37 is a diagram (No. 3) illustrating the process flow in the fifth embodiment.
  • FIG. 38 is a functional block diagram (part 1) of the verification device (2) according to the sixth embodiment.
  • FIG. 39 is a functional block diagram (part 1) of a proving device (1) according to a sixth embodiment.
  • FIG. 40 is a functional block diagram (part 2) of the proving device (1) according to the sixth embodiment.
  • FIG. 41 is a functional block diagram (part 2) of the verification device (2) according to the sixth embodiment.
  • FIG. 42 is a diagram (part 1) illustrating a process flow according to the sixth embodiment.
  • FIG. 43 is a diagram (part 2) illustrating the process flow according to the sixth embodiment.
  • FIG. 44 is a diagram (part 3) illustrating the process flow according to the sixth embodiment.
  • the proving device in the first embodiment will be described.
  • FIG. 1 is a configuration block diagram illustrating the hardware configuration of the proving device (1) according to the first embodiment.
  • the verification device (1) includes an input unit (11) to which an input device such as a keyboard and a mouse can be connected, an output unit (12) to which an output device such as a liquid crystal display can be connected, Device (1) Communication unit (13), CPU (Central Processing Unit) (14) [cache memory that can be connected to communication devices (for example, communication cables, LAN cards, hubs, routers, modems, etc.) that can communicate externally Etc. may be provided.
  • communication devices for example, communication cables, LAN cards, hubs, routers, modems, etc.
  • the verification device (1) may be equipped with a device (drive) that can read and write storage media such as CD-ROM (Compact Disc Read Only Memory) and DVD (Digital Versatile Disc)! / ⁇ .
  • a device drive
  • CD-ROM Compact Disc Read Only Memory
  • DVD Digital Versatile Disc
  • the external storage device (17) of the proving device (1) holds predetermined information s [holding information] to be proved, and a program [for the proving device] Program] and data necessary for processing of this program are stored. Data obtained by the processing of these programs is stored in RAM or an external storage device.
  • the external storage device (17) [or ROM, etc.] of the proving device (1) includes a program for generating authentication information and data (information s, etc.) required for processing these programs. Etc. are saved.
  • a control program for controlling processing based on these programs is also stored in the external storage device (17) or the like.
  • each program stored in the external storage device (17) [or ROM, etc.] and data necessary for processing each program are read into the RAM (15).
  • the CPU (14) executes each of these programs and processes each data. As a result, the CPU (14) realizes predetermined functions (authentication information generation unit, control unit).
  • the verification device in the first embodiment will be described.
  • FIG. 2 is a configuration block diagram illustrating the hardware configuration of the verification device (2) according to the first embodiment.
  • the verification device (2) includes an input unit (21) to which an input device such as a keyboard and a mouse can be connected, an output unit (22) to which an output device such as a liquid crystal display can be connected, Device (2) Communication unit (23), CPU (Central Processing Unit) (24) [cache memory, etc.] that can be connected to communication devices that can communicate with the outside (eg communication cables, LAN cards, hubs, routers, modems, etc.) May be provided.
  • communication devices eg communication cables, LAN cards, hubs, routers, modems, etc.
  • the verification device (2) may be provided with a device (drive) that can read and write storage media such as CD-ROM and DVD! / !.
  • a program for generating verification information a program for generating an authentication information generation factor, and a random number are generated in the external storage device (27) [or ROM, etc.] of the verification device (2).
  • a program for determining whether or not the information received from the verification device matches the information stored in the verification device, and data necessary for processing these programs are stored.
  • a control program for controlling processing based on these programs is also stored in the external storage device (27) or the like.
  • each program stored in the external storage device (27) [or ROM, etc.] and the data power necessary for processing each program are read into the RAM (25) as necessary. It is.
  • the CPU (24) executes each of these programs and processes each data. As a result, the CPU (24) realizes predetermined functions (verification information generation unit, authentication information generation factor generation unit, random number generation unit, determination unit, control unit).
  • FIG. 3 is a diagram illustrating a network configuration of the authentication system according to the first embodiment.
  • one proving device (1), one verification device (2), and a 1S network (5) are connected to be communicable with each other.
  • the proving device (1) and the verification device (2) connected to each other via the network (5) are not limited to one each.
  • a plurality of verification devices (1) and a plurality of verification devices (2) may be connected to each other via a network (5) so as to be able to communicate with each other.
  • the network (5) configuration is not particularly limited, and may be any Internet, LAN (Local Area Network), peer-to-peer network, etc.
  • the communication between the proving device (1) and the verification device (2) is not necessarily a communication secret, such as the possibility of interception of communication cannot be denied. (The same applies to each embodiment described below.)
  • the first embodiment of the authentication system method according to the present invention shows a basic embodiment, and can be extended to various embodiments without departing from the spirit of the present invention.
  • a description will be given with reference to FIGS.
  • FIGS. in the figure which shows the functional block diagram of each apparatus, it is only showing for the convenience of description which does not show each different power for which the functional part to which the same code
  • a sufficiently large number N and a number g less than N are preliminarily set as the proving device (1 ) And the external storage device (27) of the verification device (2).
  • N is a natural number excluding the number that can be determined to be a prime number and is a number that is difficult to prime factorization.
  • (pl) / 2 and (ql) / 2 are also Examples include prime numbers N] and natural numbers that cannot be determined whether they are prime numbers.
  • N may be a number close to a power of 2, for example, a number that can be expressed in the form of 2 m ⁇ l (Mersenne number).
  • Mersenne number a number that can be expressed in the form of 2 m ⁇ l (Mersenne number).
  • Such a remainder calculation by N can be performed by replacing 2 m with 1, for example, and such an operation can be realized by shift operation or bit rearrangement in a normal CPU. Therefore, a high-speed remainder operation can be realized.
  • Such N can be generated efficiently by a probabilistic algorithm, and tables of numbers that are difficult to factorize are well known. Therefore, N should be selected close to the power of 2 from such a table.
  • g is preferably relatively prime to N. If the attacker knows that g is relatively prime with N, this attacker may be able to use the information in g as information for factoring N ( For example, a process that tests whether the divisor of g is a divisor of N).
  • a predetermined natural number V (security parameter) is stored in the external storage device (27) of the verification device (2).
  • control unit (290) of the verification device (2) reads g, V, and information s from the external storage device (27) and stores them in a predetermined storage area of the RAM (25) [FIG. reference ⁇ .
  • reads 00 from RAM it means that “reads 00 from a predetermined storage area in which RAM is stored in RAM”.
  • the verification information generation unit (241) of the verification device (2) reads the RAM (25) force g, N, and information s.
  • the calculation according to the equation (1) is performed, and the calculation result C (s) [verification information] is stored in a predetermined storage area of the RAM (25) (step S1) [see FIG. 4].
  • the information s in the bit string is identified with the binary notation of natural numbers.
  • step S2 the control unit (290) of the verification device (2) deletes the information s stored in the external storage device (27) (step S2) [see FIG. 4].
  • Deletion here means releasing the storage area where the target information is stored.
  • the storage area can be overwritten (that is, new information is stored), or a null value is set. To overwrite the storage area.
  • the random number generation unit (242) of the verification device (2) reads v from the RAM (25), generates a random number!: [First arbitrary information] at most about 2, and stores the random number r in the RAM. Store in the predetermined storage area of (25) (step S3) [see Fig. 4].
  • the random number generator (242) may generate the random number r from the range 0 ⁇ r ⁇ N • 2 v -l. This is because, as described above, the configuration in which the random number r is selected for such range power is also desirable from the viewpoint of both safety and computational cost. In addition, r need not necessarily be a random number as long as it is arbitrarily selected.
  • the random number generation unit (242) generates the random number r, which is the first arbitrary information.
  • a predetermined value is stored in advance in the external storage device (27) as the first arbitrary information.
  • this value may be read by the external storage device (27). In this case, from the viewpoint of safety, the predetermined value must be kept secret from the outside of the verification device (2).
  • the authentication information generation factor generation unit (243) of the verification device (2) reads g, N, and r from the RAM (25), performs an operation according to the expression (2), and performs the operation.
  • R authentication information generation factor
  • step S4 authentication information generation factor
  • step S5 the communication unit (23) proves the authentication information generation factor R obtained in step S4 read from the RAM (25). Transmit to device (1) (step S5) [see Fig. 4].
  • the communication unit (13) receives the authentication information generation factor R transmitted in step S5, and the control unit (190)
  • the authentication information generation factor R is stored in the external storage device (17) (step S6) [see FIG. 5].
  • control unit (190) of the proving device (1) reads N, information s, and authentication information generation factor R from the external storage device (17), and stores them in a predetermined storage in the RAM (15). Store in the area [see Figure 5].
  • the authentication information generation unit (141) of the proving device (1) reads the RAM (15) force N, the information s, and the authentication information generation factor R, performs an operation according to the equation (3), and performs the operation.
  • R (s) [authentication information] is stored in a predetermined storage area of the RAM (15) (step S7) [see FIG. 5].
  • the communication unit (13) reads the authentication information R (s) read from the RAM (15) (obtained in step S7).
  • the data is sent to the verification device (2) (step S8) [see Fig. 5].
  • the verification device (1) can authenticate that the verification device (1) holds the information s!
  • a large number N that is a natural number excluding a number that can be determined to be a prime number and is difficult to be prime factorized is preliminarily stored in the external storage device (17) and the verification device (1) of the proving device (1). It is assumed that it is stored in the external storage device (27) of 2).
  • N is generated in which robust security is guaranteed in the authentication system 'method shown in the embodiment described in this specification.
  • N can be generated by various methods other than those generated by a unique method.
  • N is generated by the third-party device (3).
  • This third-party device (3) is not necessarily physically independent, and can be realized as a module that exists inside the verification device (1) or verification device (2).
  • the external storage device (27) [or ROM, etc.] of the verification device (2) in the second embodiment does not require a program for generating verification information.
  • each program stored in the external storage device (27) [or ROM, etc.] and data power necessary for processing each program are read into the RAM (25) as necessary.
  • the CPU (24) executes each of these programs and processes each data. As a result, the CPU (24) realizes predetermined functions (authentication information generation factor generation unit, random number generation unit, determination unit, control unit).
  • a third party device in the second embodiment will be described.
  • FIG. 8 is a configuration block diagram illustrating the hardware configuration of the third-party device (3) of the second embodiment.
  • the third-party device (3) has an input unit (31) to which an input device such as a keyboard or a mouse can be connected, and an output unit (3 2) to which an output device such as a liquid crystal display can be connected.
  • a third party device (3) may be provided with a device (drive) that can read and write storage media such as CD-ROMs and DVDs! /.
  • a program for generating N In the external storage device (37) of the third-party device (3), a program for generating N, a program for generating g, a program for generating verification information, and processing of this program
  • the data (information s) required for is stored.
  • a control program for controlling processing based on these programs is also stored in the external storage device (37). Save it.
  • Data obtained by the processing of these programs is stored in a RAM or an external storage device.
  • each program stored in the external storage device (37) [or ROM, etc.] and the data power necessary for processing each program are read into the RAM (35) as necessary. It is.
  • the CPU (34) executes each of these programs and processes each data. As a result, the CPU (34) realizes predetermined functions (N generation unit, g generation unit, verification information generation unit, control unit).
  • a network configuration of the authentication system according to the second embodiment will be described.
  • FIG. 9 is a diagram illustrating a network configuration of the authentication system according to the second embodiment.
  • one proving device (1), one verification device (2), and one third party device (3) are connected via a network (5). They are connected so that they can communicate with each other.
  • the number of third party devices (3) is not limited to one. However, when there are multiple certification devices, if the same information (contrast information) as the information held by each certification device (retention information) is stored in a third party device, the verification information corresponding to each certification device In general, a single third-party device is sufficient.
  • control unit (390) of the third party device (3) reads the information s from the external storage device (37) and stores it in a predetermined storage area of the RAM (35) [FIG. reference ⁇ .
  • the N generation unit (340) of the third-party device (3) generates a number N that is a natural number excluding the number that can be determined to be a prime number and is difficult to prime factor, and this N is stored in RAM (35 ) (Step SOt) [see Fig. 10].
  • p and q exist infinitely, and N can be calculated efficiently by a probabilistic algorithm.
  • N may be determined by a program module executed by the processor of the verification device or the verification device! /.
  • An example of such a method is a multi-party protocol (see Reference 1). According to this method, none of the devices participating in the calculation for determining N can perform prime factorization of N, and can generate any N that satisfies the above requirements.
  • N Merenne number
  • N can be generated efficiently by probabilistic algorithms, and tables of numbers that are difficult to factorize are known, so select N closer to the power of 2 from such tables Even so,
  • the g generation unit (341) of the third party device (3) reads the RAM (35) force N, generates a positive integer g less than N, and uses this g as the predetermined value in the RAM (35). (Step Sit) [see Fig. 10].
  • the verification information generation unit (342) of the third party device (3) reads g, N, and information s from the RAM (35), performs an operation according to the above equation (1), and obtains the result of the operation.
  • C (s) [verification information] is stored in a predetermined storage area of RAM (35) (step S2t) [see FIG. 10].
  • the communication unit (33) also reads the RAM (35) force (obtained in steps S0t, Slt, S2t) N, g,
  • the verification information C (s) is transmitted to the verification device (2) (step S3t) [see Fig. 10].
  • control unit (390) of the third party device (3) deletes the information s stored in the external storage device (37) (step S4t).
  • the communication unit (23) Under the control of the control unit (290) of the verification device (2), the communication unit (23) receives N, g, and verification information C (s) transmitted in step S3t, and these g, verification information C ( s) is stored in the external storage device (27) (step S3v).
  • Steps S3 and S4 following step S3v are the same as the processing in the first embodiment. Therefore, the explanation is omitted.
  • step S5 in the first embodiment the verification device (2) transmits the authentication information generation factor R to the certification device (1).
  • the verification information generation factor R is changed to the authentication information generation factor R.
  • N and g are transmitted to the proving device (1) (step S5 ') [see FIG. 11].
  • the certification device (1) receives the authentication information generation factor R from the verification device (2).
  • N and g are also received from the verification device (2) (step S6 ′) [see FIG. 12].
  • Steps S7 to S12 subsequent to step S6 ′ are the same as the processing in the first embodiment, and thus description thereof will be omitted.
  • a third embodiment of the present invention will be described with reference to FIGS.
  • a technique for improving calculation efficiency in the first to second embodiments will be described.
  • This technique for improving the calculation efficiency can be applied to both the first embodiment and the second embodiment.
  • a case where the technique for improving the calculation efficiency is applied to the second embodiment will be described as an example.
  • the information s is divided into a plurality of information.
  • Information s represented by a bit string is divided into k pieces of division information s, s, ..., s
  • information S is expressed as a combination of k pieces of divided information S, S, ..., S
  • bit length of s is stored in advance in the external storage devices of the proving device (1), the verification device (2), and the third-party device (3).
  • the third-party device (3) may arbitrarily determine these and send them to the verification device (2) and the verification device (1), and the design can be changed as appropriate.
  • the number of divisions k may be set to a predetermined fixed value, or a protocol may be defined in which the bit length of s is obtained by equally dividing the bit length of s.
  • the same functions as those in the second embodiment 'processing is omitted by giving the same reference numerals. Also, in the following, simply speaking information s, k pieces of division information s, s,..., and s.
  • the proof device (1) in the third embodiment is the same as the proof device described in the first embodiment, the description thereof is omitted.
  • the verification device (2) in the third embodiment is the same as the verification device described in the second embodiment, the description thereof is omitted.
  • any function can be used as H (i, u, R) as long as the function value is determined depending on at least one of u and R and i.
  • the function H (i, u, R) is a function H (i, X) (X is at least one of u and R) that satisfies the following conditions: It is desirable.
  • H (i, X) is used, H (i, u, R) corresponding to all k pieces of division information s, s,.
  • Steps SOt and Sit are the same as the processing in the second embodiment, and thus description thereof is omitted.
  • the verification information generation unit (342) of the third-party device (3) has the RAM (35) force and g, N, k pieces of divided information s, s,. First division information obtained by dividing the contrast information into multiple pieces
  • step S4t is the same as the process in the second embodiment, the description thereof is omitted.
  • the certificate information Ci (s) is stored in the external storage device (27) (step S3va) [see FIG. 16].
  • Steps S3 and S4 following step S3va are the same as those in the first embodiment. A force is omitted.
  • the random number generation unit (242) of the verification device (2) reads v from the RAM (25) (assuming that the external storage device (27) is read in advance), and at most V bits. A random number u of a certain size is generated, and the random number u is stored in a predetermined storage area of the RAM (25) (step S4a) [see FIG. 16].
  • a predetermined value may be stored in the external storage device (27) as a value corresponding to the random number u, and this value may also be read by the external storage device (27). In this case, from the viewpoint of safety, the predetermined value corresponding to the random number u must be kept secret from the outside of the verification device (2).
  • step S5 In the process of step S5 'in the second embodiment, authentication information generation factors R, N, and g are transmitted to the authentication device (1).
  • authentication information generation factors R, N, and g In addition to g, a random number u is also sent to the proving device (1) (step S5a) [see FIG. 16].
  • the certification device (1) receives the authentication information generation factors R, N, and g from the verification device (2).
  • R, N, and g a random number u is also received from the verification device (2) (step S6a) [see FIG. 17].
  • the authentication information R (s) is generated according to the equation (3).
  • the authentication information generation unit (141) of the proving device (1) has a RAM (15) power of N, k pieces of divided information s, s,.
  • R (s) calculated by equation (6) is "information H whose value depends on i corresponding to the second divided information s and some information transmitted from the verification device (2)". This is an example of the result of the power-residue calculation with the sum of the product of the second divided information Si for all i as the power, the authentication information generation factor R as the base, and N as the modulus.
  • Expression (6) “Send from Verification Device (2) Using at least one of u and R as ⁇ some information to be performed '' and using function value H (i, u, R) determined depending on at least one of u and R and i as ⁇ information H '' Yes.
  • any information transmitted from the verification device (2) may include information other than u and R transmitted from the verification device (2).
  • a table in which “some information transmitted from the verification device (2)” and “i” and “information H” are associated with each other is shared between the certification device (1) and the verification device (2), The information generation unit (141) may determine “information H” using this table! /.
  • the bit length of the power of Expression (6) is much shorter than the bit length of the entire stored information s.
  • the calculation cost of Expression (6) is equal to Expression (3) of the first embodiment. Is about lZk compared to the operation cost of. Furthermore, if parameters such as k are selected appropriately, the overall system operation cost will be less than the operation cost of an authentication method using a well-known message authenticator that uses a SHA-1, such as SHA-1.
  • Steps S8 and S9 following step S7a are the same as the processing in the first embodiment (second embodiment), and therefore the description thereof is omitted.
  • step S10 in the first embodiment the determination is performed according to equation (4).
  • the decision unit (244) of the verification device (2) is RAM (25), N, random numbers! :, Random number u, authentication information generator R, authentication information R (s), and verification information C (s) are read (assuming that the external storage device (27) force is also read in advance). It is determined whether or not the relationship shown is satisfied (step SlOa) [see FIG. 18].
  • step SlOa Since the processing of steps Sl l and S12 following step SlOa is the same as the processing in the first embodiment (second embodiment), the description thereof will be omitted.
  • FIGS. a fourth embodiment of the present invention will be described with reference to FIGS.
  • the technology for improving safety is the first embodiment
  • the present invention can be applied to both the second embodiment and the third embodiment.
  • a case where the technology for improving safety is applied to the third embodiment will be described as an example.
  • the verification device that has transmitted the authentication information generation factor R is regarded as a reliable verification device. However, as described above, it can be denied that the verification device generates the authentication information generation factor R in an unauthorized manner, or that an attacker's device that has impersonated the verification device may intervene in the system of the present invention. Nah ... In order to deal with such a case, the verification device confirms that the verification device, which is the direct communication partner, has generated the authentication information generation factor R based on a predetermined process. Certify.
  • the fourth embodiment as an example, authentication of the verification device using zero knowledge dialogue proof regarding the random number r will be described.
  • the proof of knowledge is a proof of zero knowledge.
  • the mathematical proof of zero knowledge is not completely made at present, For example, can be replaced by bit commitment using the noh and shh functions.
  • the same function 'processing as in the third embodiment is given the same reference numerals and the description thereof is omitted.
  • the external storage device (17) [or ROM, etc.] of the proving device (1) in the fourth embodiment there are a program for generating authentication information, a program for generating c "described later, and an authentication information generating factor.
  • a program for authenticating that it has been properly generated by the verification device by dialogue proof, and data (information s, etc.) required for the processing of these programs are stored.
  • a control program for controlling is also stored in the external storage device (17).
  • each program stored in the external storage device (17) [or ROM, etc.] and the data power necessary for processing each program are read into the RAM (15) as necessary. It is.
  • the CPU (14) executes each of these programs and processes each data. As a result, the CPU (14) realizes predetermined functions (generation unit, authentication determination unit, authentication information generation unit, control unit).
  • the external storage device (27) [or ROM, etc.] of the verification device (2) in the fourth embodiment includes a program for generating an authentication information generation factor, a program for generating random numbers, and W and z described later.
  • the received information and the information held in the verification device A program for determining the match between the programs and data necessary for processing these programs are stored.
  • a control program for controlling processing based on these programs is also stored in the external storage device (27) or the like.
  • each program stored in the external storage device (27) [or ROM, etc.] and data power necessary for processing each program are read into the RAM (25) as necessary.
  • the CPU (24) executes each of these programs and processes each data.
  • the CPU (24) realizes predetermined functions (authentication information generation factor generation unit, random number generation unit, W generation unit, z generation unit, dialogue determination unit, determination unit, control unit).
  • predetermined functions authentication information generation factor generation unit, random number generation unit, W generation unit, z generation unit, dialogue determination unit, determination unit, control unit.
  • H (i, u, R) can be set, and other hash functions such as SHA-1 can be used.
  • the dialogue proof process in the fourth embodiment is performed between the process in step S6a and the process in step S7a described in the third embodiment.
  • step SOt to step S6a and step S7a to step SI2 will be omitted, and a description of this dialogue proof processing will be added.
  • control unit (190) of the proving device (1) reads 8 , t, N from the external storage device (17) and stores them in a predetermined storage area of the RAM (15). Keep it.
  • the random number generator (143) of the proving device (1) reads t from the RAM (15), and generates ⁇ with a random number c that is 0 or more and less than t and a random number that is relatively prime to N and 0 to less than N.
  • the random number c and the random number ⁇ are stored in a predetermined storage area of the RAM (15) (step S611) [see FIG. 21]. Note that the random number c between 0 and 2 1 may be generated.
  • the generator (142) of the proving device (1) reads the RAM (15) force N, g, t, random number random number ⁇ , performs an operation according to the equation (8), and calculates the operation result c "
  • the data is stored in a predetermined storage area of the RAM (15) (step S612) [see FIG. 21].
  • the random number c and the random number ⁇ obtained in step S611 are stored in the external storage device (17) under the control of the control unit (190) of the proving device (1).
  • the communication unit (23) receives the transmitted in step S613, and stores this in the external storage device (27) (step S614 (See Figure 22).
  • control unit (290) of the verification device (2) reads N and g from the external storage device (27) and stores them in a predetermined storage area of the RAM (25) [see FIG. ].
  • the random number generation unit (242) of the verification device (2) reads N in the RAM (25) force, generates a random number w of 0 or more and less than N, and stores the random number w in a predetermined storage area of the RAM (25).
  • Step S615 [Refer to Fig. 22]. Note that a random number w of 0 or more and N ′ 2 3t — 1 or less may be generated.
  • the W generation unit (247) of the verification device (2) reads the RAM (25) force N, g, and the random number w, performs an operation according to Equation (9), and calculates the result of the operation. W is stored in a predetermined storage area of the RAM (25) (step S616) [see FIG. 22].
  • Step S617 [See Fig. 22].
  • step S615 the random number w obtained in step S615 is stored in the external storage device (27) under the control of the control unit (290) of the verification device (2).
  • the communication unit (13) receives W transmitted in step S61 7 and stores this W in the external storage device (17) ( Step S618) [See Fig. 23].
  • control unit (190) of the proving device (1) uses the random number c and the random number as well as the external storage device (17) force.
  • the communication unit (13) transmits the random number c and the random number ⁇ read from the RAM (15) to the verification device (2) ( (Step S619) (See Figure 23.
  • the communication unit (23) receives the random number c and the random number ⁇ transmitted in step S619, and stores the random number c and the random number ⁇ in an external storage. Store in the device (27) (step S620) [see FIG. 24].
  • control unit (290) of the verification device (2) reads the random number c, the random number, g, t, N, the random number!:, The random number w, c ", and the external storage device (27). Is stored in a predetermined storage area of the RAM (25) [see Fig. 24].
  • the dialogue determination unit (250) of the verification device (2) reads g, c, t, N, random number ⁇ , from the RAM (25), and determines whether or not the relationship shown in the equation (8) is satisfied. Judgment is performed (step S621) [see FIG. 24]. If this determination result is not established, the process is terminated without executing the following processing under the control of the control unit (290) of the verification device (2) (step S622). If this determination result is a relationship, the following step S623 is executed under the control of the control unit (290) of the verification device (2).
  • the z generator (248) of the verification device (2) uses RAM (25) power random number c, random number! :, Read the random number w, perform the calculation according to the equation (10), and store the calculation result z in a predetermined storage area of the RAM (25) (step S623) [see FIG. 24].
  • step S623 sends z obtained in step S623 read from the RAM (25) to the proving device (1). Send to (step S624) [See Figure 24].
  • the communication unit (13) receives z transmitted in step S624 and stores this z in the external storage device (17) ( Step S625) [See Figure 25].
  • control unit (190) of the proving device (1) reads g, N, authentication information generation factors R, z, random number random number u, information s, W from the external storage device (17), and stores them in RAM. Store in the storage area specified in (15) [see Figure 25].
  • the authentication determination unit (145) of the proving device (1) reads the RAM (15) force g, z, N, random number W, and authentication information generation factor R, and the relationship shown in equation (11) is obtained. A determination is made as to whether or not this is true (step S626) [see FIG. 25]. If the determination result is not satisfied, the process ends without executing the following processing under the control of the control unit (190) of the proving device (1) (step S627). If the determination result is a relationship, the following step S7a is executed under the control of the control unit (190) of the proving device (1). The processing after step S7a is the same processing as in the second embodiment.
  • a fifth embodiment of the present invention will be described with reference to FIGS.
  • a dialogue proof technique unique to the present invention is applied.
  • an embodiment in which the dialog proof technique unique to the present invention is applied to the second embodiment will be described.
  • the external storage device (17) [or ROM, etc.] of the proving device (1) in the fifth embodiment includes a program for generating authentication information, a program for generating A described later, and a random number Programs, programs for verifying whether the verification device has generated the authentication information generation factor correctly using the first arbitrary information, and data (information s, etc.) required for processing these programs are stored. Yes.
  • a control program for controlling processing based on these programs is also stored in the external storage device (17).
  • each program stored in the external storage device (17) [or ROM, etc.] and data power necessary for processing each program are read into the RAM (15) as necessary.
  • the CPU (14) executes each of these programs and processes each data. As a result, the CPU (14) realizes predetermined functions (A generation unit, random number generation unit, first determination unit, authentication information generation unit, control unit).
  • a program for generating an authentication information generation factor, a program for generating random numbers, and B to be described later are generated.
  • a program for determining whether the proving device has correctly generated A, a proving device, a program for determining whether the received information matches the information held in the verification device, and these programs Data necessary for processing is saved.
  • a control program for controlling processing based on these programs is also stored in the external storage device (27) or the like.
  • each program stored in the external storage device (27) [or ROM, etc.] and the data power necessary for processing each program are read into the RAM (25) as necessary. It is.
  • the CPU (24) executes each of these programs and processes each data. As a result, the CPU (24) realizes predetermined functions (authentication information generation factor generation unit, B generation unit, random number generation unit, second determination unit, determination unit, control unit).
  • V be a predetermined natural number. It is assumed that V is stored in the external storage device (17) of the verification device (1) and the external storage device (27) of the verification device (2).
  • step SOt Since the processing from step SOt to step S3v is the same as the processing in the second embodiment, description thereof is omitted.
  • step S3v the following processing is sequentially performed.
  • control unit (290) of the verification device (2) reads the external storage device (27) forces N and g, and stores them in a predetermined storage area of the RAM (25). Then, under the control of the control unit (290) of the verification device (2), the communication unit (23) transmits N and g read from the RAM (25) to the proving device (1) (step S700). ) [See Figure 30].
  • Step S701 [See Fig. 31].
  • control unit (190) of the proving device (1) reads N, g, and v from the external storage device (17) and stores them in a predetermined storage area of the RAM (15). [See Figure 31].
  • the random number generation unit (143) of the proving device (1) reads v from the RAM (15), generates a random number a having a size of about 2 at most, and the random number a is stored in the RAM (15) with a predetermined value. Store in the storage area (step S702) [see Fig. 31].
  • the random number generation unit (143) may generate the random number a from the range 0 ⁇ a ⁇ N '2 v — 1. This is because, as described above, the configuration in which the random number a is selected from such a range is desirable from the viewpoint of achieving both safety and calculation cost. Also, a must be a random number, and any value can be selected arbitrarily!
  • the A generator (148) of the proving device (1) reads the RAM (15) force N, g, and the random number a, performs an operation according to the equation (12), and calculates the operation result A. Store in a predetermined storage area of the RAM (15) (step S703) [see FIG. 31].
  • the random numbers a and A obtained in steps S703 and S704 are stored in the external storage device (17) under the control of the control unit (190) of the proving device (1).
  • the communication unit (23) receives A transmitted in step S704 and stores this A in the external storage device (27) ( Step
  • control unit (290) of the verification device (2) reads N, g, v, and A from the external storage device (27) and stores them in a predetermined storage area of the RAM (25). Store [see Fig. 32].
  • the random number generation unit (242) of the verification device (2) reads v from the RAM (25), generates a random number r having a size of about 2 at most, and the random number r is stored in the RAM (25) with a predetermined value. Store in the storage area (step S706) [see Fig. 32].
  • the random number generator (242) may generate a range force random number r of force 0 ⁇ r ⁇ N'2 v — 1. This is because such a configuration in which such a range power random number r is selected is desirable from the viewpoint of both safety and calculation cost. Also, r must be a random number, as long as the value you choose is arbitrary!
  • the authentication information generation factor generation unit (243) of the verification device (2) reads N, g, and a random number r from the RAM (25), performs an operation according to the above equation (2), and The calculation result R [authentication information generation factor] is stored in a predetermined storage area of the RAM (25) (step S707) [see FIG. 32].
  • the B generation unit (249) of the verification device (2) reads N, random numbers!:, A from the RAM (25), performs an operation according to the equation (13), and stores the operation result B in the RAM ( 25) (step S708) [see FIG. 32].
  • the communication unit (23) obtains the authentication information generation factor R obtained in steps S707 and S708 read from the RAM (25). , B are transmitted to the certification device (1) (step S709) [see FIG. 32].
  • the random numbers obtained in steps S706, S707, and S708! The authentication information generation factors R and B are stored in the external storage device (27) under the control of the control unit (290) of the verification device (2).
  • the communication unit (13) receives the authentication information generation factors R and B transmitted in step S709, and this authentication information generation factor R, B is stored in the external storage device (17) (step S710) [see FIG. 33].
  • control unit (190) of the proving device (1) reads B, authentication information generation factor random number a, information s, N from the external storage device (17), and stores each of them in the RAM (15). Store in the storage area.
  • the first determination unit (160) of the proving device (1) reads B, the authentication information generation factor R, and the random numbers a and N from the RAM (15), and determines whether or not the relationship shown in the equation (14) is established. (Step S711) [See Fig. 33]. If this determination result does not hold, the process is terminated without executing the following processing under the control of the control unit (190) of the proving device (1) (step S712). If this determination result is a relationship, step S713 is subsequently executed under the control of the control unit (190) of the proving device (1).
  • the authentication information generation unit (141) of the proving device (1) reads the RAM (15) force N, information s, and the authentication information generation factor R, and performs the calculation according to the above equation (3).
  • This calculation result R (s) [authentication information] is stored in a predetermined storage area of the RAM (15) (step S713) (see FIG. 33).
  • step S713 the authentication information R (s) obtained in step S713 read from the communication unit (13) force RAM (15) and obtained in step S702.
  • the random number a is transmitted to the verification device (2) (step S714) [see FIG. 33].
  • the communication unit (23) receives the authentication information R (s) and the random number a transmitted in step S714.
  • the authentication information R (s) and the random number a are stored in the external storage device (27) (step S715) [see FIG. 34].
  • control unit (290) of the verification device (2) receives N, random number!:, Authentication information from the external storage device (27).
  • Information R (s), verification information C (s), A, random numbers a and g are read and stored in a predetermined storage area of the RAM (25) [see FIG. 34].
  • the second determination unit (260) of the verification device (2) reads g from the RAM (25) and random numbers a and N, and whether or not the relationship shown in the equation (15) is satisfied. (Step S716) [see FIG. 34]. If this determination result does not hold, the process ends without executing the following processing under the control of the control unit (290) of the verification device (2) (step S717). When this determination result is satisfied, the subsequent processing from step S10 is executed under the control of the control unit (290) of the verification device (2). Since the processing after step S10 has already been described, it will be omitted. It is desirable that the verification device (2) force step S716 and step S10 do not transmit to the proving device whether the relationship is not established when the determination result is that the relationship is not established. This is because the protocol in which this information is transmitted cannot maintain security.
  • A g a modN (1 5 ) Note that corresponds to the step S702 of the present embodiment S704, S710, partial force performs the processes of S711 S "interactive proof section". Further, the part that executes each processing of steps S705 to S709, S715, and S716 of this embodiment corresponds to the “dialog verification unit”.
  • the sixth embodiment is a form for improving the calculation efficiency in the fifth embodiment.
  • the technique for improving the calculation efficiency is the same as in the third embodiment.
  • the method for improving the calculation efficiency described in the third embodiment is applied to the second embodiment by applying the original dialog proof method described in the fifth embodiment to the present invention. Describe the configuration to apply.
  • the verification device (2) in the sixth embodiment is the same as the verification device described in the fifth embodiment, a description thereof will be omitted.
  • V be a predetermined natural number. It is assumed that V is stored in the external storage device (17) of the verification device (1) and the external storage device (27) of the verification device (2).
  • step SOt to step S3va is the same as the processing in the third embodiment, and the explanation of force is omitted.
  • step S3va the following processing is sequentially performed.
  • control unit (290) of the verification device (2) reads v, N, and g from the external storage device (27) and stores them in a predetermined storage area of the RAM (25) [ (See Figure 38).
  • the random number generation unit (242) of the verification device (2) reads v from the RAM (25), generates a random number u having a size of at most about V bits, and uses the random number u in the RAM (25) as a predetermined value. (Step S800) [see FIG. 38].
  • Step S801 [See Fig. 38].
  • step S800 is stored in the external storage device (27) under the control of the control unit (290) of the verification device (2).
  • the communication unit (13) receives the random numbers u, N, g transmitted in step S801, and uses the random numbers u, N, g.
  • the data is stored in the external storage device (17) (step S802) [see FIG. 39].
  • the force at which steps S702 to S712 are processed following step S802 is the same as described in the fifth embodiment, and thus the description thereof is omitted.
  • step S711 that is, the case where the end process of step S712 is not performed
  • step S803 the next step S803 is processed. That is, the authentication information generation unit (141) of the proving device (1) reads the RAM (15) power N, information s, authentication information generation factor R, random numbers u, A, and B (previously external storage device (17) The calculation is performed according to equation (16), and the calculation result R (s) [authentication information] is stored in a predetermined storage area of the RAM (15) (step S8 03). [See Figure 40].
  • steps S8, S9, and S716 are processed in sequence. As described in the fifth embodiment, the description is omitted.
  • step S716 that is, the case where the end process of step S717 is not performed
  • step S804 the next step S804 is processed. That is, the determination unit (244) of the verification device (2) is N, random numbers from the RAM (25)! :, Random number u, authentication information generation factor R, authentication information R (s), verification information C (s), A and B are read (assuming that the external storage device (27) force is also read in advance), formula ( It is determined whether or not the relationship shown in 17) is established (step S804) [see FIG. 41].
  • steps S11 and S12 following step S804 is the same as the processing in the third embodiment, and a description thereof will be omitted.
  • the authentication system method according to the present invention is not limited to the above-described embodiment, and can be appropriately changed without departing from the spirit of the present invention.
  • a cyclic group for multiplication of a remainder ring modulo a constant N is used as a “commutative semigroup”.
  • the “commutative semigroup” that can be used in the present invention is It is not limited to.
  • a cyclic group for multiplication of a remainder ring modulo a polynomial may be used as a “commutative semigroup”.
  • the base (for example, g) of the power calculation defined by the commutative semigroup is a numerical value such as a natural number.
  • the base of this power operation may be a polynomial.
  • N is a natural number excluding a number that can be determined to be a prime number, and is preferably a number that is difficult to be prime factorized.
  • N may be a composite number that is the product of three or more prime numbers.
  • N can be any value from the viewpoint of security.
  • the “commutative semigroup” does not necessarily have to be difficult to calculate the order of the finite set defined in the semigroup. Absent.
  • H (i, u, R) 1.
  • the data may be stored in the RAM described as being stored in the external storage device, or may be stored in the external data storage device described as being stored in the RAM.
  • the method of generating authentication information and the method of determination can be changed as appropriate.
  • the processing described in the above authentication system 'method is not only executed in time series in the order described, but also executed in parallel or individually as required by the processing capability of the device that executes the processing. It may be.
  • the proof device, verification device, and third-party device when the processing functions in the above proof device, verification device, and third-party device are realized by a computer having a processor as the core, the proof device, verification device, and third-party device should be provided.
  • the processing content of the function is described by a program. Then, by executing this program on a computer, the processing functions in the above-described certification device, verification device, and third-party device are realized on the computer.
  • the program describing the processing contents can be recorded on a computer-readable recording medium.
  • a computer-readable recording medium for example, Any device such as a magnetic recording device, an optical disk, a magneto-optical recording medium, or a semiconductor memory may be used.
  • a magnetic recording device a hard disk device, a flexible disk, a magnetic tape, etc.
  • an optical disk a DVD (Digital Versatile Disc), a DVD-RAM (Random Access Memory), a CD-ROM (Compact Disc) Read Only Memory ;, CD—R (Recordable) ZRW (Rewritable), etc., magneto-optical recording medium, MO (Magne to-Optical disc), etc. ) Etc.
  • CD—R Recordable
  • ZRW Rewritable
  • the program is distributed by selling, transferring, or lending a portable recording medium such as a DVD or CD-ROM that records the program. Furthermore, the program may be distributed by storing the program in a storage device of a server computer and transferring the program to a server computer or another computer via a network! /.
  • a computer that executes such a program for example, first stores the program recorded on the portable recording medium or the program transferred with the server computer power in its own storage device. When executing the process, this computer reads the program stored in its own recording medium and executes the process according to the read program. As another execution form of the program, the computer may directly read the program on the portable recording medium and execute processing according to the program, and the server computer power program may be transferred to the computer. Each time, the processor may sequentially execute processing according to the received program.
  • the above-mentioned service is realized by the V, so-called ASP (Application Service Provider) type service, which realizes processing functions only from the execution instructions and result acquisition without transferring the program from the server computer to this computer.
  • the program in this embodiment includes information that is used for processing by an electronic computer and that conforms to the program (data that is not a direct command to a computer but has a property that defines the processing of the computer, etc.). Shall be.
  • the authentication device, the verification device, and the third-party device are configured by causing a computer to execute a predetermined program. Both of them will be realized in the form of nodeware.

Abstract

 検証装置は、対比情報の内容に依存し、情報量に依存しない検証情報と、第1任意情報と、を第1記憶部に記憶させる。また、検証装置は、認証情報生成因子を、第1任意情報を用いて生成して証明装置に送信する。証明装置は、当該認証情報生成因子と保持情報とを用い、認証情報生成因子と保持情報との内容に依存し、保持情報の情報量に依存しない認証情報を生成して検証装置に送信する。検証装置の判定部は、その認証情報と検証情報と第1任意情報との間に、所定の関係が成立するか否かを判定する。これにより、検証装置は、証明装置に格納された保持情報が、対比情報と同一であることを検証する。

Description

明 細 書
認証システム、認証方法、証明装置、検証装置、それらのプログラム及び 記録媒体
技術分野
[0001] 本発明は、メッセージ認証技術に関し、詳しくは、特定または不特定の装置が、所 定の情報を内部に保持していることを証明 ·検証することを可能とする技術に関する 背景技術
[0002] 特定または不特定の装置が、所定の情報を内部(例えばノヽードディスクなどの記憶 部)に保持していることを認証する技術は、メッセージ認証技術と呼ばれる。この技術 には、認証の過程で必要とされる通信量が、保持していることを証明したい情報の量 (情報量)に依存しないという特徴がある。
従来におけるメッセージ認証技術の概要を説明する。証明装置と検証装置は予め 秘密鍵 kを共有しておく。次に証明装置はその保持する情報 sに対して一定の長さを 有するメッセージ認証子 M (s, k)を計算し、検証装置に送付する。検証装置は情報 s のコピーを保持していて、証明装置力も送付されたメッセージ認証子 M (s, k)の正当 性を検証する。
[0003] メッセージ認証子は、おもに共通鍵暗号やハッシュ関数に関する技術を用いて設 計されて!、る。メッセージ認証子の構成方法にっ ヽての一例を記述した文献を非特 許文献 1に示す。
非特許文献 l : Tetsu Iwata, Kaoru Kurosawa, "OMAC: One-Key CBC MAC", LNCS 2887(2003),ppl29- 153, Springer- Verlag.
発明の開示
発明が解決しょうとする課題
[0004] メッセージ認証子を用いる方式にぉ 、ては、認証子の正当性を検証するために、 検証装置は検証対象の情報 sのコピーを保持しておく必要がある。このため、この方 式においては検証装置の記憶容量の効率に課題があった。また、この方式では、メッ セージ認証に先立って、証明装置と検証装置との間で、予め秘密鍵 kを共有しておく 必要がある。そして、秘密鍵 kが外部に漏洩した場合、この方式の安全性は保てない 。よって、このような秘密鍵 kの証明装置と検証装置への配布や、証明装置と検証装 置での管理には、秘密鍵 kが第三者へ漏洩することを防止するための煩雑な手法や 構成が必要となる。つまり、メッセージ認証子を用いる方式には、利便性と安全性に も課題があった。
[0005] 本発明は、このような点に鑑みてなされたものであり、証明装置に所定の情報が保 持されて!ヽることを検証装置が検証する技術にぉ ヽて、検証装置の記憶容量を有効 活用し、なおかつ、利便性と安全性を向上させることを目的とする。
課題を解決するための手段
[0006] 本発明では、保持情報が格納された証明装置に通信可能に接続された検証装置 力 当該保持情報と、任意の対比情報と、の同一性を検証する (なお、「対比情報」及 び「保持情報」は、ビット情報である。 ) o
そのために、まず、検証装置は、対比情報の内容に依存する内容を有し、対比情 報の情報量に依存しな!、情報量を有する検証情報と、任意の情報である第 1任意情 報と、を第 1記憶部に記憶させる。また、検証装置は、証明装置に認証情報を生成さ せるための認証情報生成因子を、第 1記憶部に記憶された第 1任意情報を用いて生 成し、生成した認証情報生成因子を証明装置に送信する。
[0007] 証明装置は、上記の認証情報生成因子を受信し、当該認証情報生成因子と、第 2 記憶部に記憶された保持情報とを用い、認証情報生成因子と保持情報との内容に 依存する内容を有し、保持情報の情報量に依存しな ヽ情報量を有する認証情報を 生成する。次に、証明装置は、この認証情報を検証装置に送信する。
検証装置は、証明装置が送信した認証情報を受信し、検証装置の判定部が、その 認証情報と、第 1記憶部に記憶された検証情報及び第 1任意情報との間に、所定の 関係が成立するか否かを判定する。これにより、検証装置は、証明装置に格納された 保持情報が、対比情報と同一であることを検証する。
[0008] ここで、本発明の検証装置が、検証処理を行うために自ら保持しておかなければな らないのは、対比情報の情報量に依存しない情報量を有する検証情報であり、対比 情報自体ではない。よって、検証対象となる証明装置に格納された保持情報の情報 量が大きぐ対比情報の情報量も大きくなる場合であっても、検証装置に必要な記録 容量は、さほど増大しない。また、本発明では、証明装置と検証装置との間で秘密鍵 を共有する必要がな 、ため、利便性と安全性が高 、。
また、本発明において好ましくは、検証情報は、可換な半群をなす演算が定義され た有限集合の元を底とし、対比情報を冪数として、当該半群で定義された冪乗を行 つた演算結果であり、認証情報生成因子は、当該有限集合の元を底とし、第 1任意 情報を冪数として、半群で定義された冪乗を行った演算結果であり、認証情報は、認 証情報生成因子を底とし、保持情報を冪数として、半群で定義された冪乗を行った 演算結果である。そして、判定部は、検証情報を底とし、第 1任意情報を冪数として、 半群で定義された冪乗を行った演算結果と、認証情報と、が等しいか否かを判定す る。
[0009] この構成での検証情報は、可換な半群をなす演算が定義された有限集合の元を底 とし、対比情報を冪数として、当該半群で定義された冪乗を行った演算結果である。 この検証情報は、必ず、当該半群上定義された有限集合の元となる。よって、検証情 報の情報量は、対応する対比情報の情報量に拘らず、当該有限集合の何れか元の 情報量と同一になる。そのため、検証情報を格納するために検証装置に要求される 記憶容量も抑制できる。また、この構成では、証明装置と検証装置との間で秘密鍵を 共有する必要がな 、ため、利便性と安全性が高 、。
[0010] なお、当該本発明の好ましい構成の場合でも、上記の半群を特定するための情報 と有限集合の元とを、検証情報と証明装置とで共有する必要はある。しかし、これらの 情報は、必ずしも秘密情報である必要はなぐこれらの情報が攻撃者に漏洩しても、 認証方式の安全性は確保できる。よって、これらの情報を証明装置と検証装置との 間で共有することに起因する利便性や安全性の問題は発生しない。
また、より好ましくは、上記の半群として、当該半群で定義された有限集合の位数の 算出が困難なものを用いる。攻撃者が上記の半群で定義された有限集合の位数を 算出できた場合、この攻撃者は、算出した位数を、検証に合格する認証情報を不正 に作成するための情報として利用することができるからである。すなわち、認証情報 生成因子を底とし、保持情報を冪数として、半群で定義された冪乗を行った演算結 果と、認証情報生成因子を底とし、当該保持情報 +任意の整数 X位数を冪数として 、当該半群で定義された冪乗を行った演算結果とは等しい (衝突: collision)。これは 、位数を知った攻撃者は、保持情報自体を見つけなくても、保持情報 +任意の整数 X位数の何れかを見つけることにより、検証装置での検証に合格する認証情報を生 成できること、を知ることを意味する。この情報は、攻撃者が検証に合格する認証情 報を効率的に探索するための情報となる。よって、上記位数が攻撃者に知られること により、本発明の安全性は低下する。そのため、上記の半群は、位数の算出が困難 なものであることが望まし 、。
[0011] また、本発明にお ヽて、好ましくは、検証情報は、定数 Nを法とし、 N未満の値 g (好 ましくは、 2以上 N未満の値 g)を底とし、対比情報 s'を冪数とした冪乗剰余演算結果 C (s' )であり、認証情報生成因子は、 Nを法とし、値 gを底とし、第 1任意情報 rを冪数 とした冪乗剰余演算結果 Rであり、認証情報は、 Nを法とし、認証情報生成因子 Rを 底とし、保持情報 sを冪数とした冪乗剰余演算結果 R (s)である。そして、判定部は、 Nを法とし、検証情報 C (s' )を底とし、第 1任意情報 rを冪数とした冪乗剰余演算結果 と、認証情報 R(s)と、が等しいか否かを判定する。
[0012] この構成での検証情報は、定数 Nを法とし、 N未満の値 gを底とし、対比情報 s'を冪 数とした冪乗剰余演算結果 C (s' )である。その場合、検証情報は、対比情報 s'の情 報量に拘らず、必ず、 0以上 N— 1以下の整数となる。これは、検証情報を格納する ために検証装置に要求される記憶容量を抑制できることを意味する。また、この構成 でも、証明装置と検証装置との間で秘密鍵を共有する必要がないため、利便性と安 全性は高い。なお、この構成の場合でも、定数 Nと値 gとの情報を、検証情報と証明 装置とで共有する必要はある。しかし、これらの情報が攻撃者に漏洩しても認証方式 の安全性は確保できる。よって、これらの情報を証明装置と検証装置との間で共有す ることに起因する利便性や安全性の問題は発生しない。
[0013] ここで、より好ましくは、定数 Nは、素数であることが判定可能な数を除く自然数であ つて、素因数分解困難な数である。定数 Nが素数である場合、定数 Nを法とした剰余 環 (Z/NZ)*の乗法についての位数は、 N—1の計算によって容易に求めることができ る。よって、素数であることが判定可能な数を定数 Nとしないことが望ましい。また、定 数 Nが合成数 (但し、 N = p ' qであり、 p, qは十分大きな素数)である場合、定数 Nを 法とした剰余環は、乗法に関して位数 p ' q-p-q+1の巡回群となる。よって、この定数 N の素因数分解が容易なのであれば、 N=p ' qを満たす p, qから、定数 Nを法とした剰余 環の乗法に関しての位数を求めることができる。逆に、当該位数が分かり、冪乗剰余 演算結果を衝突させることができるのであれば、それらの情報を用いて当該定数 Nの 素因数分解ができることも知られている(例えば、 G. Miller. Riemanann's hypothesis and tests ror pnmality. Journal of Computer systems science, Vol. 1ύ, pages ύ00~3 17, 1976.など参照)。すなわち、定数 Νが合成数である場合、上記位数を求めること は、当該定数 Νの素因数分解を行う以上に困難である (Νが 2つの素数の積からなる 合成数である場合、これらの困難性は同等)。
[0014] よって、素数であることが判定可能な数を除く自然数であって、素因数分解困難な 数を Νとすることは望ましい。なお、「素数であることが判定可能な数」とは、本願出願 時に公然知られた素数判定法を用いることによって「素数であること」が判定可能な 数、及び、本願出願時に「素数であること」が公然知られた数を意味する。
また、本発明において定数 Ν力 3つ以上の素数の積力もなる合成数であってもよ い。この場合、たとえ攻撃者が定数 Νを素因数分解できたとしても、この攻撃者は、当 該定数 Νを法とした剰余環の乗法に関しての位数を容易に算出できな ヽからである 。なお、演算効率の面からは、素数であることが判定可能な数を除く自然数であって 、素因数分解困難な数を Ν (但し、 Νが合成数の場合、 N = p ' qであり、 p, qは十分 大きな素数)とすることが望ま U、。
[0015] また、本発明において好ましくは、上記の第 1任意情報 rは、 Vを所定の自然数とし た場合における、 0≤r≤N ' 2 v— 1の範囲から任意に選択される値である。このような 範囲から第 1任意情報 rが任意に選択される場合、 Nを法とし、値 gを底とし、第 1任意 情報 rを冪数とした冪乗剰余演算結果が、 Nを法とした剰余環の乗法にっ ヽての巡 回群の元から任意に選択した値〔≡ (Z/NZ)*〕と識別不能な分布を持つことが証明で きる。これは、 Nを法とし、値 gを底とし、第 1任意情報 rを冪数とした冪乗剰余演算結 果力 第 1任意情報 rを求める困難性と、 Nを法とした剰余環の乗法についての巡回 群の元から任意に選択した値の離散対数問題を解く困難性と、が同等であることを 示している。すなわち、第 1任意情報 r力O≤r≤N ' 2 v— lの範囲から任意に選択され る値である限り、上記冪乗剰余演算結果から第 1任意情報 rを特定することは十分困 難である。そして、これよりも上限を広げた範囲力ゝら第 1任意情報 rを選択する構成と しても、安全性は向上せず、冪乗演算の演算コストが上昇するだけである。
[0016] また、本発明において、好ましくは、検証情報は、対比情報を複数に分割した第 1 分割情報ごとに、それぞれの当該第 1分割情報を用いて生成された情報であり、認 証情報は、認証情報生成因子と、証明装置に記憶された保持情報を複数に分割し た第 2分割情報の全てと、を用いて生成された情報である。
この場合、認証情報は、証明装置に記憶された保持情報を複数に分割した第 2分 割情報を全て用いて生成される。よって、保持情報そのものを用いて認証情報を生 成する場合に比べ、多様な演算方法を採ることが可能となる。そのため、採用する演 算方法によっては、認証情報の生成を高速で行うことができる。
[0017] ここで好ましくは、検証情報は、可換な半群をなす演算が定義された有限集合の元 を底とし、第 1分割情報を冪数として、当該半群で定義された冪乗を行った演算結果 であり、認証情報生成因子は、有限集合の元を底とし、第 1任意情報を冪数として、 半群で定義された冪乗を行った演算結果であり、認証情報は、認証情報生成因子を 底とし、第 2分割情報の全てを用いて算出した値であって保持情報よりも情報量が少 ないものを冪数として、半群で定義された冪乗を行った演算結果である。そして、判 定部は、検証情報の全てを用いて算出した値を底とし、第 1任意情報を冪数として、 半群で定義された冪乗を行った演算結果と、認証情報と、が等しいか否かを判定す る。
[0018] この認証情報は、認証情報生成因子を底とし、第 2分割情報の全てを用いて算出し た値であって保持情報よりも情報量が少な ヽものを冪数として、半群で定義された冪 乗を行った演算結果である。冪乗演算の演算コストは、冪数の値に大きくなるにつれ て急激に大きくなるため、冪数の値を小さくすることは演算コストの低減に大きく貢献 する。第 2分割情報の全てを用いて算出した値であって保持情報よりも情報量が少な いものを冪数とすることにより、認証情報を算出するための冪乗演算のコストを大幅に 低減できる。
また、本発明において好ましくは、認証情報は、各上記第 2分割情報の保持情報内 のビット位置に対応する事前準備困難な情報と、第 2分割情報の全てとを用いて算 出した値であって保持情報よりも情報量が少な 、ものを冪数とし、認証情報生成因子 を底として、半群で定義された冪乗を行った演算結果である。
[0019] 各上記第 2分割情報の保持情報内のビット位置に対応する事前準備困難な情報と 、第 2分割情報の全てとを用いて算出した値を冪数として認証情報を生成することに より、保持情報を保持しておらず、各第 2分割情報が保持情報内のどのビット位置の 情報であるかを知らないが各分割情報のみを知っている攻撃者が、検証装置での検 証に合格する認証情報を偽造する不正を防止できる。
また、本発明において、好ましくは、検証情報は、定数 Nを法とし、 N未満の値 gを 底とし、第 1分割情報 s 'を冪数とした冪乗剰余演算結果 であり、認証情報生 成因子は、 Nを法とし、値 gを底とし、第 1任意情報 rを冪数とした冪乗剰余演算結果 Rであり、認証情報は、第 2分割情報 sに対応する i及び検証装置から送信される何ら かの情報に値が依存する情報 Hと、第 2分割情報 sと、の積を全ての iについて合計 した値を冪数とし、認証情報生成因子 Rを底とし、 Nを法とした冪乗剰余演算結果 R( s)である。そして、判定部は、全ての iに対応する各検証情報 C (s' )をそれらにそれ ぞれ対応する情報 Hによって冪乗した各値の積を底とし、第 1任意情報!:を冪数とし、 Nを法とした冪乗剰余演算結果と、認証情報 R(s)と、が等しいか否かを判定する。な お、 iは、第 1分割情報 s 'の対比情報内におけるビット位置、及び、第 2分割情報 sの 保持情報内におけるビット位置を示すインデックスである。
[0020] この認証情報は、第 2分割情報 sに対応する i及び検証装置から送信される何らか の情報に値が依存する情報 Hと、第 2分割情報 sと、の積を全ての iについて合計した 値を冪数とし、認証情報生成因子 Rを底とし、 Nを法とした冪乗剰余演算結果 R ( で ある。この場合、保持情報を保持しておらず、各第 2分割情報が保持情報内のどの 位置の情報である力を知らな 、が各分割情報のみを知って 、る攻撃者が、検証装置 での検証に合格する認証情報を偽造する不正を防止できる。
ここで、より好ましくは、情報 Hは、第 2分割情報 sに対応する iと検証装置から送信 される何らかの情報とに値が依存する一方向性関数値である。
[0021] この場合、複数種類の「検証装置カゝら送信される何らかの情報」及び「i」の組に対 応する各情報 Hが同一の値となってしまうこと (衝突: collision)を防止できる。その結 果、誤った「検証装置力も送信される何らかの情報」及び「i」の組から、検証装置での 検証に合格する認証情報が生成されることを防止でき、検証の信頼性と安全性が向 上する。
さらに、本発明では、認証情報生成因子が、検証装置に記憶された第 1任意情報 を用いて正当に生成されたことを、検証装置が証明装置に、対話証明によって証明 してもよい。この場合、検証装置は、証明装置が受信した認証情報生成因子が検証 装置に記憶された第 1任意情報を用いて生成されたことを、証明装置との対話証明 によって証明装置に証明し、証明装置は、認証情報生成因子が、検証装置に記憶さ れた第 1任意情報を用いて生成されたことを、検証装置との対話証明によって検証 する。そして、証明装置は、認証情報生成因子が、検証装置に記憶された第 1任意 情報を用いて生成されたことを確認できた場合に、認証情報を検証装置に送信する
[0022] このような構成により、攻撃者の装置が当該対話証明に介在しない限り、正規の証 明装置と検証装置との間に介在した攻撃者の装置が、正規の検証装置に対して証 明装置に成り済まし、正規の証明装置に対して検証装置に成り済まし、保持情報を 保持していると検証装置を誤認させる不正を抑制できる。すなわち、このような構成を 採らない場合、正規の証明装置と検証装置との間に介在した攻撃者の装置が、証明 装置に成り済まして正規の検証装置から認証情報生成因子を受け取り、さらに、検証 装置に成り済まして正規の証明装置に当該認証情報生成因子を送信し、正規の証 明装置力も送信された認証情報を受け取ることができる。そして、この攻撃者の装置 は、認証情報を正規の検証装置に送信することにより、この攻撃者の装置が保持情 報を保持した装置であると、検証装置を誤認させることができる。これに対し、証明装 置が、認証情報生成因子が検証装置に記憶された第 1任意情報を用いて生成され たことを確認できた場合にのみ、認証情報を検証装置に送信する構成を採った場合 、攻撃者の装置が当該対話証明に介在しない限り、攻撃者の装置が、検証装置に成 り済まして正規の認証装置力も認証情報を受け取ることが困難となる。その結果、正 規の証明装置と検証装置との間に介在した攻撃者の装置が、保持情報を保持して V、ると検証装置を誤認させる不正を防止できる。
[0023] また、このような構成では、正規の検証装置が不正な第 1任意情報を生成し、何ら かの不正行為(例えば、偽りの検証処理のログを生成することなど)をも防止できる。 さらにまた、この構成では、対比情報ではなぐ第 1任意情報を対話証明の対象とし ているので、検証対象の保持情報のデータ量が大きぐ対比情報のデータ量が大き な場合であっても、対話証明に必要な演算コストや通信データ量を低く抑えることが できる。
また、この対話証明を含む処理は、好ましくは、以下のように行う。
まず、証明装置が、可換な半群をなす演算が定義された有限集合の元 gを底とし、 任意の情報である第 2任意情報 aを冪数として、半群で定義された冪乗を行った演算 値 Aを生成し、演算値 Aを検証装置に送信する。検証装置は、この演算値 Aを受信し 、有限集合の元 gを底とし、第 1任意情報 rを冪数として、半群で定義された冪乗を行 つて認証情報生成因子 Rを生成する。さら〖こ、検証装置は、演算値 Aを底とし、第 1 任意情報 rを冪数として、半群で定義された冪乗を行って演算値 Bを生成し、認証情 報生成因子 Rと演算値 Bとを証明装置に送信する。証明装置は、認証情報生成因子 Rと演算値 Bとを受信し、第 2受信部が受信した認証情報生成因子 Rを底とし、第 2任 意情報 aを冪数として、半群で定義された冪乗を行った演算結果と、演算値 Bと、が 等しいか否かを判定し、これらが等しカゝつた場合に、認証情報を、検証装置に送信す る。
[0024] このような構成により、攻撃者の装置が当該対話証明に介在しない限り、正規の証 明装置と検証装置との間に介在した攻撃者の装置が、保持情報を保持していると検 証装置を誤認させる不正を抑制できる。また、この構成では、第 1任意情報 rを対話 証明の対象としているので、対話証明に必要な演算コストや通信データ量を低く抑え ることがでさる。
また、このような構成では、正規の検証装置が不正な第 1任意情報を生成し、偽りの 検証処理のログを生成することをも防止できる。 さらにまた、この構成では、対比情報ではなぐ第 1任意情報を対話証明の対象とし ているので、検証対象の保持情報のデータ量が大きぐ対比情報のデータ量が大き な場合であっても、対話証明に必要な演算コストや通信データ量を低く抑えることが できる。
[0025] このような構成において、さらに好ましくは、証明装置は、認証情報生成因子 Rを底 とし、第 2任意情報 aを冪数として半群で定義された冪乗を行った演算結果と、演算 値 Bと、が等しいことを確認できた場合に、さらに、第 2任意情報 aを、検証装置に送 信する。検証装置は、この第 2任意情報 aを受信し、有限集合の元 gを底とし、第 2任 意情報 aを冪数として、半群で定義された冪乗を行った演算結果と、演算値 Aと、が 等しいか否かを判定する。
このような処理を追加することにより、保持情報 sは知らないが、 Aを決定でき、上記 半群において C (s) =gLAmとなる L, mを知っている攻撃者による不正を防止できる。 すなわち、このような処理が実行されない場合、保持情報 sも対比情報 s'も知らない 力 Aを決定でき、 C (s' ) =gLAm (上記半群で定義された演算)となる L, mを知って いる攻撃者の装置は、検証装置から認証情報生成因子 Rと演算値 Bとを受け取り、 R m (上記半群で定義された演算)を計算し、これを認証情報であると偽って検証装 置に送信することが可能である。ここで、 RLBm=grLArm= (gLAm) r=C (s' )を満たす ため、このような攻撃者の装置は、自らが保持情報 sを保持していると検証装置を誤 認させることができる。一方、このような攻撃者は、 A=ga (上記半群で定義された演 算)となる第 2任意情報 aを知らない。もし、このような攻撃者が当該第 2任意情報 aを 知っているならば、その攻撃者は、 C (s) =gLAm=gL+a'm=gs'を算出できることになり 、その攻撃者が保持情報 sも対比情報 s'も知らないことと矛盾する力もである。よって 、上述のように、検証装置が受け取った第 2任意情報 aを用い、 A = ga (上記半群で 定義された演算)を満たすか否かを判定する処理を追加することによって、このような 攻撃者の不正を防止できる。
[0026] なお、このような処理の各冪乗演算は、有限集合の位数の算出が困難な半群で定 義された剰余演算によって行われることが望ましい。攻撃者が上記の半群で定義さ れた有限集合の位数を算出できた場合、この攻撃者は、算出した位数を、 A=gaを満 たす第 2任意情報 aを探知するための情報として、利用することができるからである。 また、本発明において好ましくは、上記演算値 Aは、定数 Nを法とし、 N未満の値 g を底とし、任意の情報である第 2任意情報 aを冪数とした冪乗剰余演算結果であり、 認証情報生成因子 Rは、 Nを法とし、値 gを底とし、第 1任意情報 rを冪数とした冪乗 剰余演算結果であり、演算値 Bは、 Nを法とし、演算値 Aを底とし、第 1任意情報 rを 冪数とした冪乗剰余演算結果である。また、上述した、第 2受信部が受信した認証情 報生成因子 Rを底とし、第 2任意情報 aを冪数として、半群で定義された冪乗を行つ た演算結果は、 Nを法とし、認証情報生成因子 Rを底とし、第 2任意情報 aを冪数とし た冪乗剰余演算結果である。なお、定数 Nは、素数であることが判定可能な数を除く 自然数であって、素因数分解困難な数であることが望ましい。また、定数 Nは、 3っ以 上の素数の積力もなる合成数であってもよ 、。
[0027] また、さら〖こ好ましくは、上述した、有限集合の元 gを底とし、第 2任意情報 aを冪数 として、半群で定義された冪乗を行った演算結果は、 Nを法とし、有限集合の元 gを 底とし、第 2任意情報 aを冪数とした冪乗剰余演算結果である。
また、さらに好ましくは、第 2任意情報 aは、 Vを所定の自然数とした場合における、 0≤a≤N'2v— 1の範囲から任意に選択される値である。このように第 2任意情報 aが 選択される場合、 Nを法とし、値 gを底とし、第 2任意情報 aを冪数とした冪乗剰余演 算結果が、 Nを法とした剰余環の乗法にっ 、ての巡回群力 任意に選択した値〔≡ ( Z/NZ)*〕と識別不能な分布を持つことが証明できる。これは、 Nを法とし、値 gを底とし 、第 2任意情報 aを冪数とした冪乗剰余演算結果から、第 2任意情報 aを求める困難 性と、 Nを法とした剰余環の乗法についての巡回群から任意に選択した値の離散対 数問題を解く困難性と、が同等であることを示している。すなわち、第 2任意情報 aが 0≤ a≤ N · 2 v— 1の範囲から任意に選択される値である限り、上記冪乗剰余演算結 果カも第 2任意情報 aを特定することは十分困難である。そして、これよりも上限を広 げた範囲力ゝら第 2任意情報 aを選択する構成としても、安全性は向上せず、冪乗演算 の演算コストが上昇するだけである。
発明の効果
[0028] 本発明によれば、証明装置に所定の情報が保持されていることを検証装置が検証 する技術において、検証装置の記憶容量を有効活用し、なおかつ、利便性と安全性 を向上させることができる。
図面の簡単な説明
[図 1]図 1は、第 1実施形態に係る証明装置(1)のハードウェア構成を例示した構成 ブロック図である。
[図 2]図 2は、第 1実施形態に係る検証装置 (2)のハードウェア構成を例示した構成 ブロック図である。
[図 3]図 3は、第 1実施形態におけるネットワーク構成例である。
[図 4]図 4は、第 1実施形態に係る検証装置(2)の機能ブロック図(その 1)である。
[図 5]図 5は、第 1実施形態に係る証明装置(1)の機能ブロック図である。
[図 6]図 6は、第 1実施形態に係る検証装置(2)の機能ブロック図(その 2)である。
[図 7]図 7は、第 1実施形態における処理フローを示す図である。
[図 8]図 8は、第 2実施形態に係る第三者装置 (3)のハードウェア構成を例示した構 成ブロック図である。
[図 9]図 9は、第 2実施形態におけるネットワーク構成例である。
[図 10]図 10は、第 2実施形態に係る第三者装置(3)の機能ブロック図である。
[図 11]図 11は、第 2実施形態に係る検証装置(2)の機能ブロック図である。
[図 12]図 12は、第 2実施形態に係る証明装置(1)の機能ブロック図である。
[図 13]図 13は、第 2実施形態における処理フローを示す図(その 1)である。
[図 14]図 14は、第 2実施形態における処理フローを示す図(その 2)である。
[図 15]図 15は、第 3実施形態に係る第三者装置(3)の機能ブロック図である。
[図 16]図 16は、第 3実施形態に係る検証装置(2)の機能ブロック図(その 1)である。
[図 17]図 17は、第 3実施形態に係る証明装置(1)の機能ブロック図である。
[図 18]図 18は、第 3実施形態に係る検証装置(2)の機能ブロック図(その 2)である。
[図 19]図 19は、第 3実施形態における処理フローを示す図(その 1)である。
[図 20]図 20は、第 3実施形態における処理フローを示す図(その 2)である。
[図 21]図 21は、第 4実施形態に係る証明装置(1)の機能ブロック図(その 1)である。
[図 22]図 22は、第 4実施形態に係る検証装置(2)の機能ブロック図(その 1)である。 [図 23]図 23は、第 4実施形態に係る証明装置(1)の機能ブロック図(その 2)である。
[図 24]図 24は、第 4実施形態に係る検証装置(2)の機能ブロック図(その 2)である。
[図 25]図 25は、第 4実施形態に係る証明装置(1)の機能ブロック図(その 3)である。
[図 26]図 26は、第 4実施形態における処理フローを示す図(その 1)である。
[図 27]図 27は、第 4実施形態における処理フローを示す図(その 2)である。
[図 28]図 28は、第 4実施形態における処理フローを示す図(その 3)である。
[図 29]図 29は、第 4実施形態における処理フローを示す図(その 4)である。
[図 30]図 30は、第 5実施形態に係る検証装置(2)の機能ブロック図(その 1)である。
[図 31]図 31は、第 5実施形態に係る証明装置(1)の機能ブロック図(その 1)である。
[図 32]図 32は、第 5実施形態に係る検証装置(2)の機能ブロック図(その 2)である。
[図 33]図 33は、第 5実施形態に係る証明装置(1)の機能ブロック図(その 2)である。
[図 34]図 34は、第 5実施形態に係る検証装置(2)の機能ブロック図(その 3)である。
[図 35]図 35は、第 5実施形態における処理フローを示す図(その 1)である。
[図 36]図 36は、第 5実施形態における処理フローを示す図(その 2)である。
[図 37]図 37は、第 5実施形態における処理フローを示す図(その 3)である。
[図 38]図 38は、第 6実施形態に係る検証装置(2)の機能ブロック図(その 1)である。
[図 39]図 39は、第 6実施形態に係る証明装置(1)の機能ブロック図(その 1)である。
[図 40]図 40は、第 6実施形態に係る証明装置(1)の機能ブロック図(その 2)である。
[図 41]図 41は、第 6実施形態に係る検証装置(2)の機能ブロック図(その 2)である。
[図 42]図 42は、第 6実施形態における処理フローを示す図(その 1)である。
[図 43]図 43は、第 6実施形態における処理フローを示す図(その 2)である。
[図 44]図 44は、第 6実施形態における処理フローを示す図(その 3)である。
符号の説明
1 証明装置
2 検証装置
3 第三者装置
141 認証情報生成部
142 生成部 143 乱数生成部
145 認証判定部
148 A生成部
160 第 1判定部
241 検証情報生成部
242 乱数生成部
243 認証情報生成因子生成部
244 判定部
247 W生成部
248 z生成部
249 B生成部
250 対話判定部
260 第 2判定部
340 N生成部
341 g生成部
342 検証情報生成部
発明を実施するための最良の形態
<第 1実施形態 >
発明を実施するための最良の形態を、図面を参照しつつ説明する。
[証明装置]
第 1実施形態における証明装置について説明する。
図 1は、第 1実施形態に係わる証明装置(1)のハードウェア構成を例示した構成ブ ロック図である。
図 1に例示するように、証明装置(1)は、キーボードやマウスなどの入力装置が接 続可能な入力部(11)、液晶ディスプレイなどの出力装置が接続可能な出力部(12) 、証明装置(1)外部に通信可能な通信装置 (例えば、通信ケーブル、 LANカード、 ハブ、ルータ、モデムなど)が接続可能な通信部(13)、 CPU (Central Processing Un it) (14)〔キャッシュメモリなどを備えていてもよい。〕、メモリである RAM (15)、 ROM (16)、ハードディスクや光ディスクや半導体メモリなどである外部記憶装置(17)並び にこれらの入力部(11)、出力部(12)、通信部(13)、 CPU (14)、 RAM (15)、 RO M ( 16)、外部記憶装置( 17)間のデータのやり取りが可能なように接続するバス( 18 )を有している。また必要に応じて、証明装置(1)に、 CD— ROM (Compact Disc Rea d Only Memory)、 DVD (Digital Versatile Disc)などの記憶媒体を読み書きできる装 置 (ドライブ)などを設けるとしてもよ!/ヽ。
[0032] 証明装置(1)の外部記憶装置(17)には、証明対象である所定の情報 s〔保持情報 〕を保持して 、ることを証明するのに必要となるプログラム〔証明装置用プログラム〕お よびこのプログラムの処理において必要となるデータなどが保存されている。また、こ れらのプログラムの処理によって得られるデータなどは、 RAMや外部記憶装置など に保存される。
より具体的には、証明装置(1)の外部記憶装置(17)〔あるいは ROMなど〕には、 認証情報を生成するためのプログラムおよびこれらのプログラムの処理において必要 となるデータ(情報 sなど)などが保存されている。その他、これらのプログラムに基づく 処理を制御するための制御プログラムも外部記憶装置(17)等に保存しておく。
[0033] 本明細書において証明対象となる情報 sは、説明の便宜上、ビット列からなるものと する。特に、証明装置(1)、後述する検証装置'第三者装置をコンピュータによって 実現する場合には、いかなる情報 (例えば人間が意味理解可能なテキスト形式の情 報などがある。)であっても、 2進数表記されるビット列として外部記憶装置に保存され ることはいうまでもない。
証明装置(1)では、外部記憶装置(17)〔あるいは ROMなど〕に記憶された各プロ グラムとこの各プログラムの処理に必要なデータが RAM (15)に読み込まれる。 CP U (14)は、これらの各プログラムを実行して、各データを処理する。その結果、 CPU (14)が所定の機能 (認証情報生成部、制御部)を実現する。
[0034] [検証装置]
第 1実施形態における検証装置について説明する。
図 2は、第 1実施形態に係わる検証装置 (2)のハードウェア構成を例示した構成ブ ロック図である。 図 2に例示するように、検証装置(2)は、キーボードやマウスなどの入力装置が接 続可能な入力部(21)、液晶ディスプレイなどの出力装置が接続可能な出力部(22) 、検証装置(2)外部に通信可能な通信装置 (例えば通信ケーブル、 LANカード、ハ ブ、ルータ、モデムなど)が接続可能な通信部(23)、 CPU (Central Processing Unit ) (24)〔キャッシュメモリなどを備えていてもよい。〕、メモリである RAM (25)、 ROM ( 26)、ハードディスクや光ディスクや半導体メモリなどである外部記憶装置(27)並び にこれらの入力部 (21)、出力部 (22)、通信部 (23)、 CPU (24)、 RAM (25)、 RO M (26)、外部記憶装置(27)間のデータのやり取りが可能なように接続するバス(28 )を有している。また必要に応じて、検証装置(2)に、 CD—ROM、 DVDなどの記憶 媒体を読み書きできる装置 (ドライブ)などを設けるとしてもよ!/ヽ。
[0035] 検証装置 (2)の外部記憶装置 (27)には、証明装置(1)に情報 s〔保持情報〕が保 持されていることを検証するのに必要となるプログラム〔検証装置用プログラム〕およ びこのプログラムの処理において必要となるデータなどが保存されている。また、これ らのプログラムの処理によって得られるデータなどは、 RAMや外部記憶装置などに 保存される。
より具体的には、検証装置(2)の外部記憶装置(27)〔あるいは ROMなど〕には、 検証情報を生成するためのプログラム、認証情報生成因子を生成するためのプログ ラム、乱数を生成するためのプログラム、証明装置から受信した情報と検証装置に保 持される情報との一致を判定するためのプログラム、およびこれらのプログラムの処 理において必要となるデータなどが保存されている。その他、これらのプログラムに基 づく処理を制御するための制御プログラムも外部記憶装置(27)等に保存しておく。
[0036] 検証装置(2)では、外部記憶装置(27)〔あるいは ROMなど〕に記憶された各プロ グラムとこの各プログラムの処理に必要なデータ力 必要に応じて RAM (25)に読み 込まれる。 CPU (24)は、これらの各プログラムを実行して、各データを処理する。そ の結果、 CPU (24)が所定の機能 (検証情報生成部、認証情報生成因子生成部、乱 数生成部、判定部、制御部)を実現する。
[0037] [ネットワーク構成]
第 1実施形態の認証システムのネットワーク構成について説明する。 図 3は、第 1実施形態の認証システムのネットワーク構成を示す図である。
図 3に示すように、第 1実施形態では、 1つの証明装置(1)と、 1つの検証装置(2)と 1S ネットワーク(5)を介して相互に通信可能に接続されている。もちろん、ネットヮー ク(5)を介して相互に通信可能に接続される証明装置(1)および検証装置(2)はそ れぞれ 1つずつに限定されるものではない。複数の証明装置(1)と複数の検証装置( 2)とが、ネットワーク(5)を介して相互に通信可能に接続されるとしてもよい。ただ、検 証装置(2)は 1つであるのが一般的である(つまり、検証装置(2)は 1つで十分な場 合が多い。)。なお、ネットワーク(5)の構成には特に制限はなぐインターネット、 LA N (Local Area Network)、 Peer- to- Peerネットワーク等どのようなものであってもよい
[0038] なお、第 1実施形態に係わるネットワーク構成においては、証明装置(1)と検証装 置 (2)との間の通信は、通信傍受の可能性などが否定できないなど、必ずしも通信 の秘密の安全性が保証されたものでなくてもょ 、(以下に記載の各実施形態にぉ ヽ ても同様である。 ) o
[認証]
本発明の認証システム '方法の第 1実施形態は、基本的な実施形態を示しており、 本発明の趣旨を逸脱するものでないならば、種々の実施の形態に拡張可能である。 以下、図 4〜図 7を参照しながら説明する。なお、各装置の機能ブロック図を示す図 では、同じ符号が与えられた機能部が示されている力 各別のものを示すものではな ぐ説明の便宜力 各別に示しているに過ぎない。このことは各実施形態における図 でも同様である。
[0039] 証明装置(1)の外部記憶装置(17)には、保持していることの証明対象である情報 s〔保持情報〕が保存されているとする。また、予め、検証装置 (2)の外部記憶装置 (2 7)にも、情報 s〔対比情報 s '〕が保存されているとする。なお、説明の便宜上、各実施 形態では、対比情報 s 'を「s」と表現する。しかし、これは、対比情報と保持情報とが、 必ず同一であることを意味するものではな 、。
さらに、第 1実施形態における認証システムにおいて共通のパラメータとして、十分 大きい数 Nと、 N未満の数 g (好ましくは、 2以上 N未満の数 g)が、予め、証明装置(1 )の外部記憶装置(17)および検証装置(2)の外部記憶装置(27)に保存されて 、る とする。なお、前述の通り、 Nを法とした剰余環の乗法についての位数が第三者に知 られた場合、当該認証システムの安全性は低下する。そして、前述のように、 Nが素 数であることが明らかである場合、 Nを法とした剰余環の乗法についての位数を求め ることは容易である。また、 Nが合成数である場合、 Nを法とした剰余環の乗法につい ての位数を求めることは、当該 Nを素因数分解することよりも困難である(Nが 2つの 素数の積からなる合成数である場合、これらの困難性は同等)。よって、安全性の見 地から、 Nは、素数であることが判定可能な数を除く自然数であって、素因数分解が 困難な数であることが望ましい。このような Nとしては、例えば、素因数分解困難な合 成数である RSAモジュラス〔N=p · q (p,qは素数)であって、(p-l)/2,(q-l)/2もまた素数 となっている N〕や、素数である力否かが判定できない自然数などを例示できる。また 、 2のべき乗に近い数、例えば 2m—lの形で表せる数 (メルセンヌ数)を Nとしてもよい 。このような Nによる剰余計算は、例えば 2mを 1に置換することで計算ができ、このよう な演算は通常の CPUにおいてシフト演算またはビットの並び替えで実現することが できる。従って高速な剰余演算を実現することができる。そのような Nを確率的ァルゴ リズムによって効率的に生成することもできるし、素因数分解が困難な数の表は公知 であるから、そのような表から 2のべき乗に近 、Nを選択するようにしてもょ 、。
[0040] また、 gは、 Nと互いに素であることが望ましい。 gが Nと互いに素でなぐその旨の情 報が攻撃者に知られた場合、この攻撃者は、 gの情報を、 Nを素因数分解するための 情報として利用できる場合がある力 である(例えば、 gの約数が Nの約数となる力否 かを試していく処理等)。
また、予め定められた自然数 V (セキュリティパラメータ)が、検証装置(2)の外部記 憶装置(27)に保存されて 、るとする。
まず、検証装置 (2)の制御部(290)は、外部記憶装置 (27)から g、 V、情報 sを 読み込み、それぞれを RAM (25)の所定の格納領域に格納しておく〔図 4参照〕。以 後、「RAMから〇〇を読み込む」旨の説明をした場合は、「RAMにおいて〇〇が格 納されて 、る所定の格納領域から〇〇を読み込む」ことを意味するとする。
[0041] 検証装置(2)の検証情報生成部(241)は、 RAM (25)力 g、 N、情報 sを読み込 み、式(1)に従った演算を行い、この演算結果 C (s)〔検証情報〕を RAM (25)の所 定の格納領域に格納する (ステップ S1)〔図 4参照〕。ここでは、ビット列の情報 sを自 然数の 2進数表記と同一視した。
[数 1]
C(s) = gs modN ( 1 )
[0042] 次に、検証装置(2)の制御部(290)は、外部記憶装置(27)に保存される情報 sを 消除する (ステップ S2)〔図 4参照〕。ここで消除とは、対象となる情報が格納される格 納領域を開放することであり、例えば格納領域を上書き(つまり、新たな情報を格納 する。)可能な状態にしたり、あるいは Null値で格納領域を上書きしたりすることであ る。
次に、検証装置(2)の乱数生成部(242)は、 RAM (25)から vを読み込み、高々 2 程度の大きさの乱数!:〔第 1任意情報〕を生成し、乱数 rを RAM (25)の所定の格 納領域に格納する (ステップ S3)〔図 4参照〕。なお、乱数生成部(242)が、 0≤r≤N • 2 v—lの範囲から乱数 rを生成してもよい。前述のように、このような範囲力も乱数 r が選択される構成が、安全性と演算コストの両立という観点力も望ましいからである。 また、必ずしも rは乱数である必要はなぐ値が任意に選択されるものであればよい。 また、第 1実施形態では乱数生成部(242)が、第 1任意情報である乱数 rを生成する としたが、予め所定の値を第 1任意情報として外部記憶装置(27)に保存しておき、こ の値を外部記憶装置(27)力 読み込むとしてもよい。この場合には、安全性の見地 から、当該所定の値を、検証装置(2)の外部に対して秘匿しておかなければならな い。
[0043] 次に、検証装置(2)の認証情報生成因子生成部(243)は、 RAM (25)から g、 N、 r を読み込み、式(2)に従った演算を行い、この演算結果 R〔認証情報生成因子〕を R AM (25)の所定の格納領域に格納する (ステップ S4)〔図 4参照〕。
[0044] [数 2]
R - g' modN ( 2) [0045] 次に、検証装置(2)の制御部(290)の制御に従い、通信部(23)が、 RAM (25)か ら読み込んだステップ S4で得られた認証情報生成因子 Rを、証明装置(1)に対して 送信する (ステップ S5)〔図 4参照〕。
なお、ステップ Sl、 S3、 S4で得られた検証情報 C (s)、乱数!:、認証情報生成因子 Rは、検証装置(2)の制御部(290)の制御によって、外部記憶装置(27)に保存され る。
次に、証明装置(1)の制御部(190)の制御に従い、通信部(13)が、ステップ S5に おいて送信された認証情報生成因子 Rを受信し、制御部(190)が、この認証情報生 成因子 Rを外部記憶装置(17)に保存する (ステップ S6)〔図 5参照〕。
[0046] 次に、証明装置(1)の制御部(190)は、外部記憶装置(17)から N、情報 s、認証情 報生成因子 Rを読み込み、それぞれを RAM (15)の所定の格納領域に格納する〔図 5参照〕。
次に、証明装置(1)の認証情報生成部(141)は、 RAM (15)力も N、情報 s、認証 情報生成因子 Rを読み込み、式(3)に従った演算を行い、この演算結果 R(s)〔認証 情報〕を RAM (15)の所定の格納領域に格納する (ステップ S7)〔図 5参照〕。
[数 3]
R(s) = Rs modN ( 3 )
[0047] 次に、証明装置(1)の制御部(190)の制御に従い、通信部(13)が、 RAM (15) から読み込んだ (ステップ S7で得られた)認証情報 R (s)を検証装置(2)に対して送 信する (ステップ S8)〔図 5参照〕。
次に、検証装置(2)の制御部(290)の制御に従い、通信部(23)が、ステップ S8に ぉ 、て送信された認証情報 R (s)を受信し、制御部(290)力 この認証情報 R (s)を 外部記憶装置 (27)に保存する (ステップ S9)〔図 6参照〕。
次に、検証装置(2)の制御部(290)は、外部記憶装置(27)から N、乱数!:、認証情 報 R (s)、検証情報 C (s)を読み込み、それぞれを RAM (25)の所定の格納領域に格 納する〔図 6参照〕。
[0048] 次に、検証装置(2)の判定部(244)は、 RAM (25)から N、乱数!:、認証情報 R(s) 、検証情報 C (s)を読み込み、式 (4)に示す関係が成立するか否かの判定を行う (ス テツプ S10)〔図 6参照〕。この判定結果が関係成立の場合には、関係成立を示す予 め定めた情報 a (例えば値 α = 1)を RAM (25)の所定の格納領域に格納する (ステ ップ S l l)。また、この判定結果が関係不成立の場合には、関係不成立を示す予め 定めた情報 a (例えば値 α =0)を RAM (25)の所定の格納領域に格納する (ステツ プ S12)。
R(s) = C(s)r modN ( 4 )
[0049] ここで、式 (4)に示す関係が成立する場合は、証明装置(1)が情報 sを保持してい ることを表し、式 (4)に示す関係が成立しない場合は、証明装置(1)が情報 sを保持 して 、るとは限らな 、ことを表す。
以上のとおり、検証装置 (2)は、情報 sを保持していなくても、証明装置(1)が情報 s を保持して!/ヽることの認証を行うことができる。
[0050] <第 2実施形態 >
次に、本発明の第 2実施形態について、図 8から図 14を参照しながら説明する。 第 1実施形態では、素数であることが判定可能な数を除く自然数であって、素因数 分解が困難な大きな数 Nが、予め証明装置(1)の外部記憶装置(17)および検証装 置(2)の外部記憶装置(27)に保存されて 、るとした。
第 2実施形態では、この明細書に記載する実施形態に示す認証システム '方法に おいて頑強な安全性が保証される Nを生成する。なお、 Nは一義的な方法で生成さ れるものではなぐ種々の方法で生成可能である。第 2実施形態では、第三者装置( 3)によって Nを生成するものとする。この第三者装置(3)は必ずしも物理的に独立し て 、る必要はなぐ証明装置(1)や検証装置(2)の内部に存在するモジュールとして 実現してちょい。
なお、第 2実施形態では、第 1実施形態と同一の機能 '処理については同一の符号 を与えるなどして説明を省略する。
[0051] [証明装置] 第 2実施形態における証明装置(1)は、第 1実施形態で説明した証明装置と同様 であるから説明を略する。
[0052] [検証装置]
第 2実施形態における検証装置(2)の外部記憶装置(27)〔あるいは ROMなど〕に は、第 1実施形態と異なり、検証情報を生成するためのプログラムが不要である。 検証装置(2)では、外部記憶装置(27)〔あるいは ROMなど〕に記憶された各プロ グラムとこの各プログラムの処理に必要なデータ力 必要に応じて RAM (25)に読み 込まれる。 CPU (24)は、これらの各プログラムを実行して、各データを処理する。そ の結果、 CPU (24)が所定の機能 (認証情報生成因子生成部、乱数生成部、判定部 、制御部)を実現する。
[0053] [第三者装置]
第 2実施形態における第三者装置について説明する。
図 8は、第 2実施形態の第三者装置(3)のハードウェア構成を例示した構成ブロッ ク図である。
図 8に例示するように、第三者装置(3)は、キーボードやマウスなどの入力装置が 接続可能な入力部(31)、液晶ディスプレイなどの出力装置が接続可能な出力部(3 2)、第三者装置 (3)外部に通信可能な通信装置 (例えば通信ケーブル、 LANカー ド、ハブ、ルータ、モデムなど)が接続可能な通信部(33)、 CPU (Central Processing Unit) (34)〔キャッシュメモリなどを備えていてもよい。〕、メモリである RAM (35)、 R OM (36)、ハードディスクや光ディスクや半導体メモリなどである外部記憶装置(37) 並びにこれらの入力部(31)、出力部(32)、通信部(33)、 CPU (34)、 RAM (35)、 ROM (36)、外部記憶装置(37)間のデータのやり取りが可能なように接続するバス( 38)を有している。また必要に応じて、第三者装置(3)に、 CD— ROMや DVDなど の記憶媒体を読み書きできる装置 (ドライブ)などを設けるとしてもよ!/、。
[0054] 第三者装置(3)の外部記憶装置(37)には、 Nを生成するためのプログラム、 gを生 成するためのプログラム、検証情報を生成するためのプログラムおよびこのプログラム の処理において必要となるデータ (情報 s)などが保存されている。その他、これらの プログラムに基づく処理を制御するための制御プログラムも外部記憶装置(37)等に 保存しておく。また、これらのプログラムの処理によって得られるデータなどは、 RAM や外部記憶装置などに保存される。
第三者装置(3)では、外部記憶装置(37)〔あるいは ROMなど〕に記憶された各プ ログラムとこの各プログラムの処理に必要なデータ力 必要に応じて RAM (35)に読 み込まれる。 CPU (34)は、これらの各プログラムを実行して、各データを処理する。 その結果、 CPU (34)が所定の機能 (N生成部、 g生成部、検証情報生成部、制御部 )を実現する。
[0055] [ネットワーク構成]
第 2実施形態の認証システムのネットワーク構成について説明する。
図 9は、第 2実施形態の認証システムのネットワーク構成を示す図である。 図 9に示すように、第 2実施形態では、 1つの証明装置(1)と、 1つの検証装置(2)と 、 1つの第三者装置(3)とが、ネットワーク(5)を介して相互に通信可能に接続されて いる。第三者装置(3)は 1つに限定されるものではない。しかし、複数の証明装置が ある場合に、各証明装置が保持する情報 (保持情報)と同一の情報 (対比情報)を第 三者装置に保存しておけば、各証明装置に対応する検証情報を生成可能であるか ら、一般的には、 1つの第三者装置で十分である。
[0056] [認証]
第三者装置 (3)の外部記憶装置 (37)には、情報 s〔対比情報〕が保存されて 、ると する。また、予め定められた自然数 Vが、検証装置 (2)の外部記憶装置 (27)に保存 されているとする。
まず、第三者装置(3)の制御部(390)は、外部記憶装置(37)から情報 sを読み込 み、これを RAM (35)の所定の格納領域に格納しておく〔図 10参照〕。
第三者装置 (3)の N生成部(340)は、素数であることが判定可能な数を除く自然 数であって、素因数分解が困難な数 Nを生成し、この Nを RAM (35)の所定の格納 領域に格納する(ステップ SOt)〔図 10参照〕。なお、前述の RSAモジュラスを Nとする 場合、 Nは例えば以下のように生成される。即ち、素数の組 p、qで、(p— 1) /2, (q 1) Z2もまた素数になるものを求め、 N = p 'qを演算する。このような p、 qは無限に 存在して、 Nは確率的アルゴリズムによって効率的に計算可能である。 [0057] 第三者装置を用いて Nを定めるのではなぐ例えば、証明装置あるいは検証装置 のプロセッサで実行されるプログラムモジュールによって Nを定めることでもよ!/、。この ような方法の一例として、マルチパーティープロトコルがある(参考文献 1参照)。この 方法によれば、 Nを定める計算に参加する装置のいずれもが Nの素因数分解をでき ることはなく、上記の要件を充たす任意の Nを生成することが可能である。
(参考文献 1)
J.Algesheimer, J.Camenish and V.Snoup, Efficient Computation Moaulo a Shared ¾ ecret with Application to the Generation of Shared Safe-Prime Products , CRYPTO 2002, LNCS 2442, pp.417- 432, 2002, Springer- Verlag.
また、素因数分解が困難な Nとして、前述の 2のべき乗に近い数、例えば 2m— 1の 形で表せる N (メルセンヌ数)を生成するようにしてもょ ヽ。そのような Nは確率的アル ゴリズムによって効率的に生成することもできるし、素因数分解が困難な数の表は公 知であるから、そのような表から 2のべき乗に近 、Nを選択するようにしてもょ 、。
[0058] 次に、第三者装置(3)の g生成部(341)は、 RAM (35)力 Nを読み込み、 N未満 の正整数 gを生成し、この gを RAM (35)の所定の格納領域に格納する (ステップ Sit )〔図 10参照〕。
次に、第三者装置(3)の検証情報生成部(342)は、 RAM (35)から g、 N、情報 sを 読み込み、上記の式(1)に従った演算を行い、この演算結果 C (s)〔検証情報〕を RA M (35)の所定の格納領域に格納する (ステップ S2t)〔図 10参照〕。
次に、第三者装置(3)の制御部(390)の制御に従い、通信部(33)が、 RAM (35) 力も読み込んだ (ステップ S0t、 Slt、 S2tで得られた) N、 g、検証情報 C (s)を検証装 置(2)に対して送信する (ステップ S3t)〔図 10参照〕。
[0059] 次に、必要に応じて、第三者装置(3)の制御部(390)は、外部記憶装置(37)に保 存される情報 sを消除する (ステップ S4t)。
検証装置(2)の制御部(290)の制御に従い、通信部(23)が、ステップ S3tにおい て送信された N、 g、検証情報 C (s)を受信し、これら g、検証情報 C (s)を外部記 憶装置(27)に保存する (ステップ S3v)。
ステップ S3vに続くステップ S3および S4は、第 1実施形態における処理と同じであ るから説明を略する。
[0060] 第 1実施形態におけるステップ S5の処理では、検証装置(2)は、認証情報生成因 子 Rを証明装置(1)に送信したが、第 2実施形態では、認証情報生成因子 Rに加え、 N、 gも証明装置(1)に送信する (ステップ S5 ' )〔図 11参照〕。
第 1実施形態におけるステップ S6の処理では、証明装置(1)は、認証情報生成因 子 Rを検証装置(2)から受信したが、第 2実施形態では、認証情報生成因子 Rに加 え、 N、 gも検証装置 (2)から受信する (ステップ S6' )〔図 12参照〕。
ステップ S6'に続くステップ S7〜S12は、第 1実施形態における処理と同じである から説明を略する。
[0061] <第 3実施形態 >
次に、本発明の第 3実施形態について、図 15〜図 20を参照しながら説明する。 第 3実施形態では、第 1実施形態ないし第 2実施形態における計算効率の向上を 図るための技術を説明する。この計算効率向上のための技術は、第 1実施形態及び 第 2実施形態の何れにも適用可能である。しかし、第 3実施形態では、説明の便宜か ら、一例として、第 2実施形態にこの計算効率向上のための技術を適用する場合を 説明する。
計算効率の向上のために、情報 sを複数の情報に分割する。第 3実施形態ではそ の一例を示すことにする。ビット列で表される情報 sを、 k個の分割情報 s、 s、 · · ·、 s
0 1 k- に分割し、情報 Sは、 k個の分割情報 S、 S、 · · ·、 S のビット列の結合として表される
1 0 1 k- 1
とする。即ち、 s = s II s II… II s とする。第 3実施形態では、分割数 kの値と i = 0,
0 1 k- 1
1, 2, · · ·, k— 1について sのビット長は、予め、証明装置(1)、検証装置(2)、第三者 装置(3)の外部記憶装置それぞれに保存されているものとする。勿論、例えば第三 者装置 (3)にお ヽて任意にこれらを決定し、検証装置 (2)、証明装置(1)へ送信する ようにしてもよぐ適宜に設計変更可能である。
また、効率のために、分割数 kを予め定めた固定値としたり、 sのビット長が sのビット 長を均等割したものとする旨のプロトコルを定めておいたりしてもよい。
第 3実施形態では、第 2実施形態と同一の機能 '処理については同一の符号を与 えるなどして説明を省略する。また、以下では、単に情報 sと云えば、 k個の分割情報 s、 s、 · ··、 s の総称を意味するものとする。
0 1 k-1
[0062] [証明装置]
第 3実施形態における証明装置(1)は、第 1実施形態で説明した証明装置と同様 であるから説明を略する。
[検証装置]
第 3実施形態における検証装置 (2)は、第 2実施形態で説明した検証装置と同様 であるから説明を略する。
[第三者装置]
第 3実施形態における第三者装置 (3)は、第 2実施形態で説明した第三者装置と 同様であるから説明を略する。
C準備]
Vを予め定められた自然数とする。 Vは、検証装置(2)の外部記憶装置(27)に保 存されているとする。また、 H (i, u, R)を予め定められた関数とする。例として、 H (i, u, R) = とおくこともできるし、 H (i, u, R) =umod E (Eは、 2Vよりも大きな素数が 好ましい)とおくこともできるし、その他に SHA—1などのハッシュ関数を用いることが できる。また、 u, Rの少なくとも一方を変数とした i毎に相違する関数を H (i, u, R)と してもよい(例えば、 i= lのときには H (i, u, R) =uとし、 i= 2のときには H (i, u, R) =ui+Rとするなど)。その他、 u, Rの少なくとも一方と iとに依存して関数値が定まる関 数であれば、どのような関数を H (i, u, R)としてもよい。
[0063] ただし、安全性の観点力もは、関数 H (i, u, R)は、以下のような条件を満たす関数 H (i, X) (Xは、 u, Rの少なくとも一方)であることが望ましい。このような関数 H (i, X) を用いる場合、 k個の分割情報 s、 s、 · ··、 s 全てに対応する H (i, u, R)を正しく求
0 1 k-1
められる者しか当プロトコルの検証に合格できないことが証明できる力 である。
(1) j = 0とする。
(2)ランダムに Xを選んで、 i=0, 1, k— 1について、 a =H (i, X)とする。
i+l, j + 1
(3) j =j + 1として、 j >k- 1でなければ (2)に戻る。
(4) j >k— 1となったとき、行列(a ) (i=0, 1, ···, k l、j = 0, 1, ···, k 1)が
i + l, j + 1
、高!、確率で非退化(nondegenerate)である。 ノ、ッシュ関数や上述の H (i, u, R) =u mod Eは、この条件を満たす関数である( ί列えば、「H. Anton and C. Rorres. Elementary Linear Algebra with Applications. 9t h ed., John Wiley & Sons, 2005」など参照)。よって、安全性の観点からは、ハッシュ 関数や上述の H (i, u, R) =umod Eを用いることが望ましい。
また、前述のように、 H (i, u, R)を一方向性関数とした場合には、関数値の衝突 (c ollision)を防止できるため、検証の信頼性と安全性が向上する。
[0064] [認証]
第三者装置 (3)の外部記憶装置 (37)には、情報 s〔対比情報〕が保存されて 、ると する。
ステップ SOtおよび Sitは、第 2実施形態における処理と同じであるから説明を略す る。
[0065] ステップ Sitに続いて、第三者装置(3)の検証情報生成部(342)は、 RAM (35) 力も g、 N、 k個の分割情報 s、 s、 · ··、 s 〔対比情報を複数に分割した第 1分割情報
0 1 k- 1
〕を読み込み〔予め外部記憶装置(37)から読み込まれているとする。〕、分割情報 s 毎に、式(5)に従った演算を行 、、これらの演算結果 C (s) = {C (s) } 〔 i i i=0, 1, 2, ..., k- 1 検証情報〕を RAM (35)の所定の格納領域に格納する (ステップ S2a)〔図 15参照〕。 ただし、ビット列 sを自然数の 2進数表記と同一視した。
[数 5]
Figure imgf000029_0001
[0066] 次に、第三者装置(3)の制御部(390)の制御に従い、通信部(33)が、 RAM (35) 力も読み込んだ (ステップ S0t、 Slt、 S2aで得られた) N、 g、検証情報 C (s) = {C (s ) } を検証装置 (2)に対して送信する (ステップ S3a)〔図 15参照〕。
i = 0, 1, 2,…, k- 1
ステップ S4tは、第 2実施形態における処理と同じであるから説明を略する。
検証装置(2)の制御部(290)の制御に従い、通信部(23)が、ステップ S3aにおい て送信された N、 g、検証情報 C (s) = {C (s) } を受信し、これら N、 g、検 i i i=0, 1, 2, k- 1
証情報 Ci (s)を外部記憶装置(27)に保存する (ステップ S3va)〔図 16参照〕。
[0067] ステップ S3vaに続くステップ S3および S4は、第 1実施形態における処理と同じで ある力 説明を略する。
ステップ S4に続き、検証装置(2)の乱数生成部(242)は、 RAM (25)から vを読 み込み(予め外部記憶装置(27)力 読み込まれているとする。)、高々 Vビット程度 の大きさの乱数 uを生成し、乱数 uを RAM (25)の所定の格納領域に格納する (ステ ップ S4a)〔図 16参照〕。なお、所定の値を乱数 uに相当する値として外部記憶装置( 27)に保存しておき、この値を外部記憶装置(27)力も読み込むとしてもよい。この場 合には、安全性の見地から、乱数 uに相当する所定の値を検証装置(2)の外部に対 して秘匿しておかなければならな 、。
[0068] 第 2実施形態におけるステップ S5'の処理では、認証情報生成因子 R、 N、 gを証 明装置(1)に送信したが、第 3実施形態では、認証情報生成因子 R、 N、 gに加え、 乱数 uも証明装置(1)に送信する (ステップ S5a)〔図 16参照〕。
第 2実施形態におけるステップ S6'の処理では、証明装置(1)は、認証情報生成因 子 R、 N、 gを検証装置(2)から受信したが、第 3実施形態では、認証情報生成因子 R 、 N、 gに加え、乱数 uも検証装置(2)から受信する (ステップ S6a)〔図 17参照〕。
[0069] 第 1実施形態 (第 2実施形態)におけるステップ S7の処理では、式(3)に従って認 証情報 R (s)を生成したが、第 3実施形態では、次の処理を行う。即ち、証明装置(1) の認証情報生成部(141)は、 RAM (15)力も N、 k個の分割情報 s、 s、 · ··、 s 〔保
0 1 k- 1 持情報を複数に分割した第 2分割情報〕、認証情報生成因子 R、乱数 uを読み込み( 予め外部記憶装置(17)力 読み込まれているとする。)、式 (6)に従った演算を行い 、この演算結果 R(s)〔認証情報〕を RAM (15)の所定の格納領域に格納する (ステツ プ S7a)〔図 17参照〕。
[数 6]
R(s) = R∑i, SiH(i'u,R) modN ( 6 )
[0070] なお、式 (6)によって算出される R (s)は、「第 2分割情報 sに対応する i及び検証装 置(2)から送信される何らかの情報に値が依存する情報 Hと、第 2分割情報 Siと、の 積を全ての iについて合計した値を冪数とし、認証情報生成因子 Rを底とし、 Nを法と した冪乗剰余演算結果」の一例である。ここで、式 (6)では、「検証装置(2)から送信 される何らかの情報」として u, Rの少なくとも一方を用い、「情報 H」として、 u, Rの少 なくとも一方と iとに依存して定まる関数値 H (i, u, R)を用いている。しかし、「検証装 置(2)から送信される何らかの情報」として、検証装置(2)から送信された u, R以外 の情報を含んでもよい。また、「検証装置(2)から送信される何らかの情報」及び iと、「 情報 H」とを対応付けたテーブルを、証明装置(1)と検証装置 (2)とで共有しておき、 認証情報生成部(141)が、このテーブルを用いて「情報 H」を決定してもよ!/、。
[0071] ここで、式 (6)の冪数のビット長は、保持情報 s全体のビット長に比べて格段に短ぐ 式 (6)の演算コストは、第 1実施形態の式(3)の演算コストに比べ、 lZk程度である。 さらに、 kなどのパラメータを適切に選べば、システム全体の演算コストは、 SHA- 1 等のノ、ッシュ関数を用いた公知のメッセージ認証子による認証方法の演算コストより も少なくなる。
ステップ S7aに続くステップ S8、 S9は、第 1実施形態 (第 2実施形態)における処理 と同じであるから説明を略する。
[0072] 第 1実施形態 (第 2実施形態)におけるステップ S10の処理では、式 (4)に従って判 定を行ったが、第 3実施形態では、次の判定処理を行う。即ち、検証装置(2)の判定 部(244)は、 RAM (25)カゝら N、乱数!:、乱数 u、認証情報生成子 R、認証情報 R(s) 、検証情報 C (s)を読み込み(予め外部記憶装置(27)力も読み込まれて 、るとする。 )、式 (7)に示す関係が成立するか否かの判定を行う (ステップ SlOa)〔図 18参照〕。
[数 7]
R(s) = modN ( 7 )
Figure imgf000031_0001
ステップ SlOaに続くステップ Sl lおよび S12の処理は、第 1実施形態 (第 2実施形 態)における処理と同じであるから説明を略する。
[0073] <第 4実施形態 >
次に、本発明の第 4実施形態について、図 21から図 29を参照しながら説明する。 第 4実施形態は、第 1実施形態、第 2実施形態、第 3実施形態における安全性の向 上を図るための技術を説明する。この安全性向上のための技術は、第 1実施形態、 第 2実施形態及び第 3実施形態の何れにも適用可能である。しかし、第 4実施形態で は、説明の便宜から、一例として、第 3実施形態にこの安全性向上のための技術を適 用する場合を説明する。
[0074] 第 1実施形態、第 2実施形態、第 3実施形態では、認証情報生成因子 Rを送信した 検証装置を、信頼のおける検証装置と看做していた。しかし、前述のように、検証装 置が不正な方法で認証情報生成因子 Rを生成する場合や、検証装置に成り済ました 攻撃者の装置が本発明のシステムに介在する場合があることを否定できな 、。このよ うな場合に対処するために、証明装置は、その直接の通信相手である検証装置が確 力に所定の処理に基づいて認証情報生成因子 Rを生成したものであることを、対話 証明によって認証する。第 4実施形態では、その一例として乱数 rに関するゼロ知識 対話証明を利用した検証装置の認証について説明する。なお、知識のゼロ知識証 明の構成方法はさまざまなものが公知であり、第 4実施形態に示す構成はその一例 である。例えば、第 4実施形態で説明するゼロ知識証明の構成に代え、楕円曲線上 のスカラー倍演算を用いたものによって構成することも可能である。
[0075] なお、安全性の観点からは、ゼロ知識性の数学的証明がなされている対話証明を 用いることが望ましい。これにより、乱数 rの内容を傍受したいと考える攻撃者に対し、 乱数 rが知られな 、と 、う安全性が保証できるからである。ここで「証明装置が rを保持 していることを検証装置に証明する対話証明のゼロ知識性の数学的証明がなされて いる」とは、ある証明装置が、対話証明の規格通りに検証装置に受け答えし、これに 対して検証装置が合格であると判定した場合に、その被検証装置を改造して rを出力 する装置を構成できることが証明されていることである(例えば、「0. Goldreich Found ations of し ryptography, volume I. Cambridge University Press, 2001」等参照)。この ような証明がなされた対話証明の場合、 rを知っているもののみが規格通りに受け答 えできるといえる。このような対話証明の性質を知識健全性という。
[0076] このように、安全性の観点からは知識の証明はゼロ知職証明であることが望ましい 力 効率のために、現時点ではゼロ知識性の数学的証明が完全になされていない手 段、たとえば後述する を、ノ、ッシュ関数を用いたビットコミットメントで代替することも できる。 第 4実施形態では、第 3実施形態と同一の機能'処理については同一の符号を与 えるなどして説明を省略する。
[証明装置]
第 4実施形態における証明装置(1)の外部記憶装置(17)〔あるいは ROMなど〕に は、認証情報を生成するためのプログラム、後述する c"を生成するためのプログラム 、認証情報生成因子が検証装置において正当に生成されたことを対話証明によって 認証するためのプログラムおよびこれらのプログラムの処理において必要となるデー タ(情報 sなど)などが保存されている。その他、これらのプログラムに基づく処理を制 御するための制御プログラムも外部記憶装置(17)等に保存しておく。
第 4実施形態における証明装置(1)では、外部記憶装置(17)〔あるいは ROMなど 〕に記憶された各プログラムとこの各プログラムの処理に必要なデータ力 必要に応じ て RAM (15)に読み込まれる。 CPU (14)は、これらの各プログラムを実行して、各デ ータを処理する。その結果、 CPU (14)が所定の機能 ( 生成部、認証判定部、認証 情報生成部、制御部)を実現する。
[検証装置]
第 4実施形態における検証装置(2)の外部記憶装置(27)〔あるいは ROMなど〕に は、認証情報生成因子を生成するためのプログラム、乱数を生成するためのプロダラ ム、後述する W、 zを生成するためのプログラム、認証情報生成因子が検証装置にお V、て正当に生成されたことを対話証明によって証明するためのプログラム、証明装置 力 受信した情報と検証装置に保持される情報との一致を判定するためのプログラム 、およびこれらのプログラムの処理にお!、て必要となるデータなどが保存されて 、る。 その他、これらのプログラムに基づく処理を制御するための制御プログラムも外部記 憶装置 (27)等に保存しておく。
検証装置(2)では、外部記憶装置(27)〔あるいは ROMなど〕に記憶された各プロ グラムとこの各プログラムの処理に必要なデータ力 必要に応じて RAM (25)に読み 込まれる。 CPU (24)は、これらの各プログラムを実行して、各データを処理する。そ の結果、 CPU (24)が所定の機能 (認証情報生成因子生成部、乱数生成部、 W生成 部、 z生成部、対話判定部、判定部、制御部)を実現する。 [0078] [第三者装置]
第 4実施形態における第三者装置 (3)は、第 2実施形態で説明した第三者装置と 同様であるから説明を略する。
C準備]
tを予め定められた自然数 (但し、 Nよりも小さいとする。)とする。 tは、証明装置(1) の外部記憶装置(17)および検証装置(2)の外部記憶装置(27)に保存されて 、ると する。また、第 3実施形態と同様な関数 H (i, u, R)を予め定めておく。例として、 H (i , u, R) = とおくこともできるし、その他に SHA—1などのハッシュ関数を用いること ができる。
[0079] [認証]
第 4実施形態における対話証明の処理は、第 3実施形態で説明したステップ S6aの 処理とステップ S 7aの処理との間に行われる。
そこで、ステップ SOt〜ステップ S6a、ステップ S 7a〜ステップ SI 2の説明を略し、こ の対話証明の処理について説明を加えることにする。
まず、ステップ S6aの処理の後、証明装置(1)の制御部(190)は、外部記憶装置( 17)から8、 t、 Nを読み込み、これを RAM (15)の所定の格納領域に格納しておく。
[0080] 証明装置(1)の乱数生成部(143)は、 RAM (15)から tを読み込み、 0以上 t未満 の乱数 cおよび 0以上 N未満の Nと互いに素な乱数で ξを生成し、この乱数 cおよび 乱数 ξを RAM (15)の所定の格納領域に格納する (ステップ S611)〔図 21参照〕。 なお、 0以上 2 1以下の乱数 cを生成する構成であってもよい。
次に、証明装置(1)の 生成部(142)は、 RAM (15)力も N、 g、 t、乱数 乱数 ξ を読み込み、式(8)に従った演算を行い、この演算結果 c"を RAM (15)の所定の格 納領域に格納する (ステップ S612)〔図 21参照〕。
[数 8]
Figure imgf000034_0001
[0081] 次に、証明装置(1)の制御部(190)の制御に従い、通信部(13)力 RAM (15)か ら読み込んだ (ステップ S612で得られた) c "を検証装置(2)に対して送信する (ステ ップ S613)〔図 21参照〕。
なお、ステップ S611で得られた乱数 c、乱数 ξは、証明装置(1)の制御部(190) の制御によって、外部記憶装置(17)に保存される。
次に、検証装置(2)の制御部(290)の制御に従い、通信部(23)が、ステップ S61 3において送信された を受信し、この を外部記憶装置(27)に記憶する (ステップ S614)〔図 22参照〕。
[0082] 次に、検証装置(2)の制御部(290)は、外部記憶装置(27)から N、 gを読み込み、 それぞれを RAM (25)の所定の格納領域に格納する〔図 22参照〕。
次に、検証装置(2)の乱数生成部(242)は、 RAM (25)力も Nを読み込み、 0以上 N未満の乱数 wを生成し、この乱数 wを RAM (25)の所定の格納領域に格納する (ス テツプ S615)〔図 22参照〕。なお、 0以上 N' 23t— 1以下の乱数 wが生成される構成 であってもよい。後述のように、検証装置(2)は、証明装置(1)に z = c 'r+wを送信 する (ステップ S623)。 0以上 N' 23t— 1以下の乱数 wが選択される場合、どのような 方法で c, rが与えられても、 z = c 'r+wの分布と、このような範囲で生成される乱数 w 'の分布とが識別不能となることが証明できる。つまり、このような範囲で wが選択され る場合、攻撃者力 = c'r+wから rを推測することが十分困難であることがいえ、プロ トコルの安全性が確保できる。
[0083] 次に、検証装置(2)の W生成部(247)は、 RAM (25)力 N、 g、乱数 wを読み込 み、式(9)に従った演算を行い、この演算結果 Wを RAM (25)の所定の格納領域に 格納する (ステップ S616)〔図 22参照〕。
[数 9]
W = gw modN ( 9 )
[0084] 次に、検証装置(2)の制御部(290)の制御に従い、通信部(23)が、 RAM (25)か ら読み込んだステップ S616で得られた Wを証明装置(1)に対して送信する (ステツ プ S617)〔図 22参照〕。
なお、ステップ S615で得られた乱数 wは、検証装置(2)の制御部(290)の制御に よって、外部記憶装置(27)に保存される。 次に、証明装置(1)の制御部(190)の制御に従い、通信部(13)が、ステップ S61 7において送信された Wを受信し、この Wを外部記憶装置(17)に保存する (ステップ S618)〔図 23参照〕。
[0085] 次に、証明装置(1)の制御部(190)は、外部記憶装置(17)力も乱数 cおよび乱数
ξを読み込み、それぞれを RAM (15)の所定の格納領域に格納する。そして、証明 装置( 1)の制御部( 190)の制御に従 、、通信部( 13)が、 RAM ( 15)から読み込ん だ乱数 cおよび乱数 ξを検証装置(2)に対して送信する (ステップ S619)〔図 23参照
L
次に、検証装置(2)の制御部(290)の制御に従い、通信部(23)が、ステップ S61 9において送信された乱数 cおよび乱数 ξを受信し、この乱数 cおよび乱数 ξを外部 記憶装置(27)に保存する (ステップ S620)〔図 24参照〕。
[0086] 次に、検証装置(2)の制御部(290)は、外部記憶装置(27)力も乱数 c、乱数 、 g 、 t、 N、乱数!:、乱数 w、 c"を読み込み、それぞれを RAM (25)の所定の格納領域に 格納する〔図 24参照〕。
次に、検証装置(2)の対話判定部(250)は、 RAM (25)から g、 c、 t、 N、乱数 ξ、 を読み込み、式 (8)に示す関係が成立するか否かの判定を行う(ステップ S621)〔 図 24参照〕。この判定結果が関係不成立の場合には、検証装置(2)の制御部(290 )の制御の下、以下の処理を実行せずに終了する (ステップ S622)。この判定結果が 関係成立の場合には、検証装置(2)の制御部(290)の制御の下、続くステップ S62 3が実行される。
[0087] 検証装置(2)の z生成部(248)は、 RAM (25)力 乱数 c、乱数!:、乱数 wを読み込 み、式(10)に従った演算を行い、この演算結果 zを RAM (25)の所定の格納領域に 格納する (ステップ S623)〔図 24参照〕。
[数 10] z = cr + w ( 1 0)
[0088] 次に、検証装置(2)の制御部(290)の制御に従い、通信部(23)が、 RAM (25)か ら読み込んだステップ S623で得られた zを証明装置(1)に対して送信する (ステップ S624)〔図 24参照〕。
次に、証明装置(1)の制御部(190)の制御に従い、通信部(13)が、ステップ S62 4において送信された zを受信し、この zを外部記憶装置(17)に保存する (ステップ S 625)〔図 25参照〕。
次に、証明装置(1)の制御部(190)は、外部記憶装置(17)から、 g、 N、認証情報 生成因子 R、 z、乱数 乱数 u、情報 s、 Wを読み込み、それぞれを RAM (15)の所 定の格納領域に格納する〔図 25参照〕。
[0089] 次に、証明装置(1)の認証判定部(145)は、 RAM (15)力 g、 z、 N、乱数 W、 認証情報生成因子 Rを読み込み、式(11)に示す関係が成立するか否かの判定を行 う(ステップ S626)〔図 25参照〕。この判定結果が関係不成立の場合には、証明装置 (1)の制御部(190)の制御の下、以下の処理を実行せずに終了する(ステップ S62 7)。この判定結果が関係成立の場合には、証明装置(1)の制御部(190)の制御の 下、続くステップ S7aが実行される。ステップ S7a以降の処理は第 2実施形態におけ るのと同じ処理である。
[数 11] gz = RcW modN ( 1 1 ) なお、ステップ S611力も S612, S618, S619, S625, S626の各処理を実行する 部分が「対話証明部」に相当する。また、ステップ S614から S617, S620力 S624 までの各処理を実行する部分が「対話検証部」に相当する。
[0090] <第 5実施形態 >
次に、本発明の第 5実施形態について、図 30〜図 37を参照しながら説明する。 第 5実施形態は、第 1実施形態ないし第 2実施形態の安全性向上のために、本発 明独自の対話証明手法を適用したものである。ここでは説明の便宜から、第 2実施形 態に本発明独自の対話証明手法を適用した形態を説明する。
第 5実施形態では、第 2実施形態および第 4実施形態と同一の機能'処理について は同一の符号を与えるなどして説明を省略する。
[0091] [証明装置] 第 5実施形態における証明装置(1)の外部記憶装置(17)〔あるいは ROMなど〕に は、認証情報を生成するためのプログラム、後述する Aを生成するためのプログラム、 乱数を生成するためのプログラム、検証装置が第 1任意情報を正しく用いて認証情 報生成因子を生成したかを判定するためのプログラムおよびこれらのプログラムの処 理において必要となるデータ (情報 sなど)などが保存されている。その他、これらのプ ログラムに基づく処理を制御するための制御プログラムも外部記憶装置(17)等に保 存しておく。
証明装置(1)では、外部記憶装置(17)〔あるいは ROMなど〕に記憶された各プロ グラムとこの各プログラムの処理に必要なデータ力 必要に応じて RAM (15)に読み 込まれる。 CPU (14)は、これらの各プログラムを実行して、各データを処理する。そ の結果、 CPU (14)が所定の機能 (A生成部、乱数生成部、第 1判定部、認証情報 生成部、制御部)を実現する。
[0092] [検証装置]
第 5実施形態における検証装置(2)の外部記憶装置(27)〔あるいは ROMなど〕に は、認証情報生成因子を生成するためのプログラム、乱数を生成するためのプロダラ ム、後述する Bを生成するためのプログラム、証明装置が正しく前記の Aを生成した かを判定するためのプログラム、証明装置力 受信した情報と検証装置に保持される 情報との一致を判定するためのプログラムおよびこれらのプログラムの処理において 必要となるデータなどが保存されている。その他、これらのプログラムに基づく処理を 制御するための制御プログラムも外部記憶装置(27)等に保存しておく。
[0093] 検証装置(2)では、外部記憶装置(27)〔あるいは ROMなど〕に記憶された各プロ グラムとこの各プログラムの処理に必要なデータ力 必要に応じて RAM (25)に読み 込まれる。 CPU (24)は、これらの各プログラムを実行して、各データを処理する。そ の結果、 CPU (24)が所定の機能 (認証情報生成因子生成部、 B生成部、乱数生成 部、第 2判定部、判定部、制御部)を実現する。
[0094] [第三者装置]
第 5実施形態における第三者装置 (3)は、第 2実施形態で説明した第三者装置と 同様であるから説明を略する。 固]
vを予め定められた自然数とする。 Vは、証明装置(1)の外部記憶装置(17)およ び検証装置(2)の外部記憶装置(27)に保存されて ヽるとする。
[認証]
ステップ SOtからステップ S3vまでの処理は、第 2実施形態における処理と同じであ るから説明を略する。
ステップ S3vに続 、て、次のような処理が順次行われる。
[0095] まず、検証装置(2)の制御部(290)は、外部記憶装置(27)力 Nおよび gを読み 込み、それぞれを RAM (25)の所定の格納領域に格納する。そして、検証装置(2) の制御部(290)の制御に従い、通信部(23)が、 RAM (25)から読み込んだ Nおよ び gを証明装置(1)に対して送信する (ステップ S700)〔図 30参照〕。
次に、証明装置(1)の制御部(190)の制御に従い、通信部(13)が、ステップ S70 0において送信された Nおよび gを受信し、この Nおよび gを外部記憶装置(17)に保 存する (ステップ S701)〔図 31参照〕。
[0096] 次に、証明装置(1)の制御部(190)は、外部記憶装置(17)から N、 g、 vを読み込 み、それぞれを RAM ( 15)の所定の格納領域に格納する〔図 31参照〕。
次に、証明装置(1)の乱数生成部(143)は、 RAM (15)から vを読み込み、高々 2 程度の大きさの乱数 aを生成し、この乱数 aを RAM (15)の所定の格納領域に格 納する (ステップ S702)〔図 31参照〕。なお、乱数生成部(143)が、 0≤a≤N' 2v— 1の範囲から乱数 aを生成してもよい。前述のように、このような範囲から乱数 aが選択 される構成が、安全性と演算コストの両立という観点から望ましいからである。また、必 ずしも aは乱数である必要はなぐ値が任意に選択されるものであればよ!、。
[0097] 次に、証明装置(1)の A生成部(148)は、 RAM (15)力も N、 g、乱数 aを読み込み 、式(12)に従った演算を行い、この演算結果 Aを RAM (15)の所定の格納領域に 格納する (ステップ S703)〔図 31参照〕。
[数 12]
A = ga modN ( 1 2 ) [0098] 次に、証明装置(1)の制御部(190)の制御に従い、通信部(13)が、 RAM (15)か ら読み込んだステップ S703で得られた Aを検証装置(2)に対して送信する (ステップ
5704)〔図 31参照〕。
なお、ステップ S703、 S704で得られた乱数 a、 Aは、証明装置(1)の制御部(190 )の制御によって、外部記憶装置(17)に保存される。
次に、検証装置(2)の制御部(290)の制御に従い、通信部(23)が、ステップ S70 4において送信された Aを受信し、この Aを外部記憶装置(27)に保存する (ステップ
5705)〔図 32参照〕。
[0099] 次に、検証装置(2)の制御部(290)は、外部記憶装置(27)から N、 g、 v、 Aを読 み込み、それぞれを RAM (25)の所定の格納領域に格納する〔図 32参照〕。
次に、検証装置(2)の乱数生成部(242)は、 RAM (25)から vを読み込み、高々 2 程度の大きさの乱数 rを生成し、この乱数 rを RAM (25)の所定の格納領域に格 納する (ステップ S706)〔図 32参照〕。なお、乱数生成部(242)力 0≤r≤N'2v— 1 の範囲力 乱数 rを生成してもよい。前述のように、このような範囲力 乱数 rが選択さ れる構成が、安全性と演算コストの両立という観点から望ましいからである。また、必 ずしも rは乱数である必要はなぐ値が任意に選択されるものであればよ!、。
[0100] 次に、検証装置(2)の認証情報生成因子生成部(243)は、 RAM (25)から N、 g、 乱数 rを読み込み、上記の式(2)に従った演算を行い、この演算結果 R〔認証情報生 成因子〕を RAM (25)の所定の格納領域に格納する(ステップ S707)〔図 32参照〕。 次に、検証装置(2)の B生成部(249)は、 RAM (25)から N、乱数!:、 Aを読み込み 、式(13)に従った演算を行い、この演算結果 Bを RAM (25)の所定の格納領域に 格納する (ステップ S708)〔図 32参照〕。
[数 13]
B = Ar modN ( 1 3 )
[0101] 次に、検証装置(2)の制御部(290)の制御に従い、通信部(23)が、 RAM (25)か ら読み込んだステップ S707、 S708で得られた、認証情報生成因子 R、 Bを証明装 置(1)に対して送信する (ステップ S709)〔図 32参照〕。 なお、ステップ S706、 S707、 S708で得られた乱数!:、認証情報生成因子 R、 Bは 、検証装置(2)の制御部(290)の制御によって、外部記憶装置(27)に保存される。 次に、証明装置(1)の制御部(190)の制御に従い、通信部(13)が、ステップ S70 9において送信された認証情報生成因子 R、 Bを受信し、この認証情報生成因子 R、 Bを外部記憶装置(17)に保存する (ステップ S710)〔図 33参照〕。
[0102] 次に、証明装置(1)の制御部(190)は、外部記憶装置(17)から B、認証情報生成 因子 乱数 a、情報 s、 Nを読み込み、それぞれを RAM (15)の所定の格納領域に 格納する。
次に、証明装置(1)の第 1判定部(160)は、 RAM (15)から B、認証情報生成因子 R、乱数 a、 Nを読み込み、式(14)に示す関係が成立するか否かの判定を行う(ステ ップ S711)〔図 33参照〕。この判定結果が関係不成立の場合には、証明装置(1)の 制御部(190)の制御の下、以下の処理を実行せずに終了する (ステップ S712)。こ の判定結果が関係成立の場合には、証明装置(1)の制御部(190)の制御の下、続 くステップ S713が実行される。
[数 14]
B = Ra modN ( 1 4)
[0103] 次に、証明装置(1)の認証情報生成部(141)は、 RAM (15)力も N、情報 s、認証 情報生成因子 Rを読み込み、上記の式(3)に従った演算を行い、この演算結果 R(s) 〔認証情報〕を RAM (15)の所定の格納領域に格納する (ステップ S713)〔図 33参照
L
次に、証明装置(1)の制御部(190)の制御に従い、通信部(13)力 RAM (15)か ら読み込んだステップ S713で得られた認証情報 R(s)およびステップ S702で得られ た乱数 aを検証装置 (2)に対して送信する (ステップ S714)〔図 33参照〕。
[0104] 次に、検証装置(2)の制御部(290)の制御に従い、通信部(23)が、ステップ S71 4にお ヽて送信された認証情報 R (s)および乱数 aを受信し、この認証情報 R (s)およ び乱数 aを外部記憶装置(27)に保存する (ステップ S715)〔図 34参照〕。
次に、検証装置(2)の制御部(290)は、外部記憶装置(27)から N、乱数!:、認証情 報 R (s)、検証情報 C (s)、 A、乱数 a、 gを読み込み、それぞれを RAM (25)の所定の 格納領域に格納する〔図 34参照〕。
[0105] 次に、検証装置(2)の第 2判定部(260)は、 RAM (25)からん g、乱数 a、 Nを読 み込み、式(15)に示す関係が成立するか否かの判定を行う(ステップ S716)〔図 34 参照〕。この判定結果が関係不成立の場合には、検証装置(2)の制御部(290)の制 御の下、以下の処理を実行せずに終了する (ステップ S717)。この判定結果が関係 成立の場合には、検証装置(2)の制御部(290)の制御の下、続くステップ S 10以降 の処理が実行される。ステップ S 10以降の処理は既に説明したので略する。なお、判 定結果が関係不成立の場合に、検証装置(2)力 ステップ S716とステップ S10の何 れの処理で関係不成立となったのかを、証明装置に送信しない構成が望ましい。こ の情報が送信されるプロトコルでは安全性が保てないからである。
[数 15]
A = ga modN ( 1 5 ) なお、本形態のステップ S702から S704, S710, S711の各処理を実行する部分 力 S「対話証明部」に相当する。また、本形態のステップ S705から S709, S715, S71 6の各処理を実行する部分が「対話検証部」に相当する。
[0106] <第 6実施形態 >
次に、本発明の第 6実施形態について、図 38から図 44を参照しながら説明する。 第 6実施形態は、第 5実施形態における計算効率の向上を図る形態である。計算 効率の向上を図るための手法は、第 3実施形態と同様である。ここでは説明の便宜か ら、第 2実施形態に第 5実施形態で説明した本発明独自の対話証明手法を適用し、 さらに、第 3実施形態で説明した計算効率の向上を図るための手法を適用する構成 を説明する。
第 6実施形態では、第 3実施形態および第 5実施形態と同一の機能'処理について は同一の符号を与えるなどして説明を省略する。また、以下では、単に情報 sと云え ば、 k個の分割情報 s、 s、 · ··、 s の総称を意味するものとする。
0 1 k- 1
[0107] [証明装置] 第 6実施形態における証明装置(1)は、第 5実施形態で説明した証明装置と同様 であるから説明を略する。
[検証装置]
第 6実施形態における検証装置 (2)は、第 5実施形態で説明した検証装置と同様 であるから説明を略する。
[第三者装置]
第 6実施形態における第三者装置 (3)は、第 2実施形態で説明した第三者装置と 同様であるから説明を略する。
[0108] [準備]
Vを予め定められた自然数とする。 Vは、証明装置(1)の外部記憶装置(17)およ び検証装置(2)の外部記憶装置(27)に保存されて ヽるとする。
[認証]
ステップ SOtからステップ S3vaまでの処理は、第 3実施形態における処理と同じで ある力 説明を略する。
ステップ S3vaに続 、て、次のような処理が順次行われる。
[0109] まず、検証装置(2)の制御部(290)は、外部記憶装置(27)から v、 N、 gを読み込 み、それぞれを RAM (25)の所定の格納領域に格納する〔図 38参照〕。
次に、検証装置(2)の乱数生成部(242)は、 RAM (25)から vを読み込み、高々 Vビット程度の大きさの乱数 uを生成し、この乱数 uを RAM (25)の所定の格納領域 に格納する(ステップ S800)〔図 38参照〕。
次に、検証装置(2)の制御部(290)の制御に従い、通信部(23)が、 RAM (25)か ら読み込んだ乱数 u、 N、 gを証明装置(1)に対して送信する (ステップ S801)〔図 38 参照〕。
[0110] なお、ステップ S800で得られた乱数 uは、検証装置(2)の制御部(290)の制御に よって、外部記憶装置(27)に保存される。
次に、証明装置(1)の制御部(190)の制御に従い、通信部(13)が、ステップ S80 1において送信された乱数 u、 N、 gを受信し、この乱数 u、 N、 gを外部記憶装置(17) に保存する (ステップ S802)〔図 39参照〕。 ステップ S802に続いてステップ S702から S712が処理される力 第 5実施形態に おいて説明したとおりであるから、説明を略する。
[0111] ステップ S711に続いて(つまり、ステップ S712の終了処理をしない場合である。)、 次のステップ S803が処理される。即ち、証明装置(1)の認証情報生成部(141)は、 RAM (15)力も N、情報 s、認証情報生成因子 R、乱数 u、 A、 Bを読み込み(予め外 部記憶装置(17)から読み込まれているとする。)、式(16)に従った演算を行い、この 演算結果 R (s)〔認証情報〕を RAM (15)の所定の格納領域に格納する (ステップ S8 03)〔図 40参照〕。
[数 16]
(s) = R∑d siH(i,u,R,A,B) mod N ( 1 6 )
R
[0112] ステップ S803に続き、ステップ S8、 S9、 S716が順次処理される力 第 5実施形態 において説明したとおりであるから、説明を略する。
ステップ S716に続いて(つまり、ステップ S717の終了処理をしない場合である。)、 次のステップ S804が処理される。即ち、検証装置(2)の判定部(244)は、 RAM (25 )から N、乱数!:、乱数 u、認証情報生成因子 R、認証情報 R (s)、検証情報 C (s)、 A、 Bを読み込み(予め外部記憶装置(27)力も読み込まれているとする。)、式(17)に示 す関係が成立するか否かの判定を行う(ステップ S804)〔図 41参照〕。
[数 17]
Figure imgf000044_0001
[0113] ステップ S804に続くステップ S11および S12の処理は、第 3実施形態における処 理と同じであるから説明を略する。
本発明である認証システム '方法は上述の実施形態に限定されるものではなぐ本 発明の趣旨を逸脱しない範囲で適宜変更が可能である。
例えば、各実施形態では、「可換な半群」として、定数 Nを法とした剰余環の乗法に ついての巡回群を用いた。しかし、本発明で用いることが可能な「可換な半群」はこれ に限定されない。例えば、多項式を法とした剰余環の乗法についての巡回群を「可 換な半群」として用いてもょ 、。
[0114] また、各実施形態では、可換な半群で定義された冪乗演算の底 (例えば g)を、自 然数などの数値とした。しかし、この冪乗演算の底を多項式としてもよい。
また、各実施形態では、 Nは、素数であることが判定可能な数を除く自然数であつ て、素因数分解が困難な数であることが望ましいと説明した。しかし、これ以外の Nを 用いてもよい。例えば、 3つ以上の素数の積力もなる合成数を Nとしてもよい。また、 例えば、攻撃者の存在を無視できる用途に本発明を適用するのであれば、安全性の 観点からは、 Nはどのような値であっても力まわない。すなわち、このような用途に本 発明を適用するのであれば、「可換な半群」は、必ずしも、その半群で定義された有 限集合の位数の算出が困難なものである必要はない。
[0115] また、第 2実施形態、第 3実施形態及び第 6実施形態において関数 H (i, u, R)を 用いない構成としてもよい。この場合の各処理は、例えば、 H (i, u, R) = 1とおいたも のとなる。
各実施形態で用いた乱数の代わりにその他の任意の数を用いてもよい。また、各 実施形態で、外部記憶装置に格納されると説明したデータ力 RAMに格納されても よいし、 RAMに格納されると説明したデータ力 外部記憶装置に格納されてもよい。 その他、認証情報の生成方法や判定の方法は適宜に変更可能である。また、上記 認証システム '方法において説明した処理は、記載の順に従って時系列に実行され るのみならず、処理を実行する装置の処理能力あるいは必要に応じて並列的にある いは個別に実行されるとしてもよい。
[0116] また、上記証明装置、検証装置、第三者装置における処理機能を、プロセッサを中 心に構成されるコンピュータによって実現する場合、証明装置、検証装置、第三者装 置が有すべき機能の処理内容はプログラムによって記述される。そして、このプロダラ ムをコンピュータで実行することにより、上記証明装置、検証装置、第三者装置にお ける処理機能がコンピュータ上で実現される。
この処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に 記録しておくことができる。コンピュータで読み取り可能な記録媒体としては、例えば 、磁気記録装置、光ディスク、光磁気記録媒体、半導体メモリ等どのようなものでもよ い。具体的には、例えば、磁気記録装置として、ハードディスク装置、フレキシブルデ イスク、磁気テープ等を、光ディスクとして、 DVD (Digital Versatile Disc)、 DVD-R AM (Random Access Memory)、 CD— ROM (Compact Disc Read Only Memory;、 CD— R (Recordable) ZRW (Rewritable)等を、光磁気記録媒体として、 MO (Magne to-Optical disc)等を、半導体メモリとして EEP— ROM (Electronically Erasable and Programmable-Read Only Memory)等を用いることができる。
[0117] また、このプログラムの流通は、例えば、そのプログラムを記録した DVD、 CD-R OM等の可搬型記録媒体を販売、譲渡、貸与等することによって行う。さらに、このプ ログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サ 一バコンピュータカ 他のコンピュータにそのプログラムを転送することにより、このプ ログラムを流通させる構成としてもよ!/、。
このようなプログラムを実行するコンピュータは、例えば、まず、可搬型記録媒体に 記録されたプログラムもしくはサーバコンピュータ力も転送されたプログラムを、ー且、 自己の記憶装置に格納する。そして、処理の実行時、このコンピュータは、自己の記 録媒体に格納されたプログラムを読み取り、読み取ったプログラムに従った処理を実 行する。また、このプログラムの別の実行形態として、コンピュータが可搬型記録媒体 力 直接プログラムを読み取り、そのプログラムに従った処理を実行することとしてもよ く、さらに、このコンピュータにサーバコンピュータ力 プログラムが転送されるたびに 、逐次、プロセッサが、受け取ったプログラムに従った処理を実行することとしてもよい 。また、サーバコンピュータから、このコンピュータへのプログラムの転送は行わず、そ の実行指示と結果取得のみによって処理機能を実現する、 V、わゆる ASP (Applicatio n Service Provider)型のサービスによって、上述の処理を実行する構成としてもよい。 なお、本形態におけるプログラムには、電子計算機による処理の用に供する情報で あってプログラムに準ずるもの(コンピュータに対する直接の指令ではないがコンビュ ータの処理を規定する性質を有するデータ等)を含むものとする。
[0118] また、この形態では、コンピュータ上で所定のプログラムを実行させることにより、証 明装置、検証装置、第三者装置を構成することとしたが、これらの処理内容の少なく とも一部をノヽードウエア的に実現することとしてもょ 、。
産業上の利用可能性
本発明は、特定ないし不特定の証明装置が所定の情報を保持していることの認証 に有用である。本発明は、各分野に汎用性のある基盤的技術に関するものであるが 、本発明の具体的な利用分野としては、例えば、ファイル流通又はネットワークストレ ージサービスでの監視や相手認証、高品質デジタルメディア配信やデータベースの 整合性確認などを例示できる。

Claims

請求の範囲
[1] 認証システムであって、
保持情報が格納された証明装置と、
上記証明装置に通信可能に接続され、上記保持情報が対比情報と同一であること を検証する検証装置と、を含み、
上記検証装置は、
上記対比情報の内容に依存する内容を有し、上記対比情報の情報量に依存しな い情報量を有する検証情報と、任意の情報である第 1任意情報と、を記憶する第 1記 憶部と、
上記証明装置に認証情報を生成させるための認証情報生成因子を、上記第 1記 憶部に記憶された上記第 1任意情報を用いて生成する認証情報生成因子生成部と 上記認証情報生成因子生成部が生成した上記認証情報生成因子を上記証明装 置に送信する第 1送信部と、
上記証明装置が送信した上記認証情報を受信する第 1受信部と、
上記第 1受信部が受信した上記認証情報と、上記第 1記憶部に記憶された上記検 証情報及び上記第 1任意情報との間に、所定の関係が成立するか否かを判定する 判定部と、を含み、
上記証明装置は、
上記保持情報を記憶する第 2記憶部と、
上記第 1送信部が送信した上記認証情報生成因子を受信する第 2受信部と、 上記第 2受信部が受信した上記認証情報生成因子と、上記第 2記憶部に記憶され た上記保持情報とを用い、上記認証情報生成因子と上記保持情報との内容に依存 する内容を有し、上記保持情報の情報量に依存しな 、情報量を有する上記認証情 報を生成する認証情報生成部と、
上記認証情報生成部によって生成された上記認証情報を上記検証装置に送信す る第 2送信部と、を含む。
[2] 請求項 1に記載の認証システムであって、 上記検証情報は、
可換な半群をなす演算が定義された有限集合の元を底とし、上記対比情報を冪数 として、当該半群で定義された冪乗を行った演算結果であり、
上記認証情報生成因子は、
上記有限集合の元を底とし、上記第 1任意情報を冪数として、上記半群で定義され た冪乗を行った演算結果であり、
上記認証情報は、
上記認証情報生成因子を底とし、上記保持情報を冪数として、上記半群で定義さ れた冪乗を行った演算結果であり、
上記判定部は、
上記検証情報を底とし、上記第 1任意情報を冪数として、上記半群で定義された冪 乗を行った演算結果と、上記認証情報と、が等しいか否かを判定する。
[3] 請求項 2に記載の認証システムであって、
上記半群は、
上記有限集合の位数の算出が困難なものである。
[4] 請求項 2に記載の認証システムであって、
上記検証情報は、
定数 Nを法とし、 N未満の値 gを底とし、上記対比情報 s'を冪数とした冪乗剰余演 算結果 C (s,)であり、
上記認証情報生成因子は、
上記 Nを法とし、上記値 gを底とし、上記第 1任意情報 rを冪数とした冪乗剰余演算 結果 Rであり、
上記認証情報は、
上記 Nを法とし、上記認証情報生成因子 Rを底とし、上記保持情報 sを冪数とした冪 乗剰余演算結果 R (s)であり、
上記判定部は、
上記 Nを法とし、上記検証情報 C (s' )を底とし、上記第 1任意情報 rを冪数とした冪 乗剰余演算結果と、上記認証情報 R(s)と、が等しいか否かを判定する。 [5] 請求項 4に記載の認証システムであって、
上記定数 Nは、
素数であることが判定可能な数を除く自然数であって、素因数分解困難な数である
[6] 請求項 4に記載の認証システムであって、
上記定数 Nは、
3つ以上の素数の積からなる合成数である。
[7] 請求項 5に記載の認証システムであって、
上記第 1任意情報 rは、
Vを所定の自然数とした場合における、 0≤r≤N'2v— 1の範囲から任意に選択さ れる値である。
[8] 請求項 1に記載の認証システムであって、
上記検証情報は、
上記対比情報を複数に分割した第 1分割情報ごとに、それぞれの当該第 1分割情 報を用いて生成される情報であり、
上記認証情報生成部は、
上記第 2受信部が受信した上記認証情報生成因子と、上記第 2記憶部に記憶され た上記保持情報を複数に分割した第 2分割情報の全てと、を用いて、上記認証情報 を生成する。
[9] 請求項 8に記載の認証システムであって、
上記検証情報は、
可換な半群をなす演算が定義された有限集合の元を底とし、上記第 1分割情報を 冪数として、当該半群で定義された冪乗を行った演算結果であり、
上記認証情報生成因子は、
上記有限集合の元を底とし、上記第 1任意情報を冪数として、上記半群で定義され た冪乗を行った演算結果であり、
上記認証情報は、
上記認証情報生成因子を底とし、上記第 2分割情報の全てを用いて算出した値で あって上記保持情報よりも情報量が少な 、ものを冪数として、上記半群で定義された 冪乗を行った演算結果であり、
上記判定部は、
上記検証情報の全てを用いて算出した値を底とし、上記第 1任意情報を冪数として
、上記半群で定義された冪乗を行った演算結果と、上記認証情報と、が等しいか否 かを判定する。
[10] 請求項 9に記載の認証システムであって、
上記認証情報は、
各上記第 2分割情報の上記保持情報内のビット位置に対応する事前準備困難な 情報と、上記第 2分割情報の全てとを用いて算出した値であって上記保持情報よりも 情報量が少ないものを冪数とし、上記認証情報生成因子を底として、上記半群で定 義された冪乗を行った演算結果である。
[11] 請求項 9に記載の認証システムであって、
上記半群は、
上記有限集合の位数の算出が困難な半群である。
[12] 請求項 9に記載の認証システムであって、
上記検証情報は、
定数 Nを法とし、 N未満の値 gを底とし、上記第 1分割情報 s 'を冪数とした冪乗剰余 演算結果 C (s' )であり、
上記認証情報生成因子は、
上記 Nを法とし、上記値 gを底とし、上記第 1任意情報 rを冪数とした冪乗剰余演算 結果 Rであり、
上記認証情報は、
上記第 2分割情報 sに対応する i及び上記検証装置カゝら送信される何らかの情報に 値が依存する情報 Hと、上記第 2分割情報 sと、の積を全ての iについて合計した値を 冪数とし、上記認証情報生成因子 Rを底とし、上記 Nを法とした冪乗剰余演算結果 R (s)であり、
上記判定部は、 全ての iに対応する各上記検証情報 ^( )をそれらにそれぞれ対応する上記情報 Hによって冪乗した各値の積を底とし、上記第 1任意情報 rを冪数とし、上記 Nを法と した冪乗剰余演算結果と、上記認証情報 R(s)と、が等しいか否かを判定する。
[13] 請求項 12に記載の認証システムであって、
上記定数 Nは、素数であることが判定可能な数を除く自然数であって、素因数分解 困難な数である。
[14] 請求項 12に記載の認証システムであって、
上記情報 Hは、
上記第 2分割情報 sに対応する iと上記検証装置から送信される何らかの情報と〖こ 値が依存する一方向性関数値である。
[15] 請求項 1に記載の認証システムであって、
上記検証装置は、
上記証明装置の上記第 2受信部が受信した上記認証情報生成因子が、上記第 1 記憶部に記憶された上記第 1任意情報を用いて生成されたことを、上記証明装置と の対話証明によって、上記証明装置に証明する対話証明部を含み、
上記証明装置は、
上記第 2受信部が受信した上記認証情報生成因子が、上記検証装置の上記第 1 記憶部に記憶された上記第 1任意情報を用いて生成されたことを、上記検証装置と の対話証明によって検証する対話検証部を含み、
上記証明装置の第 2送信部は、
上記第 2受信部が受信した上記認証情報生成因子が、上記検証装置の上記第 1 記憶部に記憶された上記第 1任意情報を用いて生成されたことを、上記対話検証部 が確認できた場合に、上記認証情報生成部によって生成された上記認証情報を、そ の検証装置に送信する。
[16] 請求項 1に記載の認証システムであって、
上記証明装置は、
可換な半群をなす演算が定義された有限集合の元 gを底とし、任意の情報である 第 2任意情報 aを冪数として、上記半群で定義された冪乗を行った演算値 Aを生成す る A生成部を含み、
上記証明装置の第 2送信部は、
上記演算値 Aを上記検証装置に送信し、
上記検証装置の第 1受信部は、
上記証明装置が送信した上記演算値 Aを受信し、
上記検証装置の上記認証情報生成因子生成部は、
上記有限集合の元 gを底とし、上記第 1任意情報 rを冪数として、上記半群で定義さ れた冪乗を行って上記認証情報生成因子 Rを生成し、
上記検証装置は、
上記演算値 Aを底とし、上記第 1任意情報 rを冪数として、上記半群で定義された 冪乗を行って演算値 Bを生成する B生成部を含み、
上記検証装置の第 1送信部は、
上記認証情報生成因子 Rと上記演算値 Bとを上記証明装置に送信し、
上記証明装置の上記第 2受信部は、
上記検証装置から送信された上記認証情報生成因子 Rと上記演算値 Bとを受信し 上記証明装置は、
上記第 2受信部が受信した上記認証情報生成因子 Rを底とし、上記第 2任意情報 a を冪数として、上記半群で定義された冪乗を行った演算結果と、上記演算値 Bと、が 等しいか否かを判定する第 1判定部を含み、
上記証明装置の第 2送信部は、
上記第 2受信部が受信した上記認証情報生成因子 Rを底とし、上記第 2任意情報 a を冪数として、上記半群で定義された冪乗を行った演算結果と、上記演算値 Bと、が 等しいことを、上記第 1判定部が確認できた場合に、上記認証情報生成部によって 生成された上記認証情報を、上記検証装置に送信する。
請求項 16に記載の認証システムであって、
上記証明装置の第 2送信部は、
上記第 2受信部が受信した上記認証情報生成因子 Rを底とし、上記第 2任意情報 a を冪数として、上記半群で定義された冪乗を行った演算結果と、上記演算値 Bと、が 等しいことを、上記第 1判定部が確認できた場合に、さらに、上記第 2任意情報 aを、 上記検証装置に送信し、
上記検証装置の第 1受信部は、
上記証明装置から送信された上記第 2任意情報 aを受信し、
上記検証装置は、
上記有限集合の元 gを底とし、上記第 2任意情報 aを冪数として、上記半群で定義さ れた冪乗を行った演算結果と、上記演算値 Aと、が等しいか否かを判定する第 2判定 部を含む。
[18] 請求項 16に記載の認証システムであって、
上記半群は、
上記有限集合の位数の算出が困難な半群である。
[19] 請求項 16に記載の認証システムであって、
上記演算値 Aは、
定数 Nを法とし、 N未満の値 gを底とし、任意の情報である第 2任意情報 aを冪数とし た冪乗剰余演算結果であり、
上記認証情報生成因子 Rは、
上記 Nを法とし、上記値 gを底とし、上記第 1任意情報 rを冪数とした冪乗剰余演算 結果であり、
上記演算値 Bは、
上記 Nを法とし、上記演算値 Aを底とし、上記第 1任意情報 rを冪数とした冪乗剰余 演算結果であり、
上記第 2受信部が受信した上記認証情報生成因子 Rを底とし、上記第 2任意情報 a を冪数として、上記半群で定義された冪乗を行った演算結果は、
上記 Nを法とし、上記認証情報生成因子 Rを底とし、上記第 2任意情報 aを冪数とし た冪乗剰余演算結果である。
[20] 請求項 19に記載の認証システムであって、
上記有限集合の元 gを底とし、上記第 2任意情報 aを冪数として、上記半群で定義さ れた冪乗を行った演算結果は、
上記 Nを法とし、上記有限集合の元 gを底とし、上記第 2任意情報 aを冪数とした冪 乗剰余演算結果である。
[21] 請求項 19に記載の認証システムであって、
上記定数 Nは、
素数であることが判定可能な数を除く自然数であって、素因数分解困難な数である
[22] 請求項 19に記載の認証システムであって、
上記第 2任意情報 aは、
Vを所定の自然数とした場合における、 0≤a≤N'2v— 1の範囲力も任意に選択さ れる値である。
[23] 格納している保持情報が対比情報と同一であることを検証装置に証明する証明装 置であって、
上記保持情報を記憶する記憶部と、
上記検証装置が送信した認証情報生成因子を受信する受信部と、
上記受信部が受信した上記認証情報生成因子と、上記記憶部に記憶された上記 保持情報と、を用い、上記認証情報生成因子及び上記保持情報の内容に依存する 内容を有し、上記保持情報の情報量に依存しな 、情報量を有する上記認証情報を 生成する認証情報生成部と、
上記認証情報生成部によって生成された上記認証情報を上記検証装置に送信す る送信部と、を含む。
[24] 証明装置に格納された保持情報が対比情報と同一であることを検証する検証装置 であって、
上記対比情報の内容に依存する内容を有し、上記対比情報の情報量に依存しな い情報量を有する検証情報と、任意の情報である任意情報と、を記憶する記憶部と、 上記証明装置に認証情報を生成させるための認証情報生成因子を、上記記憶部 に記憶された上記任意情報を用いて生成する認証情報生成因子生成部と、 上記認証情報生成因子生成部が生成した上記認証情報生成因子を上記証明装 置に送信する送信部と、
上記証明装置が送信した上記認証情報を受信する受信部と、
上記受信部が受信した上記認証情報と、上記記憶部に記憶された上記検証情報 及び上記任意情報との間に、所定の関係が成立するか否かを判定する判定部と、を 含む。
[25] 証明装置の記憶部に格納された保持情報が対比情報と同一であることを検証装置 が検証する認証方法であって、
上記対比情報の内容に依存する内容を有し、上記対比情報の情報量に依存しな い情報量を有する検証情報を、上記検証装置の記憶部に記憶する過程と、 任意の情報である任意情報を、上記検証装置の記憶部に記憶する過程と、 上記検証装置の認証情報生成因子生成部が、上記証明装置に認証情報を生成さ せるための認証情報生成因子を、上記検証装置の記憶部に記憶された上記任意情 報を用いて生成する過程と、
上記検証装置の送信部が、上記認証情報生成因子を上記証明装置に送信する過 程と、
上記証明装置の受信部が、上記認証情報生成因子を受信する過程と、 上記証明装置の認証情報生成部が、上記認証情報生成因子と、上記証明装置の 記憶部に記憶された上記保持情報とを用い、上記認証情報生成因子と上記保持情 報との内容に依存する内容を有し、上記保持情報の情報量に依存しない情報量を 有する上記認証情報を生成する過程と、
上記証明装置の送信部が、上記認証情報を上記検証装置に送信する過程と、 上記検証装置の受信部が、上記認証情報を受信する過程と、
上記検証装置の判定部が、上記認証情報と、上記検証装置の記憶部に記憶され た上記検証情報及び上記任意情報との間に、所定の関係が成立するか否かを判定 する過程と、を含む。
[26] 請求項 25に記載の認証方法であって、
上記検証情報は、
上記対比情報を複数に分割した第 1分割情報ごとに、それぞれの当該第 1分割情 報を用いて生成される情報であり、
上記認証情報は、
上記証明装置の受信部が受信した上記認証情報生成因子と、上記証明装置の記 憶部に記憶された上記保持情報を複数に分割した第 2分割情報の全てと、を用いて 生成される。
[27] 請求項 25に記載の認証方法であって、
上記任意情報を上記検証装置の記憶部に記憶する過程から、上記認証情報を上記 検証装置に送信する過程までの間に行われる、
(a)上記証明装置の受信部が受信した上記認証情報生成因子が上記検証装置の 記憶部に記憶された上記任意情報を用いて生成されたことを、上記検証装置の対話 証明部が、上記証明装置との対話証明によって上記証明装置に証明する過程と、
(b)上記証明装置の受信部が受信した上記認証情報生成因子が、上記検証装置の 記憶部に記憶された上記任意情報を用いて生成されたことを、上記証明装置の対話 検証部が、上記検証装置との対話証明によって検証する過程と、を含み、
上記証明装置の受信部が受信した上記認証情報生成因子が、上記検証装置の記 憶部に記憶された上記任意情報を用いて生成されたことを、上記証明装置の対話検 証部が確認できた場合に行われる、
(c)上記証明装置の送信部が、上記認証情報生成部によって生成された上記認証 情報を、上記検証装置に送信する過程、を含む。
[28] 少なくとも、
保持情報を記憶部に記憶させる過程と、
検証装置の送信部カゝら送信された認証情報生成因子を受信部に受信させる過程 と、
上記認証情報生成因子及び上記保持情報の内容に依存する内容を有し、上記保 持情報の情報量に依存しない情報量を有する上記認証情報を生成する過程と、 送信部によって、上記認証情報を上記検証装置に送信させる過程と、 をプロセッサに実行させるための証明装置用プログラム。
[29] 請求項 28記載の証明装置用プログラムであって、 上記保持情報が複数に分割された分割情報の全てを上記記憶部に記憶させる過 程を、さらに、プロセッサに実行させるためのものであり、
上記認証情報を生成する過程は、
上記受信部が受信した上記認証情報生成因子と、上記記憶部に記憶された上記 分割情報の全てと、を用いて、上記認証情報を生成する過程である。
[30] 請求項 28記載の証明装置用プログラムであって、
上記受信部が受信した上記認証情報生成因子が、検証装置の記憶部に記憶され た任意情報を用いて生成されたことを、上記検証装置との対話証明によって検証す る過程と、
上記受信部が受信した上記認証情報生成因子が上記検証装置の上記記憶部に 記憶された上記任意情報を用いて生成されたことが確認された場合に、上記認証情 報を、上記送信部によって、上記検証装置に送信させる過程とを、
さらに、プロセッサに実行させるためのものである。
[31] 少なくとも、
対比情報の内容に依存する内容を有し、当該対比情報の情報量に依存しない情 報量を有する検証情報と、任意の情報である任意情報と、を記憶部に記憶させる過 程と、
証明装置に認証情報を生成させるための認証情報生成因子を、上記記憶部に記 憶された上記任意情報を用いて生成する過程と、
送信部によって、上記認証情報生成因子を上記証明装置に送信させる過程と、 上記証明装置が送信した上記認証情報を受信部に受信させる過程と、 上記受信部が受信した上記認証情報と、上記記憶部に記憶された上記検証情報 及び上記任意情報との間に、所定の関係が成立するか否かを判定する過程と、 をプロセッサに実行させるための検証装置用プログラム。
[32] 請求項 31記載の検証装置用プログラムであって、
上記検証情報は、
上記対比情報を複数に分割した分割情報ごとに、それぞれの当該分割情報を用い て生成される情報である。 [33] 請求項 31記載の検証装置用プログラムであって、
上記証明装置の受信部が受信した上記認証情報生成因子が、上記記憶部に記憶 された上記任意情報を用いて生成されたことを、上記証明装置との対話証明によつ て、上記証明装置に証明する過程を、
さらに、プロセッサに実行させるためのものである。
[34] 請求項 28記載の証明装置用プログラムを格納したコンピュータ読み取り可能な記 録媒体。
[35] 請求項 31記載の検証装置用プログラムを格納したコンピュータ読み取り可能な記 録媒体。
PCT/JP2006/313970 2005-07-13 2006-07-13 認証システム、認証方法、証明装置、検証装置、それらのプログラム及び記録媒体 WO2007007836A1 (ja)

Priority Applications (5)

Application Number Priority Date Filing Date Title
DE602006013138T DE602006013138D1 (de) 2005-07-13 2006-07-13 Authentifizierungssystem, authentifizierungsverfahren, bestätigungsvorrichtung, verifizierungsvorrichtung, programme dafür und aufzeichnungsmedium
CN2006800013876A CN101080897B (zh) 2005-07-13 2006-07-13 鉴别系统、鉴别方法、证明器件、验证器件及其程序和记录介质
US11/792,305 US8001384B2 (en) 2005-07-13 2006-07-13 Authentication system, authentication method, attesting device, verification device, their programs, and recording medium
EP06768184A EP1903713B1 (en) 2005-07-13 2006-07-13 Authentication system, authentication method, attesting device, verification device, their programs, and recording medium
JP2007507586A JP4555859B2 (ja) 2005-07-13 2006-07-13 認証システム、認証方法、証明装置、検証装置、それらのプログラム及び記録媒体

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2005-204954 2005-07-13
JP2005204954 2005-07-13

Publications (1)

Publication Number Publication Date
WO2007007836A1 true WO2007007836A1 (ja) 2007-01-18

Family

ID=37637216

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2006/313970 WO2007007836A1 (ja) 2005-07-13 2006-07-13 認証システム、認証方法、証明装置、検証装置、それらのプログラム及び記録媒体

Country Status (6)

Country Link
US (1) US8001384B2 (ja)
EP (1) EP1903713B1 (ja)
JP (1) JP4555859B2 (ja)
CN (1) CN101080897B (ja)
DE (1) DE602006013138D1 (ja)
WO (1) WO2007007836A1 (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008178005A (ja) * 2007-01-22 2008-07-31 Nippon Telegr & Teleph Corp <Ntt> データ検証システム、その方法、識別子生成装置、データ検証装置、それらプログラム及び記録媒体
WO2010067820A1 (ja) * 2008-12-11 2010-06-17 日本電気株式会社 ゼロ知識証明システム、ゼロ知識証明装置、ゼロ知識検証装置、ゼロ知識証明方法およびそのプログラム
JP2010205258A (ja) * 2008-11-11 2010-09-16 Nec (China) Co Ltd 検索方法、検索装置、索引生成方法、索引生成装置

Families Citing this family (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9198084B2 (en) 2006-05-26 2015-11-24 Qualcomm Incorporated Wireless architecture for a traditional wire-based protocol
US8667144B2 (en) 2007-07-25 2014-03-04 Qualcomm Incorporated Wireless architecture for traditional wire based protocol
US8811294B2 (en) 2008-04-04 2014-08-19 Qualcomm Incorporated Apparatus and methods for establishing client-host associations within a wireless network
US8281131B2 (en) 2008-08-28 2012-10-02 International Business Machines Corporation Attributes in cryptographic credentials
US9398089B2 (en) 2008-12-11 2016-07-19 Qualcomm Incorporated Dynamic resource sharing among multiple wireless devices
US9264248B2 (en) 2009-07-02 2016-02-16 Qualcomm Incorporated System and method for avoiding and resolving conflicts in a wireless mobile display digital interface multicast environment
US9582238B2 (en) 2009-12-14 2017-02-28 Qualcomm Incorporated Decomposed multi-stream (DMS) techniques for video display systems
US9787725B2 (en) 2011-01-21 2017-10-10 Qualcomm Incorporated User input back channel for wireless displays
US20130013318A1 (en) 2011-01-21 2013-01-10 Qualcomm Incorporated User input back channel for wireless displays
US8964783B2 (en) 2011-01-21 2015-02-24 Qualcomm Incorporated User input back channel for wireless displays
US9413803B2 (en) 2011-01-21 2016-08-09 Qualcomm Incorporated User input back channel for wireless displays
US9065876B2 (en) 2011-01-21 2015-06-23 Qualcomm Incorporated User input back channel from a wireless sink device to a wireless source device for multi-touch gesture wireless displays
US10135900B2 (en) 2011-01-21 2018-11-20 Qualcomm Incorporated User input back channel for wireless displays
US9503771B2 (en) 2011-02-04 2016-11-22 Qualcomm Incorporated Low latency wireless display for graphics
US8674957B2 (en) 2011-02-04 2014-03-18 Qualcomm Incorporated User input device for wireless back channel
US10108386B2 (en) 2011-02-04 2018-10-23 Qualcomm Incorporated Content provisioning for wireless back channel
US9525998B2 (en) 2012-01-06 2016-12-20 Qualcomm Incorporated Wireless display with multiscreen service
GB201309702D0 (en) * 2013-05-30 2013-07-17 Certivox Ltd Security
EP2860905A1 (en) * 2013-10-09 2015-04-15 Thomson Licensing Method for ciphering a message via a keyed homomorphic encryption function, corresponding electronic device and computer program product
US9715590B2 (en) 2014-05-05 2017-07-25 Analog Devices, Inc. System and device for verifying the integrity of a system from its subcomponents
US9672342B2 (en) 2014-05-05 2017-06-06 Analog Devices, Inc. System and device binding metadata with hardware intrinsic properties
US9292692B2 (en) * 2014-05-05 2016-03-22 Sypris Electronics, Llc System and device for verifying the integrity of a system from its subcomponents
US10432409B2 (en) 2014-05-05 2019-10-01 Analog Devices, Inc. Authentication system and device including physical unclonable function and threshold cryptography
US9946858B2 (en) 2014-05-05 2018-04-17 Analog Devices, Inc. Authentication system and device including physical unclonable function and threshold cryptography
JP6973385B2 (ja) * 2016-05-13 2021-11-24 日本電気株式会社 認証システム、認証方法およびプログラム
US10425235B2 (en) 2017-06-02 2019-09-24 Analog Devices, Inc. Device and system with global tamper resistance
US10958452B2 (en) 2017-06-06 2021-03-23 Analog Devices, Inc. System and device including reconfigurable physical unclonable functions and threshold cryptography
CN111090842B (zh) * 2019-12-23 2022-04-26 上海源庐加佳信息科技有限公司 一种基于零知识证明的供应链金融客户贷款信息保护方法
CN117640090B (zh) * 2024-01-25 2024-04-12 蓝象智联(杭州)科技有限公司 一种身份验证方法及系统

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06188874A (ja) * 1992-12-18 1994-07-08 Hitachi Ltd 署名および認証方式
JPH07281595A (ja) * 1994-04-06 1995-10-27 Hitachi Ltd 認証方式

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5497423A (en) * 1993-06-18 1996-03-05 Matsushita Electric Industrial Co., Ltd. Method of implementing elliptic curve cryptosystems in digital signatures or verification and privacy communication
US6076163A (en) * 1997-10-20 2000-06-13 Rsa Security Inc. Secure user identification based on constrained polynomials
DE69840959D1 (de) * 1997-12-17 2009-08-20 Nippon Telegraph & Telephone Verschlüsselungs- und Entschlüsselungsvorrichtungen für Kryptosysteme mit öffentlichem Schlüssel und Aufzeichnungsmedium mit darauf gespeicherten zugehörigen Verarbeitungsprogrammen.
JP3812123B2 (ja) * 1998-02-12 2006-08-23 富士ゼロックス株式会社 認証方法および装置
JPH11252070A (ja) * 1998-03-02 1999-09-17 Kdd Corp 利用者認証方式
JP3926532B2 (ja) * 2000-03-16 2007-06-06 株式会社日立製作所 情報処理装置、情報処理方法、及びカード部材
DE10111756A1 (de) * 2001-03-12 2002-11-14 Infineon Technologies Ag Verfahren zur Authentikation
JP4457651B2 (ja) * 2003-11-27 2010-04-28 日本電気株式会社 証明装置及び証明方法並びにプログラム

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06188874A (ja) * 1992-12-18 1994-07-08 Hitachi Ltd 署名および認証方式
JPH07281595A (ja) * 1994-04-06 1995-10-27 Hitachi Ltd 認証方式

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
"Koritsu Yoku Kensho Kano na Chishiki no Zero Chishiki shomei", THE INSTITUTE OF ELECTRONICS, INFORMATION AND COMMUNICATION ENGINEERS KENKYU HOKOKU, vol. 105, no. 194, 15 July 2005 (2005-07-15), pages 41 - 45, XP003007291 *
POINTCHEVAL D.: "The Composite Discrete Logarithm and Secure Authentications", LECTURE NOTES IN COMPUTER SCIENCE, vol. 1751, pages 113 - 128, XP019000847 *
See also references of EP1903713A4 *

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008178005A (ja) * 2007-01-22 2008-07-31 Nippon Telegr & Teleph Corp <Ntt> データ検証システム、その方法、識別子生成装置、データ検証装置、それらプログラム及び記録媒体
JP2010205258A (ja) * 2008-11-11 2010-09-16 Nec (China) Co Ltd 検索方法、検索装置、索引生成方法、索引生成装置
WO2010067820A1 (ja) * 2008-12-11 2010-06-17 日本電気株式会社 ゼロ知識証明システム、ゼロ知識証明装置、ゼロ知識検証装置、ゼロ知識証明方法およびそのプログラム

Also Published As

Publication number Publication date
DE602006013138D1 (de) 2010-05-06
JPWO2007007836A1 (ja) 2009-01-29
EP1903713B1 (en) 2010-03-24
US8001384B2 (en) 2011-08-16
CN101080897A (zh) 2007-11-28
EP1903713A4 (en) 2009-06-17
JP4555859B2 (ja) 2010-10-06
EP1903713A1 (en) 2008-03-26
CN101080897B (zh) 2012-09-19
US20080133912A1 (en) 2008-06-05

Similar Documents

Publication Publication Date Title
WO2007007836A1 (ja) 認証システム、認証方法、証明装置、検証装置、それらのプログラム及び記録媒体
Bernstein et al. Post-quantum cryptography
US11895231B2 (en) Adaptive attack resistant distributed symmetric encryption
RU2376651C2 (ru) Использование изогений для разработки криптосистем
Veugen Encrypted integer division and secure comparison
US20170374033A1 (en) Authentication via revocable signatures
CA2792267C (en) Verifying implicit certificates and digital signatures
US20060251247A1 (en) Encryption apparatus, decryption apparatus, key generation apparatus, program and method therefor
TW201320700A (zh) 署名驗證裝置、署名驗證方法、程式及記錄媒體
TW201320701A (zh) 資訊處理裝置、資訊處理方法及程式
US20100166176A1 (en) Elliptical polynomial-based message authentication code
US20090313171A1 (en) Electronic transaction verification
CN112865973A (zh) 基于格的加密密钥和数字签名的生成方法
Lizama-Pérez et al. Public hash signature for mobile network devices
Tsai An improved cross-layer privacy-preserving authentication in WAVE-enabled VANETs
Fanfara et al. Usage of asymmetric encryption algorithms to enhance the security of sensitive data in secure communication
WO2013153628A1 (ja) 演算処理システムおよび演算結果認証方法
Le et al. Flexible signatures: Making authentication suitable for real-time environments
WO2021222272A1 (en) Adaptive attack resistant distributed symmetric encryption
Kim et al. An efficient public key functional encryption for inner product evaluations
US20080080707A1 (en) RSA signature authentication with reduced computational burden
Nagaty A public key cryptosystem and signature scheme based on numerical series
CN114586313B (zh) 用于签署一信息的系统及方法
KR101763443B1 (ko) 집적된 역수 연산들을 이용한 곡선 상의 페어링 결정
JP4621075B2 (ja) 検証者指定署名生成装置、検証者指定署名システム、プログラム及びその記録媒体

Legal Events

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

Ref document number: 2007507586

Country of ref document: JP

121 Ep: the epo has been informed by wipo that ep was designated in this application
WWE Wipo information: entry into national phase

Ref document number: 11792305

Country of ref document: US

WWE Wipo information: entry into national phase

Ref document number: 200680001387.6

Country of ref document: CN

WWE Wipo information: entry into national phase

Ref document number: 2006768184

Country of ref document: EP

NENP Non-entry into the national phase

Ref country code: DE