WO2024201735A1 - 検証システム、端末群、検証サーバ、検証方法、及び記録媒体 - Google Patents

検証システム、端末群、検証サーバ、検証方法、及び記録媒体 Download PDF

Info

Publication number
WO2024201735A1
WO2024201735A1 PCT/JP2023/012603 JP2023012603W WO2024201735A1 WO 2024201735 A1 WO2024201735 A1 WO 2024201735A1 JP 2023012603 W JP2023012603 W JP 2023012603W WO 2024201735 A1 WO2024201735 A1 WO 2024201735A1
Authority
WO
WIPO (PCT)
Prior art keywords
verification
terminal
terminals
signature data
data
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Ceased
Application number
PCT/JP2023/012603
Other languages
English (en)
French (fr)
Inventor
篤志 永田
亨 富田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Cyber Defense Institute inc
NEC Corp
Original Assignee
Cyber Defense Institute inc
NEC Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Cyber Defense Institute inc, NEC Corp filed Critical Cyber Defense Institute inc
Priority to PCT/JP2023/012603 priority Critical patent/WO2024201735A1/ja
Priority to JP2025509355A priority patent/JPWO2024201735A5/ja
Publication of WO2024201735A1 publication Critical patent/WO2024201735A1/ja
Anticipated expiration legal-status Critical
Ceased legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/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
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/44Program or device authentication

Definitions

  • This disclosure relates to a verification system, a terminal group, a verification server, a verification method, and a recording medium.
  • the client terminal's certificate is sent to the center server to verify the authenticity and existence of each client terminal.
  • Patent Document 1 describes a method of generating an aggregate signature and aggregate public key based on the signatures and public keys of multiple client terminals, and verifying the signed message based on the aggregate signature and aggregate public key when verifying the signature, thereby reducing the network transmission load when verifying multiple client terminals.
  • Patent Document 1 transmits a message to the center server with an electronic signature affixed to the characteristic values of the client terminal generated by the client terminal. This means that the confidentiality of the information on the client terminal cannot be ensured. Furthermore, since an electronic signature is a mechanism for verifying the identity of the person who made the electronic signature, if the communication path between the client terminal and the center server is intercepted, there is a possibility that the client terminal may be identified.
  • the terminal group is a terminal group including a plurality of terminals, each of which is provided with a security function means for generating signature data for predetermined message data using a verification identification key, a generation means for aggregating the signature data of each of the plurality of terminals to generate aggregated signature data when selected as a representative terminal that transmits data to a verification server, and a transmission means for transmitting the aggregated signature data to the verification server when selected as a representative terminal.
  • the verification server includes a verification means for verifying aggregate signature data of signature data that each of the multiple terminals has signed with a verification identification key for specific message data, based on a temporary composite public key received from a representative terminal selected from the multiple terminals.
  • the recording medium stores a program that causes a computer to verify aggregate signature data of signature data that each of multiple terminals has signed with a verification identification key for specified message data, based on a temporary composite public key previously received from a representative terminal.
  • One example of the effect of this disclosure is that it can provide a verification system that can verify the authenticity of a group of client terminals while ensuring the confidentiality of information related to the client terminals.
  • FIG. 1 is a diagram showing a configuration of a verification system according to the first embodiment.
  • FIG. 2 is a diagram showing a hardware configuration in which the verification system according to the first embodiment is realized by a computer device and its peripheral devices.
  • FIG. 3 is a flowchart showing the operation of the verification system in the first embodiment.
  • Fig. 1 is a diagram showing the configuration of a verification system 10 in the first embodiment.
  • the verification system 10 includes a selection device 100, a plurality of terminals 200 (200a, 200b) which are client terminals, and a verification server 300, which are connected to each other via a network.
  • the communication used in the network may be wireless, wired, or any other type such as laser communication, visible light communication, or sound wave communication, or may be low-speed communication such as satellite communication.
  • the verification system 10 verifies the authenticity or existence of a terminal group 200 consisting of multiple terminals by remote attestation using a verification server 300 as a verification device, eliminating the need for a certificate from a privacy certification authority.
  • authenticity refers to the fact that the terminal group 200 is real, or the property of being able to ensure or prove that it is real.
  • Existence refers to the property of showing that the terminal group 200 is not fictitious.
  • each of the selection device 100, the terminal 200, and the validation server 300 in the first embodiment of the present disclosure is realized by a computer device 500 including a processor.
  • the selection device 100, the terminal 200, and the validation server 300 each include a CPU (Central Processing Unit) 501, memories such as a ROM (Read Only Memory) 502 and a RAM (Random Access Memory) 503, a storage device 505 such as a hard disk for storing a program 504, a communication I/F (Interface) 508 for network connection, and an input/output interface 511 for inputting and outputting data.
  • the selection device 100, the terminal 200, and the validation server 300 are connected to each component via a bus 512.
  • the CPU 501 operates the OS to control the selection device 100, the terminal 200, and the validation server 300 according to the first embodiment of the present disclosure.
  • the CPU 501 also reads programs and data from a recording medium 506 mounted in, for example, a drive device 507 into memory.
  • the CPU 501 functions as each component of the selection device 100, the terminal 200, and the validation server 300 according to the first embodiment, or as a part of these components, and executes the processing or commands in the flowchart shown in FIG. 3, which will be described later, based on the program.
  • the recording medium 506 is, for example, an optical disk, a flexible disk, a magneto-optical disk, an external hard disk, or a semiconductor memory.
  • a recording medium that is part of the storage device is a non-volatile storage device, and the program is recorded therein.
  • the program may also be downloaded from an external computer (not shown) that is connected to a communication network.
  • the input device 509 is realized, for example, by a mouse, keyboard, or built-in key buttons, and is used for input operations.
  • the input device 509 is not limited to a mouse, keyboard, or built-in key buttons, and may be, for example, a touch panel.
  • the output device 510 is realized, for example, by a display, and is used to check the output.
  • the first embodiment shown in FIG. 1 is realized by the computer hardware shown in FIG. 2.
  • the means for realizing each part of the selection device 100, terminal 200, and verification server 300 in FIG. 1 are not limited to the configurations described above.
  • each of the selection device 100, terminal 200, and verification server 300 may be realized by a single physically combined device, or may be realized by two or more physically separate devices connected by wire or wirelessly.
  • the input device 509 and output device 510 may be connected to the computer device 500 via a network.
  • the selection device 100 randomly selects a representative terminal from among the multiple terminals 200 to transmit data to the validation server 300.
  • the selection device 100 holds information on the multiple terminals 200 to be validated.
  • the selection device 100 selects a representative terminal by a consensus algorithm such as RAFT or Paxos. However, the selection method is not limited to these as long as any terminal 200 is selected randomly from among the multiple terminals 200.
  • the selection device 100 selects a representative terminal, it notifies the selected representative terminal.
  • the selection device 100 is configured independent of the multiple terminals 200 and the validation server 300, but the function of the selection device 100 may be held by the validation server 300.
  • Each of the multiple terminals 200 includes a security function unit 201 (201a, 201b), a generation unit 202 (202a, 202b), and a transmission unit 203 (203a, 203b).
  • a security function unit 201 201a, 201b
  • a generation unit 202 202a, 202b
  • a transmission unit 203 203a, 203b
  • the number of multiple terminals 200 corresponds to the number of terminals to be verified.
  • the multiple terminals 200 may be described as a terminal group 200.
  • the security function unit 201 is a tamper-resistant storage area.
  • the security function unit 201 is configured, for example, by a TPM (Trusted Platform Module), but is not limited to this as long as the configuration can achieve tamper resistance.
  • the TPM is highly tamper-resistant because it is configured by a chip that functions independently of the OS and other hardware.
  • the security function unit 201 stores an authenticity certificate such as an endorsement certificate that is embedded when the terminal is supplied or when the system is constructed.
  • the security function unit 201 stores, for example, a hash value of each program executed by the terminal 200 in, for example, a PCR (Platform Configuration Register).
  • the security function unit 201 also generates a verification identification key such as an AIK (Attestation Identity Key) using a random number generation circuit. Each verification identification key is paired with information on a temporary public key used for verification. Each security function unit 201 stores each of the generated verification identification keys in the storage area of the hardware cryptographic module.
  • AIK Automated Generation Key
  • each security function unit 201 When each security function unit 201 receives a request from the representative terminal to send signature data, it signs the message data with a verification identification key and generates signature data.
  • the message data is information indicating the state of each terminal (200a, 200b), for example, a hash value stored in the PCR at the time of program execution.
  • the generation unit 102 transmits the signature data to the representative terminal in response to the request from the representative terminal.
  • the generation unit 202 When the generation unit 202 is selected as the representative terminal, it aggregates the signature data to generate aggregate signature data.
  • the generation unit 102 generates the aggregate signature data, for example, using an elliptic curve signature algorithm.
  • the generation unit 202 receives a signal indicating that it has been selected as the representative terminal, it requests each terminal (200a, 200b) to transmit signature data in which the message data has been signed with a verification identification key.
  • the generation unit 202 of the representative terminal generates aggregate signature data based on each received signature data and its own signature data, for example, using a Schenois signature. If the generation unit 202 does not receive signature data even after a predetermined time has elapsed since requesting transmission of the signature data, or if the received signature data has defects, it generates aggregate signature data without including the signature data.
  • the transmission unit 203 transmits the aggregate signature data to the verification server 300 and requests verification of the authenticity of the terminal group 200.
  • the validation server 300 includes a validation information storage unit 301 , a receiving unit 302 , a validation unit 303 , and an output unit 304 .
  • the verification information storage unit 301 stores the temporary composite public key of the terminal group 200.
  • the temporary composite public key is generated by combining the temporary public keys of the multiple terminals 200, and includes, for example, the total value of the AIKs of each terminal (200a, 200b).
  • the temporary public key is a public key for which no certificate has been issued by a privacy certification authority.
  • the verification information storage unit 301 receives and stores the temporary composite public key from the representative terminal via the receiving unit 302 in advance, prior to a verification request from the representative terminal.
  • the receiving unit 302 receives aggregate signature data from the representative terminal and outputs it to the verifying unit 303.
  • the verification unit 303 verifies the authenticity of the aggregate signature data based on the temporary composite public key. For example, if the aggregate signature data matches the information of the temporary composite public key, the verification unit 303 determines that all terminals included in the terminal group are authentic. On the other hand, if the aggregate signature data does not match the information of the temporary composite public key, the verification unit 303 determines that the terminal group includes an inauthentic terminal. However, in this case, the verification unit 303 is not able to identify the inauthentic terminal. For example, an elliptic curve signature algorithm can be used as a verification method. The verification unit 303 outputs the authenticity determination result to the output unit 304.
  • the output unit 304 outputs the result of the authenticity of the terminal group 200.
  • the output unit 304 outputs the result of the authenticity to an output device 510 such as a display device. Furthermore, if the output unit 304 receives a determination result that the terminal group 200 is not authentic, it may notify the user with a lamp or buzzer.
  • the security function unit 201 in each terminal generates a verification identification key (pk1, pk2...pki) using the AIK.
  • Each terminal transmits the signature data (Ri,si) to the representative terminal.
  • G is the reference point on the elliptic curve and is represented by G(x,y).
  • m is the message data.
  • the transmission unit 203 of the representative terminal transmits the aggregate signature data (R, s) to the verification server 300.
  • FIG. 3 is a flowchart showing an overview of the operation of the verification system 10 in the first embodiment. Note that the processing according to this flowchart may be executed based on program control by the processor described above.
  • the selection device 100 randomly selects a representative terminal from among the multiple terminals (200a, 200b) that will transmit data to the verification server 300 (step S101) and notifies the selected representative terminal (step S102).
  • the representative terminal transmits a request for signature data to the multiple terminals (200a, 200b) (step S103).
  • the security function unit 201 in each terminal (200a, 200b) generates signature data using a verification identification key for the specified message data (step S104).
  • the transmission unit 103 transmits the signature data to the representative terminal (step S105).
  • the generation unit 202 of the representative terminal aggregates the signature data of each of the multiple terminals (200a, 200b) to generate aggregated signature data (step S106).
  • the transmission unit 203 of the representative terminal transmits the aggregated signature data to the verification server 300 (step S107).
  • the verification unit 303 of the verification server 300 verifies the aggregate signature data based on the temporary composite public key previously received from the representative terminal (step S108).
  • the output unit 304 outputs the verification result (step S109). With this, the verification system 10 ends the verification operation.
  • the verification unit 303 of the verification server 300 verifies the aggregate signature data based on the temporary composite public key received in advance from the representative terminal. In this case, even if the information of the temporary composite public key is stolen when the temporary composite public key is sent from the representative terminal to the verification server 300, an eavesdropper cannot grasp the information of each terminal (200a, 200b). Therefore, according to the verification system 10, it is possible to verify the authenticity of a group of client terminals while maintaining the confidentiality of the information of the client terminals.
  • the verification system 10 may also verify the existence of each terminal (200a, 200b).
  • the AIK and the endorsement key of each terminal (200a, 200b) are stored in the storage device 505 of the verification server 300 in a linked manner. If the AIK is linked to an endorsement certificate, the verification server 300 registers the AIK in the storage device 505.
  • the endorsement certificate is generated in, for example, an electronic certificate format based on X.509, and is signed by the TPM manufacturer.
  • the endorsement certificate includes a serial number, so that the terminal can be identified.
  • the verification unit 303 verifies that each terminal is authentic, it further verifies whether the AIK of each terminal is linked to the endorsement certificate, and performs verification of the existence of each terminal. That is, the verification unit 303 determines that a terminal whose AIK is linked to an endorsement certificate exists, and determines that a terminal whose AIK is not linked to an endorsement certificate does not exist.
  • the representative terminal When the representative terminal requests the verification server 300 to verify the terminal group 200, it receives the AIKs held by each terminal (200a, 200b) as the verification identification keys, calculates the sum of the AIKs, and transmits the sum of the AIKs to the verification server 300.
  • the verification unit 303 compares the sum of the AIKs received via the representative terminal with the expected sum of the AIKs to determine which terminal's AIK combination it is.
  • the expected sum of the AIKs is a value that includes the sum of the AIKs of all terminals included in the terminal group 200. If the sum of the AIKs matches the expected sum of the AIKs, the verification unit 303 determines that all terminals included in the terminal group 200 are authentic.
  • the verification unit 303 further verifies whether each of the AIKs of each terminal is linked to an endorsement certificate, and performs verification of the existence of each terminal.
  • the verification unit 303 compares the total value of the AIK with the expected value of the total value of the AIK, and determines that the total value of the AIK is the total value of the AIKs of terminals A to D and does not include the AIK of terminal E. In this case, the verification unit 303 determines that terminals A to D are authentic, and that terminal E is not authentic. Furthermore, the verification unit 303 further verifies whether each of the AIKs of terminals A to D that have been determined to be authentic is linked to an endorsement certificate, and performs verification of the existence of each terminal. In other words, the verification unit 303 determines that the AIKs of terminals A to D are authentic if they are each linked to an endorsement certificate.
  • the output unit 304 outputs the verification results of the authenticity and existence of the terminal group 200. In the above example, the output unit 304 outputs that terminals A to D are authentic and exist, but that terminal E is not authentic or existent.
  • Verification system 100 Selection device 200 Terminal 201 Security function unit 202 Generation unit 203 Transmission unit 300 Verification server 301 Verification information storage unit 302 Reception unit 303 Verification unit 304 Output unit

Landscapes

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

Abstract

本開示の検証システムは、複数の端末を含む端末群と、当該端末を検証するための検証サーバとを含む、検証システムであって、複数の端末の中から、検証サーバにデータを送信する代表端末をランダムに選択する、選択装置を備え、複数の端末のそれぞれは、所定のメッセージデータに対して、検証識別鍵により署名データを生成する、セキュリティ機能手段と、代表端末に選択された場合に、前記複数の端末それぞれの署名データを集約して集約署名データを生成する、生成手段と、代表端末に選択された場合に、集約署名データを検証サーバに送信する、送信手段と、を備え、検証サーバは、予め前記代表端末から送信された一時的合成公開鍵に基づいて、集約署名データを検証する、検証手段、を備える。

Description

検証システム、端末群、検証サーバ、検証方法、及び記録媒体
 本開示は、検証システム、端末群、検証サーバ、検証方法、及び記録媒体に関する。
 電子署名を用いた端末の検証方式では、個々のクライアント端末の真正性や実存性の検証を行うために、クライアント端末の証明書をセンター側サーバへ送信する。
 しかし、検証対象のクライアント端末の数が多くなると、検証を行うためのネットワークの伝送負荷が大きくなる。そこで、クライアント端末を検証する際のネットワークの伝送負荷を軽減するための技術がある。
 例えば、特許文献1には、複数のクライアント端末の署名及び公開鍵に基づき、集約署名及び集約公開鍵を生成し、署名を検証するときに、集約署名及び集約公開鍵に基づいて署名後のメッセージを検証することで、複数のクライアント端末の検証する際のネットワーク伝送負荷を軽減することが記載されている。
特開2020-520607号公報
 しかしながら、特許文献1に記載された発明は、クライアント端末が生成した端末の特徴値に電子署名を付したメッセージをセンター側サーバに送信するため、クライアント端末の情報の秘匿性が確保できない。また、電子署名は電子署名の主体者が何であるかを確認する仕組みであるため、クライアント端末とセンター側サーバ間の通信経路が盗聴されると、クライアント端末が特定される可能性がある。
 本開示の目的の一例は、クライアント端末に関する情報の秘匿性を確保しながら、クライアント端末群の真正性を検証可能な検証システムを提供することにある。
 本開示の一態様における検証システムは、複数の端末を含む端末群と、当該端末を検証するための検証サーバとを含む、検証システムであって、複数の端末の中から、検証サーバにデータを送信する代表端末をランダムに選択する、選択装置を備え、複数の端末のそれぞれは、所定のメッセージデータに対して、検証識別鍵により署名データを生成する、セキュリティ機能手段と、代表端末に選択された場合に、複数の端末それぞれの署名データを集約して集約署名データを生成する、生成手段と、代表端末に選択された場合に、集約署名データを検証サーバに送信する、送信手段と、を備え、検証サーバは、予め代表端末から受信した一時的合成公開鍵に基づいて、集約署名データを検証する、検証手段、を備える。
 本開示の一態様における端末群は、複数の端末を含む端末群であって、端末のそれぞれは、所定のメッセージデータに対して、検証識別鍵により署名データを生成する、セキュリティ機能手段と、検証サーバにデータを送信する代表端末に選択された場合に、複数の端末それぞれの署名データを集約して集約署名データを生成する、生成手段と、代表端末に選択された場合に、集約署名データを前記検証サーバに送信する、送信手段と、を備える。
 本開示の一態様における検証サーバは、複数の端末から選ばれた代表端末から受信した一時的合成公開鍵に基づいて、複数の端末それぞれが所定のメッセージデータに対して検証識別鍵により署名した署名データの集約署名データを検証する、検証手段、を備える。
 本開示の一態様における検証方法は、複数の端末を検証する検証サーバが、予め代表端末から受信した一時的合成公開鍵に基づいて、複数の端末のそれぞれが所定のメッセージデータに対して検証識別鍵により署名した署名データの集約署名データを検証する。
 本開示の一態様における記録媒体は、予め代表端末から受信した一時的合成公開鍵に基づいて、複数の端末のそれぞれが所定のメッセージデータに対して検証識別鍵により署名した署名データの集約署名データを検証する、ことをコンピュータに実行させるプログラムを格納する。
 本開示による効果の一例は、クライアント端末に関する情報の秘匿性を確保しながら、クライアント端末群の真正性を検証可能な検証システムを提供できる。
図1は、第一の実施形態における検証システムの構成を示す図である。 図2は、第一の実施形態における検証システムをコンピュータ装置とその周辺装置で実現したハードウェア構成を示す図である。 図3は、第一の実施形態における検証システムの動作を示すフローチャートである。
 次に、実施形態について図面を参照して詳細に説明する。
 [第一の実施形態]
 図1は、第一の実施形態における検証システム10の構成を示す図である。図1を参照すると、検証システム10は、選択装置100と、クライアント端末である複数の端末200(200a、200b)と、検証サーバ300を有し、それぞれがネットワークで接続されている。本実施形態において、ネットワークに用いられる通信は、無線、有線、その他レーザー通信、可視光線通信、音波通信等その種類を問わず、衛星通信等の低速な通信であってもよい。
 検証システム10は、複数の端末からなる端末群200の真正性又は実存性について、検証サーバ300を検証装置とし、プライバシー認証局による証明書を不要としたリモートアテステーションにより検証する。本実施形態において、真正性とは、端末群200が本物であること、また、本物であることを確実にしたり、証明できる特性を示す。実存性とは、端末群200が架空ではないことを示す特性を示す。
 図2は、本開示の第一の実施形態における選択装置100、端末200及び検証サーバ300のそれぞれを、プロセッサを含むコンピュータ装置500で実現したハードウェア構成の一例を示す図である。図2に示されるように、選択装置100、端末200、及び検証サーバ300は、それぞれCPU(Central Processing Unit)501、ROM(Read Only Memory)502、RAM(Random Access Memory)503等のメモリ、プログラム504を格納するハードディスク等の記憶装置505、ネットワーク接続用の通信I/F(Interface)508、データの入出力を行う入出力インターフェース511を含む。第一の実施形態において、選択装置100、端末200、及び検証サーバ300は、バス512を介して各構成部と接続されている。
 CPU501は、OSを動作させて本開示の第一の実施の形態に係る選択装置100、端末200、及び検証サーバ300のそれぞれを制御する。また、CPU501は、例えばドライブ装置507などに装着された記録媒体506からメモリにプログラムやデータを読み出す。CPU501は、第一の実施形態における選択装置100、端末200及び検証サーバ300の各構成部及びこれらの一部として機能し、プログラムに基づいて後述する図3に示すフローチャートにおける処理または命令を実行する。
 記録媒体506は、例えば光ディスク、フレキシブルディスク、磁気光ディスク、外付けハードディスク、または半導体メモリ等である。記憶装置の一部の記録媒体は、不揮発性記憶装置であり、そこにプログラムを記録する。また、プログラムは、通信網に接続されている図示しない外部コンピュータからダウンロードされてもよい。
 入力装置509は、例えば、マウスやキーボード、内蔵のキーボタンなどで実現され、入力操作に用いられる。入力装置509は、マウスやキーボード、内蔵のキーボタンに限らず、例えばタッチパネルでもよい。出力装置510は、例えばディスプレイで実現され、出力を確認するために用いられる。
 以上のように、図1に示す第一の実施形態は、図2に示されるコンピュータ・ハードウェアによって実現される。ただし、図1の選択装置100、端末200、及び検証サーバ300が備える各部の実現手段は、以上説明した構成に限定されない。また、選択装置100、端末200及び検証サーバ300のそれぞれは、物理的に結合した一つの装置により実現されてもよいし、物理的に分離した二つ以上の装置を有線または無線で接続し、これら複数の装置により実現されてもよい。たとえば、入力装置509及び出力装置510は、コンピュータ装置500とネットワークを経由して接続されていてもよい。
<選択装置100>
 選択装置100は、複数の端末200の中から、検証サーバ300にデータを送信する代表端末をランダムに選択する。選択装置100は、検証対象である複数の端末200の情報を保持している。選択装置100は、例えば、RAFT、Paxos等の合意形成アルゴリズムにより代表端末を選択する。ただし、複数の端末200の中からランダムに任意の端末200を選択する方法であればこれらの選択方法に限られない。選択装置100は、代表端末を選択すると、選択された代表端末に通知する。図1において、選択装置100は、複数の端末200や検証サーバ300から独立した構成であるが、選択装置100の機能は、検証サーバ300側が保持してもよい。
<端末200>
 複数の端末200(200a、200b)のそれぞれは、セキュリティ機能部201(201a、201b)と、生成部202(202a、202b)と、送信部203(203a、203b)と、を備える。なお、図1において、複数の端末200が二つ描かれているが、複数の端末200の数は、検証対象の端末の数と対応するだけ備えられている。なお、本実施形態において、複数の端末200を端末群200と記載することもある。
 セキュリティ機能部201は、耐タンパー性を持った記憶領域である。セキュリティ機能部201は、例えば、TPM(Trusted Platform Module)で構成されるが、耐タンパー性を実現できる構成であればこれに限らない。TPMは、OSや他のハードウェアから独立して機能するチップにより構成されるため、耐タンパー性が高い。セキュリティ機能部201は、端末供給時又はシステム構築時に埋め込まれたエンドースメント証明書等の真贋証明書を格納している。また、セキュリティ機能部201は、例えば、端末200が実行した各プログラムのハッシュ値を例えば、PCR(Platform Configuration Register)に記憶する。
 また、セキュリティ機能部201は、乱数生成回路を用いて、AIK(Attestation Identity Key)等の検証識別鍵を生成する。検証識別鍵は、検証に用いられる一時的公開鍵の情報とそれぞれ対になっている。各セキュリティ機能部201は、生成した検証識別鍵のそれぞれをハードウェア暗号モジュールの保存領域に格納する。
 各セキュリティ機能部201は、代表端末から署名データの送信の要求を受けると、メッセージデータを検証識別鍵により署名し、署名データを生成する。メッセージデータとしては、各端末(200a、200b)の状態を示す情報であって、例えば、PCRに保存されたプログラム実行時のハッシュ値である。生成部102は、代表端末の要求に応じて、署名データを代表端末に送信する。
 生成部202は、代表端末として選択された場合に、署名データを集約して集約署名データを生成する。生成部102は、例えば、楕円曲線署名アルゴリズムを利用して、集約署名データを生成する。生成部202は、代表端末として選ばれたことを示す信号を受信すると、各端末(200a、200b)に対して、メッセージデータを検証識別鍵で署名された署名データの送信を要求する。
 また、代表端末の生成部202は、受信した各署名データと自身の署名データに基づいて、例えば、シェノア署名を利用して集約署名データを生成する。生成部202は、署名データの送信を要求してから、所定時間以上経過しても署名データを受信しない場合又は受信した署名データに不備があった場合はそれらの署名データを含めないで集約署名データを生成する。
 送信部203は、集約署名データを検証サーバ300に送信し、端末群200の真正性の検証を要求する。
<検証サーバ300>
 図1に示すように、検証サーバ300は、検証情報記憶部301と受信部302と検証部303と出力部304を備える。
 検証情報記憶部301は、端末群200の一時的合成公開鍵を記憶する。一時的合成公開鍵は、複数の端末200の一時的公開鍵のそれぞれが合成され生成されたものであって、例えば、各端末(200a、200b)のAIKの合計値を含む。本実施形態において、一時的公開鍵とは、プライバシー認証局により証明書が発行されていない公開鍵である。本実施形態のように、集約署名データを検証するために一時的合成公開鍵を用いることで、検証に用いられる一時的公開鍵の数を低減することができる。検証情報記憶部301は、代表端末からの検証要求前に、予め受信部302を介して代表端末から一時的合成公開鍵を受信して記憶する。
 受信部302は、代表端末から集約署名データを受信して、検証部303に出力する。
 検証部303は、一時的合成公開鍵に基づいて、集約署名データの真正性を検証する。検証部303は、例えば、集約署名データが一時的合成公開鍵の情報と一致する場合は、端末群に含まれる全ての端末の真正性がある判定する。一方、検証部303は、集約署名データが一時的合成公開鍵の情報と一致しない場合は、端末群に真正性がない端末が含まれていると判定する。ただし、この場合、検証部303は、真正性がない端末を特定できないとする。検証方法としては、例えば、楕円曲線署名アルゴリズムを用いることができる。検証部303は、真正性の判定結果を出力部304に出力する。
 出力部304は、端末群200の真正性の結果を出力する。出力部304は、真正性の結果を表示装置等の出力装置510に出力する。また、出力部304は、端末群200の真正性がないとの判定結果を受け取った場合は、ランプ又はブザーにより、報知しても構わない。
 以下、楕円曲線署名アルゴリズムを用いて端末群200の検証を行う例を説明する。以下の説明において、検証対象の端末としてi個の端末があるとする。
 まず、各端末におけるセキュリティ機能部201は、AIKを用いて検証識別鍵(pk1、pk2…pki)を生成する。また、セキュリティ機能部201は、それぞれ乱数K(k1、k2、k3、k4…ki)を用いて、i個の楕円曲線上のランダムな点R(Ri=ki×G)及び、s(si=ki+hash(P、R、m)×pki)からなる署名データを生成する。各端末は、署名データ(Ri、si)を代表端末に送信する。ここで、Gとは、楕円曲線上の基準点であり、G(x,y)で示される。mは、メッセージデータである。
 代表端末の生成部202は、Riとsiを合計して集約署名データ(R、s)=(R1+R2+…+Ri、s1+s2+…+si)を生成する。代表端末の送信部203は、集約署名データ(R、s)を検証サーバ300に送信する。検証サーバ300において、検証情報記憶部301には、一時的合成公開鍵P(P=P1+P2+…+Pi=G(pk1+pk2+…+pki))が格納されており、検証部303は、s×G=R+hash(P、R、m)×Pが成立するか否かにより、集約署名データを検証する。
 以上のように構成された検証システム10の動作について、図3のフローチャートを参照して説明する。
 図3は、第一の実施形態における検証システム10の動作の概要を示すフローチャートである。尚、このフローチャートによる処理は、前述したプロセッサによるプログラム制御に基づいて、実行されてもよい。
 図3に示すように、まず、選択装置100は、複数の端末(200a、200b)の中から、検証サーバ300にデータを送信する代表端末をランダムに選択し(ステップS101)、選択された代表端末に通知する(ステップS102)。代表端末は、複数の端末(200a、200b)に対して、署名データの要求を送信する(ステップS103)。次いで、各端末(200a、200b)におけるセキュリティ機能部201は、所定のメッセージデータに対する検証識別鍵による署名データを生成する(ステップS104)。送信部103は、署名データを代表端末に送信する(ステップS105)。次いで、代表端末の生成部202は、複数の端末(200a、200b)それぞれの署名データを集約して集約署名データを生成する(ステップS106)。次に、代表端末の送信部203は、集約署名データを検証サーバ300に送信する(ステップS107)。次いで、検証サーバ300の検証部303は、代表端末から予め受信した一時的合成公開鍵に基づいて集約署名データを検証する(ステップS108)。最後に、出力部304は、検証結果を出力する(ステップS109)。以上で、検証システム10は、検証の動作を終了する。
 本実施形態における検証システム10は、検証サーバ300の検証部303は、代表端末から予め受信した一時的合成公開鍵に基づいて集約署名データを検証する。この場合、代表端末から検証サーバ300に一時的合成公開鍵を送付する際に、一時的合成公開鍵の情報が盗まれても、盗聴者は各端末(200a、200b)それぞれの情報を把握できない。したがって、検証システム10によれば、クライアント端末の情報の秘匿性を保ちながら、クライアント端末群の真正性の検証を行うことができる。
[変形例]
 検証システム10は、端末群200の真正性を検証する際に、併せて各端末(200a、200b)の実存性を検証してもよい。この場合、検証サーバ300の記憶装置505には、各端末(200a、200b)のAIKと真贋鍵(Endorsement Key)が紐づけられて格納されている。なお、検証サーバ300は、AIKにエンドースメント証明書が紐づいていれば、記憶装置505にAIKの登録を行う。エンドースメント証明書は、例えば、X.509による電子証明書フォーマットで生成されたものであり、TPM製造メーカの署名が付与されている。また、エンドースメント証明書には、シリアル番号が含まれているので、端末を特定することができる。検証部303は、各端末の真正性があることを検証した場合、更に、各端末のAIKがそれぞれエンドースメント証明書と紐付いているか否かを検証して、各端末の実存性の検証を実行する。すなわち、検証部303は、AIKがエンドースメント証明書と紐付いている端末は、実存性があると判定し、AIKがエンドースメント証明書と紐付いていない端末は、実存性がないと判定する。
 代表端末は、検証サーバ300に端末群200の検証を依頼する際に、各端末(200a、200b)が保持している検証識別鍵としてAIKを受信してAIKの合計値を算出し、AIKの合計値を検証サーバ300に送信する。
 検証部303は、代表端末を介して受信したAIKの合計値とAIKの合計値の期待値とを対比することで、どの端末のAIKの組み合わせを判定する。AIKの合計値の期待値とは、端末群200に含まれる全ての端末のAIKの合計値を含んだ値である。検証部303は、AIKの合計値とAIKの合計値の期待値とが一致する場合、端末群200に含まれる全ての端末に真正性があると判定する。検証部303は、更に、各端末のAIKのそれぞれがエンドースメント証明書と紐づいているか否かを検証して、各端末の実存性の検証を実行する。
 ここで、端末群200として、端末A~Eの5台の端末があり、端末Eだけ、代表端末からのAIKの送信要求に応じなかった場合を想定する。この場合、検証部303は、AIKの合計値とAIKの合計値の期待値を対比することで、AIKの合計値が、端末A~DのAIKの合計値であり、端末EのAIKは含まれていないことを判定する。この場合、検証部303は、端末A~Dの真正性があると判定し、端末Eの真正性がないと判定する。また、検証部303は、更に、真正性があると判定された端末A~DのAIKのそれぞれがエンドースメント証明書と紐づいているか否かを検証して、各端末の実存性の検証を実行する。すなわち、検証部303は、端末A~DのAIKがそれぞれエンドースメント証明書と紐づいている場合、実存性があると判定する。
 出力部304は、端末群200の真正性及び実存性の検証結果を出力する。上述の例において、出力部304は、端末A~Dの真正性及び実存性があり、端末Eの真正性及び実存性がないことを出力する。
 以上、各実施の形態を参照して本発明を説明したが、本発明は上記実施の形態に限定されるものではない。本発明の構成や詳細には、本発明のスコープ内で当業者が理解しえる様々な変更をすることができる。
 例えば、複数の動作をフローチャートの形式で順番に記載してあるが、その記載の順番は複数の動作を実行する順番を限定するものではない。このため、各実施形態を実施するときには、その複数の動作の順番は内容的に支障しない範囲で変更することができる。
 10   検証システム
 100  選択装置
 200  端末
 201  セキュリティ機能部
 202  生成部
 203  送信部
 300  検証サーバ
 301  検証情報記憶部
 302  受信部
 303  検証部
 304  出力部

Claims (10)

  1.  複数の端末を含む端末群と、当該端末を検証するための検証サーバとを含む、検証システムであって、
     前記複数の端末の中から、前記検証サーバにデータを送信する代表端末をランダムに選択する、選択装置を備え、
     前記複数の端末のそれぞれは、所定のメッセージデータに対して、検証識別鍵により署名データを生成する、セキュリティ機能手段と、
     前記代表端末に選択された場合に、前記複数の端末それぞれの署名データを集約して集約署名データを生成する、生成手段と、
     前記代表端末に選択された場合に、前記集約署名データを前記検証サーバに送信する、送信手段と、を備え、
     前記検証サーバは、予め前記代表端末から受信した一時的合成公開鍵に基づいて、前記集約署名データを検証する、検証手段、を備える、検証システム。
  2.  前記メッセージデータは、各端末が起動するプログラムのハッシュ値であり、前記検証手段は、前記ハッシュ値に基づき、プログラム実行時における前記端末群の真正性を検証する、請求項1に記載の検証システム。
  3.  前記一時的合成公開鍵は、複数の端末の検証識別鍵の合計値を含む、請求項1又は請求項2に記載の検証システム。
  4.  前記選択装置は、合意アルゴリズムを用いて前記代表端末を選択する、請求項1~3のいずれか一項に記載の検証システム。
  5.  前記生成手段は、前記集約署名データとして楕円曲線上のランダムな点R及びsからなる署名データを生成し、
     前記検証手段は、一時的合成公開鍵Pに基づき、s×G=R+hash(P、R、m)×Pが成立するか否かにより、前記集約署名データを検証する、請求項1~4のいずれか一項に記載の検証システム。
  6.  前記検証手段は、更に、予め保持している前記複数の端末の検証識別鍵のそれぞれが真贋鍵と紐づけられていることにより前記複数の端末のそれぞれの実存性を検証する、請求項1~5のいずれか一項に記載の検証システム。
  7.  複数の端末を含む端末群であって、
     前記端末のそれぞれは、所定のメッセージデータに対して、検証識別鍵により署名データを生成する、セキュリティ機能手段と、
     検証サーバにデータを送信する代表端末に選択された場合に、前記複数の端末それぞれの署名データを集約して集約署名データを生成する、生成手段と、
     前記代表端末に選択された場合に、前記集約署名データを前記検証サーバに送信する、送信手段と、を備える、端末群。
  8.  複数の端末から選ばれた代表端末から受信した一時的合成公開鍵に基づいて、前記複数の端末のそれぞれが所定のメッセージデータに対して検証識別鍵により署名した署名データの集約署名データを検証する、検証手段、を備える、検証サーバ。
  9.  複数の端末を検証する検証サーバが、
     予め受信した一時的合成公開鍵に基づいて、前記複数の端末のそれぞれが所定のメッセージデータに対して検証識別鍵により署名した署名データの集約署名データを検証する、検証方法。
  10.  予め受信した一時的合成公開鍵に基づいて、複数の端末のそれぞれが所定のメッセージデータに対して検証識別鍵により署名した署名データの集約署名データを検証する、ことをコンピュータに実行させるプログラムを格納する記録媒体。
PCT/JP2023/012603 2023-03-28 2023-03-28 検証システム、端末群、検証サーバ、検証方法、及び記録媒体 Ceased WO2024201735A1 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
PCT/JP2023/012603 WO2024201735A1 (ja) 2023-03-28 2023-03-28 検証システム、端末群、検証サーバ、検証方法、及び記録媒体
JP2025509355A JPWO2024201735A5 (ja) 2023-03-28 検証システム、端末群、検証サーバ、検証方法、及びプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2023/012603 WO2024201735A1 (ja) 2023-03-28 2023-03-28 検証システム、端末群、検証サーバ、検証方法、及び記録媒体

Publications (1)

Publication Number Publication Date
WO2024201735A1 true WO2024201735A1 (ja) 2024-10-03

Family

ID=92903519

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2023/012603 Ceased WO2024201735A1 (ja) 2023-03-28 2023-03-28 検証システム、端末群、検証サーバ、検証方法、及び記録媒体

Country Status (1)

Country Link
WO (1) WO2024201735A1 (ja)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022003841A1 (ja) * 2020-06-30 2022-01-06 富士通株式会社 署名制御方法、署名制御プログラム、および情報処理装置

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022003841A1 (ja) * 2020-06-30 2022-01-06 富士通株式会社 署名制御方法、署名制御プログラム、および情報処理装置

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
KHUZIEV I M, VYALYI M N: "Distributed protocols for spanning tree construction and leader election", ARXIV, 3 May 2016 (2016-05-03), pages 1 - 21, XP093218846, Retrieved from the Internet <URL:https://arxiv.org/pdf/1512.01795v2> [retrieved on 20230607] *
SUN CHUANG; SHEN SUJIN: "An improved Byzantine consensus based multi-signature algorithm", 2021 4TH INTERNATIONAL CONFERENCE ON ADVANCED ELECTRONIC MATERIALS, COMPUTERS AND SOFTWARE ENGINEERING (AEMCSE), 26 March 2021 (2021-03-26), pages 777 - 780, XP033961169, DOI: 10.1109/AEMCSE51986.2021.00161 *

Also Published As

Publication number Publication date
JPWO2024201735A1 (ja) 2024-10-03

Similar Documents

Publication Publication Date Title
CN111264044B (zh) 芯片、生成私钥的方法和可信证明的方法
CN113271212B (zh) 取决于密钥认证的证书发布
US8555072B2 (en) Attestation of computing platforms
JP5525133B2 (ja) デジタル署名及び認証のためのシステム及び方法
EP1395019A2 (en) Apparatus and method for providing authentication information for a secure group communication
CN109074449A (zh) 在安全飞地中灵活地供应证明密钥
CN102027707A (zh) 具有保密软件映像的集成电路及其方法
JPS625544B2 (ja)
CN101496337A (zh) 硬盘驱动器认证
JP6742558B2 (ja) 認証システムおよび認証プログラム
WO2014108993A1 (ja) 認証処理装置、認証処理システム、認証処理方法および認証処理プログラム
JP6387908B2 (ja) 認証システム
US20170324545A1 (en) Revocable pki signatures
JP2009212731A (ja) カード発行システム、カード発行サーバ、カード発行方法およびプログラム
CN103686712B (zh) 网络连接方法和电子设备
CN116506134B (zh) 数字证书管理方法、装置、设备、系统及可读存储介质
JP6742557B2 (ja) 認証システム
Gunn et al. Circumventing cryptographic deniability with remote attestation
US20250111053A1 (en) Attestation methods
WO2024201735A1 (ja) 検証システム、端末群、検証サーバ、検証方法、及び記録媒体
CN115643081B (zh) 工业控制系统认证方法、装置和计算机设备
CN112182668B (zh) 密码存储器认证
CN118199884A (zh) 基于区块链的任务执行方法和装置
JP4034235B2 (ja) サービスにおける経路ループ検出方法および装置
JP2022022309A5 (ja)

Legal Events

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

Ref document number: 23930375

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2025509355

Country of ref document: JP

Kind code of ref document: A

WWE Wipo information: entry into national phase

Ref document number: 2025509355

Country of ref document: JP

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 23930375

Country of ref document: EP

Kind code of ref document: A1