Information processing device, information processing program, and information processing system
The described system verifies the legitimate owner of devices in CPS using token authentication, preventing unauthorized redirection and ensuring secure communication with authorized servers.
Patent Information
- Application Number
- JP2022119047
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- Filing Date
- 2022-07-26
- Publication Date
- 2025-08-19
- Estimated Expiration
- 2042-07-26
AI Technical Summary
In Cyber-Physical Systems (CPS), unauthorized devices can be redirected to unauthorized servers using stolen device certificates, leading to information leakage and unauthorized control, as the current registrar system does not adequately verify the ownership of devices.
An information processing device and system that includes a first token issuing unit, memory units for storing user and device information, and verification units to authenticate the legitimate owner of a device, ensuring only authorized servers are connected.
Prevents devices from being redirected to unauthorized servers by verifying the legitimate owner, thereby safeguarding against information leakage and unauthorized control.
Smart Images

Figure 0007725431000001 
Figure 0007725431000002 
Figure 0007725431000003
Abstract
Description
[Technical Field]
[0001] The present embodiment relates to an information processing device, an information processing program, and an information processing system. [Background technology]
[0002] In a Cyber-Physical System (CPS), a single system is made up of numerous devices communicating with servers on the cloud. To protect the system from cyber attacks, there is a method for registering trusted devices and the servers each device connects to in advance on a server called a registrar. [Prior art documents] [Non-patent literature]
[0003] [Non-Patent Document 1] BRSKI Cloud Registrar (https: / / www.ietf.org / archive / id / draft-ietf-anima-brski-cloud-03.html) [Non-patent document 2] FIDO Device Onboard Specification v1.1 (https: / / fidoalliance.org / specs / FDO / FIDO-Device-Onboard-PS-v1.1-20220419 / ) Summary of the Invention [Problem to be solved by the invention]
[0004] The registrar stores in advance information about the CPS server that the device should connect to, associated with the device certificate. The registrar authenticates the device using the device certificate. If the registrar successfully authenticates the accessing device, it notifies the device of the CPS server information associated with that device. A security risk of CPS is that a third party other than the device owner may become an attacker and obtain the device certificate. An attacker can use the device certificate to register an unauthorized destination server in the registrar. In this case, the registrar will direct the device to the unauthorized destination server. This could lead to information leakage from the device and unauthorized control of the device.
[0005] Therefore, the present embodiment provides an information processing device, an information processing program, and an information processing system that can prevent a device from being directed to an unauthorized server. [Means for solving the problem]
[0006] The information processing device of this embodiment includes a first token issuing unit that issues a first token in response to a user's token issuance request, a first memory unit that stores information about the user and the first token in association with each other, a second memory unit that stores ownership registration information of a device owned by the user, a first token accepting unit that accepts the first token provided from the device, information about the device that provided the first token is stored in the first memory unit, an owner verification unit that performs owner verification including verifying whether the first token accepted by the first token accepting unit matches the first token in the memory unit, and determines the user corresponding to the first token for which owner verification is successful as the owner of the device, and a third memory unit that stores verified data including information about the device for which the owner has been determined. [Brief explanation of the drawings]
[0007] [Figure 1]1 is a system configuration diagram illustrating an example of a CPS according to a first embodiment. [Figure 2] FIG. 2 is a block diagram showing an example of the configuration of a register according to the first embodiment. [Figure 3] 1 is a block diagram showing an example of the configuration of a device according to a first embodiment. [Figure 4] 3 is a diagram illustrating an example of a configuration of a device table according to the first embodiment. [Figure 5] 3 is a diagram illustrating an example of a configuration of a user table according to the first embodiment. [Figure 6] 3 is a diagram illustrating an example of the configuration of an ownership registration table according to the first embodiment. [Figure 7] 4 is a diagram illustrating an example of the configuration of a verified ownership registration table according to the first embodiment. [Figure 8] FIG. 3 is a sequence diagram showing the operation of the system in the first embodiment. [Figure 9] FIG. 10 is a flowchart illustrating the operation of owner verification. [Figure 10] FIG. 10 is a flowchart showing the operation of ownership deletion processing. [Figure 11] FIG. 10 is a flowchart showing the operation of ownership transfer processing. [Figure 12] FIG. 10 is a sequence diagram showing the operation of a system of a comparative example. [Figure 13] FIG. 10 is a diagram illustrating an example of storage in a connection destination CPS server in a comparative example. [Figure 14] FIG. 10 is a sequence diagram illustrating a security risk in a comparative example. [Figure 15] FIG. 4 is a sequence diagram showing an operation when an attack occurs in the first embodiment. [Figure 16] FIG. 10 is a sequence diagram showing the operation of the system in the second embodiment. [Figure 17] FIG. 10 is a system configuration diagram illustrating an example of a CPS according to a third embodiment. [Figure 18] FIG. 11 is a block diagram showing an example of the configuration of a register according to a third embodiment. [Figure 19]FIG. 10 is a block diagram showing an example of the configuration of a device according to a third embodiment. [Figure 20] 13 is a diagram illustrating an example of the configuration of an ownership registration table according to the third embodiment. [Figure 21] 13 is a diagram illustrating an example of a configuration of a user key table according to the third embodiment. [Figure 22] 13 is a diagram illustrating an example of the configuration of a possession certificate table according to the third embodiment. [Figure 23] FIG. 10 is a sequence diagram showing the operation of the system in the third embodiment. [Figure 24] FIG. 10 is a system configuration diagram illustrating an example of a CPS according to a fourth embodiment. [Figure 25] FIG. 13 is a block diagram showing an example of the configuration of an owner management server according to the fourth embodiment. [Figure 26] FIG. 13 is a block diagram showing an example of the configuration of a possession certificate issuing server according to the fourth embodiment. [Figure 27] FIG. 10 is a block diagram showing an example of the configuration of a device according to a fourth embodiment. [Figure 28] 13 is a diagram illustrating an example of the configuration of an owner certification token table according to the fourth embodiment. [Figure 29] FIG. 10 is a sequence diagram showing the operation of the system in the fourth embodiment. [Figure 30] FIG. 10 is a flowchart illustrating the operation of verifying an owner proof token. DETAILED DESCRIPTION OF THE INVENTION
[0008] Hereinafter, an embodiment of the present invention will be described with reference to the drawings.
[0009] (First embodiment) Fig. 1 is a system configuration diagram showing an example of a CPS (Cyber-Physical System) equipped with a registrar (information processing device) 1 according to the first embodiment. The system shown in Fig. 1 is composed of the registrar 1, a device 2, a database (DB) 3, and a CPS server 4. The purpose of the system shown in Fig. 1 is to safely initialize the device 2 and the CPS server 4 so that they can communicate with each other.
[0010] The registrar 1 , database 3 and CPS server 4 are arranged, for example, on a cloud and are connected to a device 2 owned by a user 5 via a network 6 .
[0011] The registrar 1 is a server that supports the initial registration of a device 2 with a user-specified CPS server 4 (legitimate CPS server) and prevents the device 2 from being redirected to an unauthorized CPS server. The registrar 1 is equipped with a mechanism for verifying whether a user 5 is the legitimate owner of the device 2, and stores and manages the results of the verification by this mechanism. The registrar 1 redirects only devices 2 whose legitimate owner (user 5 in this case) has been determined by the verification to the CPS server 4 specified by the user 5. Because the above mechanism does not recognize an attacker as the legitimate owner of the device, the device 2 is prevented from being redirected to a CPS server specified by the attacker.
[0012] The device 2 is a terminal device that communicates with the CPS server 4 and receives any service provided by the CPS server 4. The device 2 has a unique private key (device private key) and a corresponding digital certificate (device certificate).
[0013] The database 3 is a storage device for storing and managing information that can be read and written by the registrar 1.
[0014] The CPS server 4 is a server that communicates with the device 2 and provides any service to the device 2 .
[0015] A user 5 is, for example, a single human, a single robot, or a group of humans or robots who owns a device 2. The user 5 participates in the CPS using the device 2. The user 5 creates and maintains his or her own user account in the registrar 1 and the CPS server 4.
[0016] The network 6 is a network that is mainly used by the device 2 to communicate with the registrar 1 and the CPS server 4. The network 6 includes, for example, a local area network (LAN) and the Internet.
[0017] The registrar 1, the database 3, and the CPS server 4 may be connected by wire or wirelessly, or the database 3 or the CPS server 4 may be incorporated into the registrar 1.
[0018] 2 is a block diagram showing an example of the configuration of a registrar 1 according to the first embodiment. The registrar 1 shown in FIG. 2 includes an owner verification token issuing unit (first token issuing unit) 11, an owner verification token accepting unit (first token accepting unit) 12, an owner verification unit 13, a device registration accepting unit 14, a connection destination CPS server notifying unit (connection destination notifying unit) 15, an ownership deletion processing unit (deletion processing unit) 16, and an ownership transfer processing unit (transfer processing unit) 17. However, a configuration without some of these elements is also possible. For example, the registrar 1 may not include at least one of the ownership deletion processing unit (deletion processing unit) 16 and the ownership transfer processing unit (transfer processing unit) 17.
[0019] The owner verification token issuing unit 11 issues an owner verification token (first token) in response to a token issuance request from the user 5 and sends the owner verification token to the user 5. The owner verification token issuing unit 11 associates the issued owner verification token with information about the user 5 and stores it in the database 3. The user 5 has a user terminal such as a smartphone or personal computer in addition to the device 2, and can communicate with the registrar 1 using the user terminal. In the following description, an operation performed by the user 5 means an operation performed by the user terminal owned by the user 5. Furthermore, an operation performed on the user 5 is an operation performed on the user terminal owned by the user 5. However, it is also possible for the user to use the device 2 as the user terminal.
[0020] The owner verification token receiving unit 12 receives the owner verification token provided from the device 2 and sends the owner verification token to the owner verification unit 13.
[0021] The owner verification token receiving unit 12 may verify whether or not the device 2 has a device private key (first encryption key) that corresponds to any of the device public keys (first decryption keys) stored in the database 3. The owner verification token receiving unit 12 may accept the owner verification token based on the verification.
[0022] The owner verification unit 13 verifies (hereinafter referred to as owner verification) whether information (e.g., device ID) of the device 2 that provided the owner verification token is stored in the database 3, and whether the owner verification token accepted by the owner verification token acceptance unit 12 matches the owner verification token stored in the database 3. Specific processing contents of the owner verification will be described later.
[0023] The owner verification unit 13 determines the user 5 corresponding to the owner verification token, whose owner verification has been successful (hereinafter referred to as the verified user), as the owner of the device 2. The owner verification unit 13 stores verified data including information about the device 2 whose owner has been determined in the database 3. Furthermore, the owner verification unit 13 obtains from the database 3 information (such as a URL Uniform Resource Locator) about the destination CPS server specified by the verified user.
[0024] The device registration reception unit 14 receives a registration request for the device 2 from the user 5. The registration request includes a device certificate (first certificate) for the device 2. The device certificate includes information about the device public key of the device 2. The device registration reception unit 14 stores information including the device certificate in the database 3.
[0025] The registration request includes information about the destination CPS server specified by the user 5. The device registration acceptance unit 14 associates the information about the device 2 with the information about the destination CPS server and stores them in the database 3.
[0026] The destination CPS server notification unit 15 acquires, for example, a URL (Uniform Resource Locator) as information about the destination CPS server from the owner verification unit 13. The destination CPS server notification unit 15 also notifies the device 2 of the information about the destination CPS server.
[0027] The ownership deletion processing unit 16 deletes the information of the verified user (information that the verified user owns the device 2) from the database 3 in response to a request from the verified user.
[0028] The ownership transfer processing unit 17 rewrites the owner of the device 2 in the database 3 from the verified user to the new user in response to requests from the verified user and the new user.
[0029] Fig. 3 is a block diagram showing an example of the configuration of a device 2 according to the first embodiment. The device 2 shown in Fig. 2 includes an owner management unit 21, an owner verification token storage unit (fifth storage unit) 22, an owner verification token temporary storage unit 23, a device certificate storage unit 24, a device private key storage unit 25, an initial registration processing unit 26, a CPS private key storage unit 27, a CPS certificate storage unit 28, and a firmware storage unit 29. Some of these elements may not be present.
[0030] The owner management unit 21 manages owner verification tokens. The owner management unit 21 accepts an owner verification token from the user 5 and stores the owner verification token in the owner verification token storage unit 22. The owner management unit 21 also transmits the owner verification token, etc. to the registrar 1 and inquires about information (such as a URL) of the CPS server to which the owner verification token should be connected. The owner management unit 21 may delete the owner verification token stored in the owner verification token storage unit 22 upon receiving an instruction from the registrar 1. The owner management unit 21 stores in advance the URL, etc. of the registrar 1 to which the owner verification token should be connected.
[0031] The owner verification token storage unit 22 stores the owner verification token. The user 5 can read the information in the owner verification token storage unit 22 but cannot directly rewrite it. The information in the owner verification token storage unit 22 is rewritten by the owner management unit 21.
[0032] An expiration date may be set for the owner verification token. When the owner verification token is not stored or when the owner verification token has expired, the owner management unit 21 may store a new owner verification token in the owner verification token storage unit 22.
[0033] The owner verification token temporary storage unit 23 is a storage unit that temporarily stores the owner verification token, and can be freely read and written by the user 5. The owner management unit 21 reads the owner verification token written in the owner verification token temporary storage unit 23, and stores the owner verification token in the owner verification token storage unit 22.
[0034] The device certificate storage unit 24 stores the device certificate. The user 5 can read the device certificate but cannot rewrite it. The device certificate is stored when the device 2 is manufactured.
[0035] The device private key storage unit 25 stores the device private key. The user 5 cannot read or write the device private key. The device private key is stored when the device 2 is manufactured. The owner management unit 21 can obtain the device private key from the device private key storage unit 25.
[0036] The initial registration processing unit 26 receives information about the CPS server 4, which is the destination CPS server, from the owner management unit 21. The initial registration processing unit 26 also communicates with the CPS server 4 to perform the initial registration process. The initial registration process includes a process of requesting the CPS server 4 to issue a CPS certificate (server certificate) created using an encryption key (server private key, described below) held by the CPS server 4.
[0037] The device 2 may include a CPS private key storage unit 27. The CPS private key storage unit 27 stores the CPS private key that the device 2 uses for authentication with the CPS server 4. The user 5 cannot read or write the CPS private key. The CPS private key is assumed to be rewritten by the initial registration processing unit 26.
[0038] The CPS certificate storage unit 28 stores CPS certificates. Users can read CPS certificates but cannot rewrite them. CPS certificates are issued by the CPS server 4 and are stored in the CPS certificate storage unit 28 of the device 2 by the initial registration processing unit 26.
[0039] The firmware storage unit 29 is a storage unit that stores firmware that controls the operation of the device 2, and is freely readable and writable by the user 5. The firmware storage unit 29 executes the firmware upon receiving a notification of completion of initial registration from the initial registration processing unit 26. The firmware communicates with the CPS server 4 to fulfill its functions.
[0040] 4 to 7 are diagrams showing an example of data stored in the database 3 according to the first embodiment. The database 3 has a device table (fourth storage unit), a user table (first storage unit), an ownership registration table (second storage unit), and a verified ownership registration table (third storage unit).
[0041] An example of the configuration of the device table is shown in Figure 4. The device table is a table that stores device certificates and has a device ID as the primary key.
[0042] 5 shows an example of the configuration of a user table. The user table is a table that stores user information and owner verification tokens in association with each other, and has a user ID as the primary key. In addition to the primary key, the user table also has items such as a password hash, an owner verification token, and an owner verification token expiration date.
[0043] The password hash is a hash value of the user's login password and is used for user authentication.
[0044] The owner verification token is a character string used to verify the owner of a device, and a different one is issued for each user. The owner verification token is issued by the owner verification token issuing unit 11 of the registrar 1, for example, when a new account is created for the user. Alternatively, the owner verification token may be issued at other times, for example, in response to a user instruction.
[0045] The owner verification token expiration date is the expiration date set for the owner verification token. For example, the expiration date is one week from the time of issuance.
[0046] Fig. 6 shows an example of the configuration of the ownership registration table. The ownership registration table is a table that stores information about devices registered by users (ownership registration information) and the URL of the CPS server to which the devices should connect for initial registration. The ownership registration table has a registration ID as the primary key, and other items include a user ID and a device ID. The ownership registration table is linked to the user table and device table by the user ID and device ID.
[0047] 7 shows an example of the configuration of the verified ownership registration table. The verified ownership registration table uses the device ID of a device for which owner verification has been completed as a primary key, and stores the registration ID in the ownership registration table corresponding to that device ID. In other words, the verified ownership registration table associates a device with a verified user who is the device's owner, and a destination CPS server specified by the user.
[0048] FIG. 8 is a sequence diagram showing the operation of the system in the first embodiment. First, the registrar 1 creates a user account for the user 5 (step S1). The work to create the user account may be performed by the user 5 or by a person with predetermined authority (for example, a system administrator). To create the user account, the user 5 transmits a user ID and a login password. The registrar 1 calculates a password hash value from the login password. The registrar 1 stores a new entry including the user ID and password hash in the user table.
[0049] User 5 logs in to registrar 1 and transmits a request for issuing an owner verification token (step S2). Owner verification token issuing unit 11 in FIG. 2 receives the issuance request and issues a new owner verification token (step S3). An expiration date is set for the owner verification token. The owner verification token and the expiration date are stored in the entry for user 5 in the user table. Owner verification token issuing unit 11 provides the issued owner verification token to user 5 (step S4).
[0050] If an unexpired owner verification token is already stored in the entry for user 5 in the user table, the owner verification token issuing unit 11 can omit issuing a new owner verification token in step S3. In this case, in step S4, the owner verification token stored in the user table may be provided to user 5.
[0051] Also, in step S1, an owner verification token may be issued at the same time as the creation of the user account, and the owner verification token may be stored in the entry of the user table.
[0052] Next, the user 5 obtains the device certificate from the device certificate storage unit 24 of the device 2. The user 5 also specifies the CPS server 4 as the destination CPS server. The user 5 transmits a registration request including the device certificate and the URL of the destination CPS server to the registrar 1 (step S5).
[0053] The device registration acceptance unit 14 receives the registration request and stores a new entry including the device ID and the device certificate in the device table. The device registration acceptance unit 14 also stores a new entry including the device ID stored in the device table, the user ID of the user 5, and the URL of the destination CPS server in the ownership registration table (step S6).
[0054] The device certificate may be stored in the device table in advance. In this case, the device registration accepting unit 14 reads the entry in the device table that has the device certificate extracted from the registration request and obtains the device ID. The device registration accepting unit 14 then stores a new entry in the ownership registration table that includes the obtained device ID, the user ID of the user 5, and the URL of the destination CPS server.
[0055] Next, the user 5 stores the device certificate used in step S5 in the CPS server 4 (step S7). This enables the CPS server 4 to authenticate the device 2 using the stored device certificate.
[0056] Next, the user 5 writes the owner verification token acquired in step S4 to the owner verification token temporary storage unit 23 in the device 2 (step S8). At this time, the owner verification token expiration date stored in the user table may also be written to the device 2. The user 5 activates the owner management unit 21 in the device 2 and requests acceptance of the written owner verification token.
[0057] The owner management unit 21 checks the contents of the owner verification token storage unit 22. If the owner verification token is not stored in the owner verification token storage unit 22, the owner management unit 21 copies the owner verification token written in the owner verification token temporary storage unit 23 to the owner verification token storage unit 22 (step S9). As in step S8, the expiration date may also be stored in the owner verification token storage unit 22.
[0058] In step S8, if an owner verification token is already stored in the owner verification token storage unit 22, the owner management unit 21 checks the expiration date of the owner verification token. The expiration date may be obtained by referring to the contents stored in the owner verification token storage unit 22, or by querying the registrar 1 about the entry in the user table of the database 3. If the expiration date has expired, the owner management unit 21 copies (overwrites) the owner verification token in the owner verification token temporary storage unit 23 to the owner verification token storage unit 22. If the expiration date has not expired, the owner management unit 21 does not copy (overwrite) the owner verification token in the owner verification token temporary storage unit 23. In this case, the owner management unit 21 may notify the user 5 of an error.
[0059] The owner management unit 21 of the device 2 connects to the registrar 1 and inquires about the CPS server to connect to (step S10). Specifically, the owner management unit 21 transmits the owner verification token stored in the owner verification token storage unit 22 and the device certificate stored in the device certificate storage unit 24 to the registrar 1.
[0060] Steps S1 to S9 are an initial registration process for the registrar 1, and can be omitted when device 2 inquires about the destination CPS server from the second time onwards. Also, if the owner of device 2 is changed, ownership transfer processing, which will be described later, can be performed instead of steps S2 to S9.
[0061] The owner verification token receiving unit 12 of the registrar 1 receives the owner verification token and the device certificate from the device 2. At this time, the device private key may be verified (step S11). In verifying the device private key, the owner verification token receiving unit 12 verifies whether the device 2 has a device private key corresponding to one of the device public keys stored in the device table. For example, the owner verification token receiving unit 12 receives predetermined data encrypted with the device private key from the device 2 and verifies whether the predetermined data can be decrypted with the device public key.
[0062] Next, the owner verification unit 13 in the registrar 1 performs owner verification of the device 2 (step S12). Details of the owner verification process will be described later. If the owner verification is successful, the owner verification unit 13 reads out an entry for the user whose owner verification was successful (verified user) from the ownership registration table. From the entry in the ownership registration table, the URL of the CPS server 4 can be extracted as the destination CPS server. The owner verification unit 13 transmits connection information including the URL of the CPS server 4 extracted from the entry in the ownership registration table to the device 2 (step S13).
[0063] The owner management unit 21 in the device 2 passes the URL of the destination CPS server to the initial registration processing unit 26, and requests initial registration processing with the destination CPS server. The initial registration processing unit 26 generates a CPS private key and stores the generated CPS private key in the CPS private key storage unit 27. The initial registration processing unit 26 also generates a Certificate Signing Request (CSR). The CSR includes, for example, a CPS public key and predetermined data. The CSR also includes a digital signature applied to this listed information using the CPS private key. The initial registration processing unit 26 requests initial registration processing by sending the CSR to the destination CPS server (step S14).
[0064] The CPS server 4 authenticates the CSR using the device certificate stored in step S7. The CPS server 4 issues a CPS certificate using its own server private key and provides the issued CPS certificate to the device 2 (step S15). Upon receiving the CPS certificate, the initial registration processing unit 26 in the device 2 stores the CPS certificate in the CPS certificate storage unit 28.
[0065] 9 is a flowchart showing the operation of owner verification. Owner verification is performed by the owner verification unit 13 in the registrar 1 as described above.
[0066] First, a device table check is performed (step S21). In the device table check, it is confirmed whether an entry having the device certificate acquired from device 2 exists in the device table. If step S5 in Fig. 8 has been performed, the corresponding entry usually exists in the device table.
[0067] If a corresponding entry exists in the device table, the device ID is identified from the entry in the device table (step S22). A verified ownership registration table check is performed using the identified device ID (step S23). In the verified ownership registration table check, it is confirmed whether an entry storing the identified device ID exists in the verified ownership registration table. When performing owner verification for device 2 for the first time, there is usually no corresponding entry in the verified ownership registration table.
[0068] If there is no corresponding entry in the verified ownership registration table, the validity of the owner verification token is checked (step S24). If the conditions that an entry storing the owner verification token acquired from device 2 exists in the user table and that entry has not expired are met, the owner verification token is valid. If the conditions are not met, the owner verification token is invalid.
[0069] If the owner verification token is valid, the user ID corresponding to the owner verification token is identified from the entry in the user table that stores the owner verification token (step S25). Subsequently, an ownership registration table check is performed (step S26). In the ownership registration table check, it is confirmed whether an entry having the device ID identified in step S22 and the user ID identified in step S25 exists in the ownership registration table. If step S5 in FIG. 8 has been performed, the corresponding entry usually exists in the ownership registration table check.
[0070] If a corresponding entry exists in the ownership registration table, the registration ID is identified from the entry in the ownership registration table (step S27). A new entry including the registration ID identified in step S27 and the device ID identified in step S22 is stored in the verified ownership registration table (step S28). As a result, the user 5 corresponding to the owner verification token is determined as the owner of the device 2.
[0071] Using the registration ID identified in step S27, an entry having the registration ID is read from the ownership registration table (step S29). This ends the owner verification as a success.
[0072] If a corresponding entry exists in the verified ownership registration table in step S23, the registration ID is identified from the verified ownership registration table (step S30). Based on the registration ID identified in step S30, an entry is read from the ownership registration table in step S29. This ends the owner verification as a success.
[0073] If there is no corresponding entry in the device table (step S21), if the owner verification token is invalid (step S24), or if there is no corresponding entry in the ownership registration table check (step S26), an error is notified to the device 2 (step S31), and the owner verification ends as a failure.
[0074] In this way, the owner verification uses the owner verification token stored in the device 2 to determine the legitimate owner of the device 2. Furthermore, information about the device whose owner has been determined as a result of the owner verification is stored in the verified ownership registration table.
[0075] 10 is a flowchart showing the operation of the ownership deletion process. The ownership deletion process is performed by the ownership deletion processing unit 16 in the registrar 1. An example in which the user 5 relinquishes the ownership of the device 2 will be described below.
[0076] First, an ownership relinquishment request is received from the user 5 (step S41). The ownership relinquishment request includes the device ID of the device 2 to be relinquished.
[0077] Next, an owner check is performed (step S42). In the owner check, it is confirmed that user 5 is the owner of device 2. If the verified ownership registration table contains an entry with the device ID of device 2, and the entry in the ownership registration table linked to the registration ID of that entry contains the user ID of user 5, then user 5 is the owner of device 2. If the conditions are not met, then user 5 is not the owner of device 2.
[0078] If the user 5 is the owner of the device 2, the entry having the device ID of the device 2 in the verified ownership registration table and the entry in the ownership registration table having the registration ID of the entry in the verified ownership registration table are deleted (step S43).
[0079] The device 2 also communicates with the owner management unit 21 of the device 2 to delete the owner verification token stored in the owner verification token storage unit 22 (step S44), thereby completing the ownership deletion process.
[0080] Deleting the owner verification token in step S44 allows the new user to store a new owner verification token in the device 2. As a result, immediately after the ownership deletion process, the new user can be treated as the owner of the device 2 through owner verification. Note that even if the device 2 does not delete the owner verification token, it can store (overwrite) a new owner verification token once the expiration date of the owner verification token has passed.
[0081] If the user 5 is not the owner of the device 2 (step S42), an error is notified to the user 5 (step S45), thereby terminating the ownership deletion process.
[0082] As described above, in the ownership deletion process, the registrar 1 deletes the ownership of the device 2 (i.e., deletes the owner information for the device 2) in accordance with instructions from the legitimate owner of the device 2. The registrar 1 also communicates with the device 2 and clears the owner verification token storage unit 22 of the device 2. This allows the owner verification of FIG. 9 to be immediately performed for the new owner of the device 2. For example, if the user 5 who deleted the ownership transfers the device 2 to another user, the other user can efficiently register themselves as the new owner.
[0083] 11 is a flowchart showing the operation of the ownership transfer process. The ownership transfer process is performed by the ownership transfer processing unit 17 in the registrar 1. An example in which the user 5 transfers the ownership of the device 2 to another user will be described below.
[0084] First, an ownership transfer request is received from the user 5 (step S51). The ownership transfer request includes the device ID of the device 2 to be transferred and the user ID of the transfer destination user.
[0085] Next, an owner check is performed (step S52). In the owner check, it is confirmed that the user 5 is the owner of the device 2. The specific processing content is the same as the owner check in the ownership deletion processing (step S42 in FIG. 10).
[0086] If user 5 is the owner of device 2, a check is made to see if the user of the transfer destination agrees to the ownership transfer (step S53). If consent is obtained from the user of the transfer destination, a new entry including the device ID of device 2 and the user ID of the user of the transfer destination is stored in the ownership registration table (step S54). In step S53, the user of the transfer destination may be requested to provide information about the CPS server to which the user is to connect. The information about the CPS server to which the user is to connect obtained from the user of the transfer destination may also be stored in step S54.
[0087] Next, the old entry having the device ID of device 2 is deleted from the verified ownership registration table. Also, a new entry having the registration ID of the entry in the ownership registration table stored in step S54 and the device ID of device 2 is stored in the verified ownership registration table (step S55).
[0088] If the user 5 is not the owner of the device 2 (step S52), or if consent cannot be obtained from the transfer destination user (step S53), an error is notified to the user 5 (step S56), thereby terminating the ownership transfer process.
[0089] In this way, in the ownership transfer process, the registrar 1 transfers the ownership of the device 2 (i.e., changes the information about the owner of the device 2) based on an instruction from the user 5 who is the transfer source of the device 2 and the consent of the transfer destination user. Since the user ID is updated in the verified ownership registration table, the transfer destination user is also recognized as the legitimate owner of the device 2 in the ownership verification of Figure 9.
[0090] In the following, in order to demonstrate the effectiveness of the system according to this embodiment, a system that serves as a comparative example (a comparative example system) will be described with reference to FIGS. Fig. 12 is a sequence diagram showing the operation of the system of the comparative example. The operation shown in Fig. 12 is significantly different from the operation shown in Fig. 8 in that there is no owner verification (step S12 in Fig. 8). As there is no owner verification, there are also no processes (steps S2 to S4) from requesting to providing an owner verification token, and no processes (steps S8 to S9) for storing the owner verification token in the device 2.
[0091] In the operation of FIG. 12, the user 5 transmits a registration request including a device certificate and the URL of the CPS server 4 to the registrar 1 (step S5').
[0092] The registrar 1 associates the URL of the CPS server 4 with the device certificate and stores them (step S6'). Fig. 13 is a diagram showing an example of the configuration of information stored in the registrar 1.
[0093] Next, the user 5 registers the device certificate with the CPS server 4 (step S7'). The device 2 presents the device certificate and inquires of the registrar 1 about the CPS server to connect to (step S10'). The registrar 1 reads the entry in which the device certificate is stored from the information shown in Fig. 13, obtains the URL of the CPS server 4, and notifies the device 2 (step S13'). Thereafter, the initial registration process is performed similarly to steps S14 and S15 in Fig. 8 (step S14').
[0094] 14 is a sequence diagram illustrating security risks in a system of a comparative example. Assuming that an attacker 41 has already obtained the device certificate of device 2. This situation can easily occur if the device certificate is widely disclosed by the manufacturer of device 2. Even if this is not the case, the sales company that sold device 2 to user 5 is likely to be able to obtain the device certificate.
[0095] The attacker 41's objective is to lure the device 2 owned by the user 5 to an unauthorized CPS server 42 managed by the attacker 41, and to steal information from the device 2 or to perform unauthorized remote control.
[0096] The attacker 41 sends a registration request including the obtained device certificate of the device 2 and the URL of the CPS server 42 to the registrar 1 (step S5''). The registrar 1 associates the URL of the CPS server 42 with the device certificate of the device 2 and stores it (step S6''). Next, the attacker 41 registers the device certificate with the CPS server 42 (step S7'').
[0097] The device 2 presents its device certificate and inquires of the registrar 1 about the destination CPS server (step S10'). The registrar 1 reads out the entry in which the device certificate is stored, as in Fig. 12, but the entry stores the URL of the fraudulent CPS server 42. As a result, the registrar 1 notifies the device 2 of the URL of the fraudulent CPS server 42 as the destination CPS server (step S13'').
[0098] The device 2 performs an initial registration process with the unauthorized CPS server 42 (step S14''). As a result, the device 2 may leak confidential information to the attacker 41 via the CPS server 42 (step S16''), or may be subject to unauthorized remote control by the attacker 41 (step S16''').
[0099] 12, an attacker 41 can use the device certificate of the device 2 to cause the registrar 1 to store an unauthorized destination server (CPS server 42). In this case, the registrar 1 will direct the device 2 to the CPS server 42. This may result in the device 2 leaking information to the attacker 41 via the CPS server 42, or the device 2 being subject to unauthorized control by the attacker 41.
[0100] Fig. 15 is a sequence diagram showing the operation when the system of the first embodiment is attacked in the same way as in Fig. 14. As in the example shown in Fig. 8, the user 5 can store the legitimate CPS server 4 in the ownership registration table (step S6) by performing the process of creating a user account and obtaining an owner token with the registrar 1 (step S2) and the process of registering the device certificate and the destination CPS server (step S5). The user 5 also stores the device certificate in the legitimate CPS server 4 (step S7).
[0101] On the other hand, the attacker 41, like the user 5, can also register an unauthorized CPS server 42 in the ownership registration table by performing the processes of steps S2'' and S5'' (step S6''). The attacker 41 also stores the device certificate of the unauthorized CPS server 42 (step S7'').
[0102] After step S6'' is performed, the device table stores two entries (one entry if the device certificate has a uniqueness constraint) having the device certificate of device 2: the entry registered by the attacker and the legitimate entry registered by user 5. The user table also stores two entries: an entry for user 5 and an entry for attacker 41. The entry for user 5 and the entry for attacker 41 each store a different owner verification token.
[0103] The ownership registration table stores two entries: an entry that stores the destination CPS server (CPS server 4) specified by user 5 for device 2, and an entry that stores the destination CPS server (CPS server 42) specified by attacker 41 for device 2.
[0104] The user 5 can write and store the owner verification token issued to the user 5 in the device 2 owned by the user 5 (steps S8 to S9). On the other hand, the attacker 41 does not own the device 2 and therefore cannot write the owner verification token issued to the attacker 41 in the device 2.
[0105] The device 2 uses the owner verification token issued to the user 5 to inquire of the registrar 1 about the CPS to which it is to connect (step S10). The registrar 1 performs owner verification (step S12). The owner verification is performed as shown in FIG. 9. When owner verification of the device 2 is performed for the first time, an entry for the user 5 is extracted from the ownership registration table based on the owner verification token issued to the user 5 in steps S24 to S27 of FIG. 9. Furthermore, in step S28 of FIG. 9, the user 5 corresponding to the owner verification token is determined as the owner of the device 2.
[0106] As a result of the owner verification in step S12, the CPS server 4 specified by the user 5 is extracted as the CPS server to connect to. The registrar 1 notifies the device 2 of information including the URL of the CPS server 4 (step S13). This allows the device 2 to perform the initial registration process (step S14) with the legitimate CPS server 4.
[0107] As shown in Fig. 15, the user 5 and the attacker 41 can store an entry specifying the destination CPS server in the ownership registration table by presenting the device certificate of the device 2 to the registrar 1. However, simply storing an entry in the ownership registration table does not confirm that the user is the legitimate owner of the device 2. Only by performing the owner verification shown in Fig. 9 can the legitimate owner of the device 2 be determined, and the result is stored in the verified ownership registration table.
[0108] As described above, in the first embodiment, an owner verification token is issued to the user 5 who possesses the device 2, and the owner verification token of the user 5 is stored in the device 2. Furthermore, by performing owner verification based on the owner verification token stored in the device 2, it is possible to determine that the user 5 is the legitimate owner of the device 2. This allows the registrar 1 to guide the device 2 to the legitimate destination CPS server specified by the user 5. It is also possible to prevent a person who is not the legitimate owner from illegally controlling the device or guiding it to their own server.
[0109] (Second embodiment) The process of storing the device certificate in the CPS server 4 may be incorporated into the process of the registrar 1. Fig. 16 is a sequence diagram showing the operation of the system in the second embodiment. In the first embodiment, the user 5 stores the device certificate in the CPS server 4. The second embodiment is different in that the registrar 1 stores the device certificate in the CPS server 4.
[0110] 16 does not include a process in which the user 5 stores the device certificate in the CPS server 4. A process (step S61) is added immediately after the owner verification (step S12) to store the device certificate in the CPS server 4. In step S61, the device certificate acquired from the device table is stored in the destination CPS server notified in step S13.
[0111] In this way, in the second embodiment, the registrar 1 stores the device certificate in the CPS server 4. By incorporating the storage of the device certificate in the CPS server 4 into the processing of the registrar 1, the effort required of the user 5 can be reduced.
[0112] (Third embodiment) In the first embodiment, the registrar 1 has two functions: a function of verifying the owner and a function of directing the device to the destination CPS server. Of the two functions, the function of directing the device to the destination CPS server may be separated from the registrar 1.
[0113] In the third embodiment, the rendezvous server has a function of guiding the device to the destination CPS server. As in the example shown in Fig. 14, it is conceivable that an attacker may store an unauthorized CPS server in the rendezvous server. In this case, the problem arises as to how the device can verify whether the CPS server notified by the rendezvous server is the CPS server of the legitimate owner.
[0114] In the third embodiment, the registrar 1 issues an ownership voucher based on the result of owner verification and provides it to a CPS server designated by the legitimate owner. The CPS server presents the provided ownership voucher to the device. This enables the device to confirm that the CPS server to which it is connected is the CPS server designated by the legitimate owner.
[0115] Fig. 17 is a system configuration diagram showing an example of a CPS according to the third embodiment. The system shown in Fig. 17 differs from the system shown in Fig. 1 in that it includes a rendezvous server 7. The rendezvous server 7 does not necessarily have to be physically separate from the registrar 1, and may be provided inside the registrar 1.
[0116] The rendezvous server 7 responds to an inquiry from the device 2 and directs the device 2 to the CPS server 4 .
[0117] The registrar 1 verifies by owner verification that the user 5 is the legitimate owner of the device 2. Furthermore, the registrar 1 issues an ownership certificate for the device 2 in response to a request from a CPS server designated by the user 5.
[0118] Fig. 18 is a block diagram showing an example of the configuration of a registrar 1 according to the third embodiment. In addition to the components shown in Fig. 2, the registrar 1 shown in Fig. 18 further includes a user key pair generation unit 51, a possession certificate header issuance unit 52, a possession certificate issuance unit 53, and a possession certificate transfer unit 54. Note that the ownership deletion processing unit 16 and the ownership transfer processing unit 17 are omitted from Fig. 18.
[0119] The user key pair generation unit 51 generates a pair of a user public key (second decryption key) and a user private key (second encryption key) for each user, and stores the pair of the user public key and the user private key in the database 3.
[0120] The owner verification unit 13 in the third embodiment performs the owner verification shown in Fig. 9 based on the owner verification token. The owner of the device 2 (user 5 in the example of Fig. 18) is determined by the owner verification, and information about the owner is notified to the ownership certificate header issuance unit 52 as a result of the owner verification.
[0121] The possession certificate header issuance unit 52 issues a possession certificate header (second certificate) and transmits the possession certificate header to the device 2. The possession certificate header has a data structure defined, for example, in the FIDO Device Onboard standard. The possession certificate header also includes the user public key of the owner of the device 2.
[0122] The possession certificate issuing unit 53 receives an HMAC (Hash-based Message Authentication Code or device authentication code) value, which will be described later, from the device 2, issues a possession certificate from the HMAC value and the possession certificate header, and stores it in the database 3.
[0123] The possession certificate transfer unit 54 accepts a transfer request (a request to transfer a possession certificate) from the CPS server 4. The possession certificate transfer unit 54 issues a transferred possession certificate that includes the possession certificate stored in the database 3 and a digital signature applied with the user private key.
[0124] Fig. 19 is a block diagram showing an example configuration of a device 2 according to the third embodiment. In addition to the components shown in Fig. 3, the device 2 shown in Fig. 19 includes an ownership certificate management unit 61, a device authentication information storage unit 62, and an HMAC private key storage unit 63. Note that Fig. 19 omits the owner verification token temporary storage unit 23, the CPS private key storage unit 27, the CPS certificate storage unit 28, the device private key storage unit 25, and the device certificate storage unit 24.
[0125] The owner management unit 21 in the third embodiment receives and stores an owner verification token from the user 5, and requests the issuance of an ownership certificate header by transmitting the owner verification token to the registrar 1. The owner management unit 21 also queries the rendezvous server 7 for information (such as a URL) of the CPS server to which it should connect. The owner management unit 21 stores in advance the URL, etc., of the rendezvous server 7 to which it should connect.
[0126] The possession certificate management unit 61 communicates with the registrar 1 and performs the processing required to issue a possession certificate. Specifically, it generates an HMAC private key and stores it in the HMAC private key storage unit 63. The possession certificate management unit 61 also calculates a hash value (HMAC value) using the possession certificate header and the HMAC private key. The possession certificate management unit 61 requests the registrar 1 to issue a possession certificate by sending the HMAC value. The possession certificate management unit 61 stores in advance the URL of the registrar 1 to which it should connect, etc.
[0127] The device authentication information storage unit 62 stores device authentication information (described later) required for issuing a possession certificate. Only the possession certificate management unit 61 can read and write from and to the device authentication information storage unit 62.
[0128] The HMAC private key storage unit 63 stores an HMAC private key for generating a message authentication code HMAC to be assigned to a possession certificate. Only the possession certificate management unit 61 can read and write to the HMAC private key storage unit 63.
[0129] The initial registration processing unit 26 in the third embodiment performs the initial registration processing, requests the CPS server 4 to present the transferred ownership certificate, and verifies the transferred ownership certificate based on the information stored in the device authentication information storage unit 62.
[0130] 20 shows an example of the configuration of the ownership registration table in the third embodiment. The ownership registration table in the third embodiment differs from that in the first embodiment in that it does not store the URL of the destination CPS server.
[0131] 21 shows an example of the configuration of a user key table stored in the database 3 in the third embodiment. The user key table is a table that stores a pair of a user private key and a user public key for each user, and has a user ID as the primary key.
[0132] 22 shows an example of the configuration of an ownership certificate table stored in the database 3 in the third embodiment. The ownership certificate table is a table that stores ownership certificates for each pair of users and devices, and has an ownership certificate ID as a primary key. Other items in the ownership certificate table include user IDs, device IDs, and ownership certificate data.
[0133] Fig. 23 is a sequence diagram showing the operation of the system in the third embodiment. In the operation in Fig. 23, first, a user account for user 5 is created (step S1), as in the example in Fig. 8. Next, a user key pair is issued by the user key pair generation unit 51 in the registrar 1 (step S71). A new entry including the user public key and user private key of user 5 is stored in the user key table.
[0134] 8, the user 5 requests the registrar 1 to issue an owner verification token (step S2). The registrar 1 issues the owner verification token (step S3) and sends it to the user 5. The user 5 stores the device certificate in the registrar 1 (step S5) and stores the owner verification token in the device 2 (step S9).
[0135] The owner management unit 21 of the device 2 transmits an owner verification token to the registrar 1. Similar to the example in Fig. 8, in the example in Fig. 23, the device 2 requests the issuance of an ownership certificate header instead of providing information about the CPS server to which it is connected (step S72).
[0136] The owner verification unit 13 of the registrar 1 performs owner verification in the same manner as in the example of FIG. 8 (step S12). If the owner verification is successful, the owner verification unit 13 reads an entry for the verified user from the ownership registration table. Then, it reads an entry having the user ID of the verified user from the user key table. The user public key can be obtained from the entry in the user key table.
[0137] The ownership certificate header issuance unit 52 generates an ownership certificate header including the user public key acquired by the owner verification unit 13. The ownership certificate header issuance unit 52 issues an ownership certificate header to the device 2 and requests an HMAC value (step S73).
[0138] The possession certificate management unit 61 of the device 2 receives the possession certificate header from the registrar 1 and stores the possession certificate header in the device authentication information storage unit 62. The possession certificate management unit 61 also generates a new HMAC private key and stores it in the HMAC private key storage unit (step S74). The possession certificate management unit 61 uses this HMAC private key to calculate an HMAC value for the possession certificate header.
[0139] The possession certificate management unit 61 calculates an HMAC value using the possession certificate header and the HMAC private key, and then transmits the HMAC value to the registrar 1 to request the issuance of a possession certificate (step S75).
[0140] The possession certificate issuance unit 53 of the registrar 1 receives the HMAC value from the device 2 and issues a possession certificate from the HMAC value and the possession certificate header (step S76). The possession certificate issuance unit 53 stores in the possession certificate table a new entry including the possession certificate and the user ID and device ID included in the entry in the possession registration table read in step S12.
[0141] User 5 performs a process to issue a token (hereinafter, "authorization token") indicating that user 5 has authorized the transfer of the certificate of ownership to the CPS server 4 (step S77). The authorization token is issued in accordance with, for example, the OAuth2 standard. User 5 notifies the CPS server 4 of the start of the authorization process for the transfer of the certificate of ownership. The CPS server 4 redirects user 5 to registrar 1 and requests authorization from registrar 1. When user 5 authorizes registrar 1, registrar 1 issues an authorization token to the CPS server 4.
[0142] The CPS server 4 sends a transfer request to the registrar 1 (step S78). The transfer request includes the authorization token, the device ID of the device to be transferred, and the server public key of the CPS server 4. The transfer request also includes a digital signature applied to the listed information using the server private key.
[0143] The possession certificate transfer unit 54 of the registrar 1 receives a transfer request from the CPS server 4. The possession certificate transfer unit 54 verifies the transfer request (step S79). The verification of the transfer request includes, for example, verifying whether the authorization token is valid. The possession certificate transfer unit 54 also verifies the digital signature included in the transfer request using the server public key. Furthermore, the possession certificate transfer unit 54 verifies whether an entry including the user ID of the user authenticated by the authorization token and the device ID of the device to be transferred included in the transfer request exists in the possession certificate table. If an entry exists in the possession certificate table, the possession certificate transfer unit 54 reads out the possession certificate from the entry.
[0144] If the verification is successful, the ownership certificate transfer unit 54 extends the read ownership certificate by adding the server public key included in the transfer request to the ownership certificate. The ownership certificate transfer unit 54 also creates a transferred ownership certificate by digitally signing the extended ownership certificate with the user private key. The ownership certificate transfer unit 54 sends the created transferred ownership certificate to the CPS server 4 (step S80).
[0145] The CPS server 4 stores the transferred ownership certificate acquired in step S80 in the rendezvous server 7 (step S81). As a result, the rendezvous server 7 recognizes that the CPS server 4 is a legitimate CPS server to which the device 2 should connect.
[0146] The device 2 inquires about information about the destination CPS server from the rendezvous server 7. The rendezvous server 7 notifies the device 2 of the connection information, including the URL of the CPS server 4 (step S82).
[0147] 8, initial registration processing unit 26 performs initial registration processing with CPS server 4 based on the connection information of CPS server 4 (step S14). Additionally, initial registration processing unit 26 receives the transferred ownership certificate from CPS server 4 and verifies the transferred ownership certificate (step S83).
[0148] When verifying the transferred possession certificate, for example, it is verified whether the hash value of the user public key stored in the device authentication information storage unit 62 matches the hash value of the user public key included in the transferred possession certificate. In addition, the HMAC value included in the transferred possession certificate is verified using the HMAC private key stored in the HMAC private key storage unit 63. In addition, the digital signature included in the transferred possession certificate is verified using the user public key. If the verification of the transferred possession certificate is successful, the device 2 confirms that the CPS server 4 is a valid connection destination.
[0149] As described above, in the third embodiment, the registrar 1 determines the owner of the device 2 (user 5 in the example of FIG. 23) through owner verification and issues an ownership certificate. Furthermore, the ownership certificate can be transferred to a CPS server 4 authorized by user 5. The CPS server 4 can prove that it is the CPS server of user 5 by presenting the ownership certificate to the rendezvous server 7 and the device 2.
[0150] (Fourth embodiment) In the third embodiment, the registrar 1 has two functions: an owner verification function and a possession certificate issuance function. In the fourth embodiment, the possession certificate issuance function of the registrar 1 is separated, and a possession certificate issuance server having the possession certificate issuance function is newly provided.
[0151] Fig. 24 is a system configuration diagram showing an example of a CPS according to the fourth embodiment. The system shown in Fig. 24 differs from the system shown in Fig. 17 in that it includes an owner management server 71, a possession certificate issuing server (certificate issuing device) 72, an owner database 73, and a possession certificate database 74. The owner management server 71 and the owner database 73 correspond to the registrar 1 from which the possession certificate issuing function has been removed and the database 3 used by the registrar 1, respectively.
[0152] The owner management server 71 and the ownership certificate issuing server 72 do not necessarily need to be physically separate, and may be included in the ownership certificate issuing server 72 within the owner management server 71. Furthermore, either the owner management server 71 or the ownership certificate issuing server 72 may also function as the rendezvous server 7.
[0153] The owner management server 71 has the function of verifying and managing the owner of the device, and also verifies that the user 5 is the legitimate owner of the device 2 through the owner verification.
[0154] The ownership certificate issuing server 72 issues an ownership certificate for the device 2 in response to a request from a CPS server designated by the user 5. At that time, it communicates with the owner management server 71 to confirm the legitimate owner of the device 2.
[0155] The owner database 73 is a storage device that allows the owner management server 71 to store and manage information related to owners.
[0156] The ownership certificate database 74 is a storage device that allows the ownership certificate issuing server 72 to store and manage information related to ownership certificates.
[0157] Fig. 25 is a block diagram showing an example configuration of an owner management server 71 according to the fourth embodiment. The configuration of the owner management server 71 shown in Fig. 25 basically conforms to the configuration of the registrar 1 shown in Fig. 2. Compared to the example in Fig. 2, the owner management server 71 shown in Fig. 25 does not include the connection destination CPS server notifying unit 15. Also, it differs in that it includes an owner certification token issuing unit (second token issuing unit) 81 and a device detailed information disclosing unit (information disclosing unit) 82.
[0158] The owner verification unit 13 performs the owner verification shown in Fig. 9 based on the owner verification token. The owner of the device 2 (user 5 in the example of Fig. 25) is determined by the owner verification.
[0159] The owner certification token issuing unit 81 acquires the result of the owner verification by the owner verification unit 13, and issues to the device 2 an owner certification token (second token) that indicates that the device 2 is the legitimate owner.
[0160] The device detail information disclosure unit 82 provides data necessary for verifying the owner certification token to the ownership certificate issuing server 72. Specifically, the device detail information disclosure unit 82 receives the owner certification token from the ownership certificate issuing server 72, and discloses the user ID of the owner of device 2 linked to the owner certification token and the device certificate of device 2.
[0161] Fig. 26 is a block diagram showing an example configuration of a possession certificate issuing server 72 according to the fourth embodiment. The possession certificate issuing server 72 shown in Fig. 26 includes a user key pair generation unit 51, a possession certificate header issuance unit 52, a possession certificate issuance unit 53, and a possession certificate transfer unit 54, which are components of the registrar 1 shown in Fig. 18. In addition, the server 72 newly includes a user account creation request reception unit 91, an owner certification token reception unit (second token reception unit) 92, and an owner certification token verification unit 93 (second token verification unit).
[0162] In response to a request from the user 5, the user account creation request receiving unit 91 receives information about the user 5 from the owner management server 71, and instructs the user key pair generating unit 51 to generate a user key pair.
[0163] The owner certification token receiving unit 92 receives an owner certification token and a device certificate from the device 2, and also receives a request from the device 2 to verify the owner certification token.
[0164] The owner certification token verification unit 93 receives necessary data (e.g., information on whether the owner certification token is valid, information on device 2, and information on the owner of device 2) from the owner management server 71, verifies the owner certification token, and notifies the owner certificate header issuance unit 52 of the owner information as a result of the verification.
[0165] 27 is a block diagram showing an example of the configuration of a device 2 according to the fourth embodiment. The device 2 shown in FIG. 27 includes an owner certification token storage unit 101 in addition to the components shown in FIG.
[0166] The owner management unit 21 of the device 2 in the fourth embodiment receives and stores an owner verification token from the user 5, and requests the issuance of an owner certification token by transmitting the owner verification token to the owner management server 71. The owner management unit 21 stores in advance the URL of the owner management server to which it should connect, etc.
[0167] The possession certificate management unit 61 of the device 2 in the fourth embodiment communicates with the possession certificate issuing server 72 and performs the processing required to issue a possession certificate. Specifically, the possession certificate management unit 61 transmits an HMAC value to the possession certificate issuing server 72 to request the issuance of a possession certificate. The possession certificate management unit 61 stores in advance the URL of the possession certificate issuing server 72 to which it should connect, etc.
[0168] The owner certification token storage unit 101 stores the owner certification token received from the owner management server 71. Only the owner management unit 21 can write to the owner certification token storage unit 101, and only the owner management unit 21 and the ownership certificate management unit 61 can read from the owner certification token storage unit 101.
[0169] The owner database 73 in the fourth embodiment has a device table, a user table, and a verified ownership registration table similar to those in the first embodiment, and also has an ownership registration table (see FIG. 20) similar to that in the third embodiment. Furthermore, the owner database 73 newly has an owner certification token table.
[0170] 28 shows an example of the configuration of an owner certification token table. The owner certification token table is a table that stores owner certification tokens for each device, and has the token character string of the owner certification token as the primary key. Other items in the ownership certificate table include the device ID and the expiration date of the owner certification token.
[0171] The ownership certificate database 74 in the fourth embodiment has a user key table (see FIG. 21) and an ownership certificate table (see FIG. 22) similar to those in the third embodiment.
[0172] Fig. 29 is a sequence diagram showing the operation of the system in the fourth embodiment. In the operation of Fig. 29, first, as in the example of Fig. 8, a user account for user 5 is created in the owner management server 71 (step S1). Next, user 5 requests the owner management server 71 to issue an owner verification token (step S2). The owner management server 71 issues an owner verification token (step S3) and sends the owner verification token to user 5. User 5 stores a device certificate in the owner management server 71 (step S5).
[0173] Next, the user 5 transmits a request to create a user account to the ownership certificate issuing server 72 (step S91).
[0174] The user account creation request receiving unit 91 of the ownership certificate issuing server 72 communicates with the owner management server 71 to confirm the user ID of user 5, who has sent the user account creation request. This is achieved, for example, using the OpenID Connect standard. Next, the user key pair generating unit 51 of the ownership certificate issuing server 72 stores a new entry including the user private key and user public key of user 5 in the user key table of the ownership certificate database 74 (step S92).
[0175] As in the example of Fig. 8, the user 5 stores the owner verification token in the device 2 (step S9). The owner management unit 21 in the device 2 transmits the owner verification token to the owner management server 71. This operation is the same as in the example of Fig. 8, but in the example of Fig. 29, the device 2 requests the issuance of an owner verification token rather than the provision of information about the CPS server to which it is connected (step S93).
[0176] The owner verification unit 13 of the owner management server 71 performs owner verification (step S12) in the same manner as in the example of Fig. 8. If the owner verification is successful, the owner verification unit 13 reads out an entry for the user whose verification was successful (verified user) from the ownership registration table.
[0177] The owner management server 71 issues a new owner certification token for device 2 and stores the owner certification token in an owner certification token table. The expiration date of the owner certification token is set to, for example, 24 hours after the time of issuance. The owner management server 71 returns the issued owner certification token to device 2 (step S94).
[0178] The owner management unit 21 of the device 2 receives the owner certification token and stores it in the owner certification token storage unit 101 (step S95). The ownership certificate management unit 61 presents the owner certification token and the device certificate to the ownership certificate issuing server 72 and requests the issuance of an ownership certificate header (step S96).
[0179] The owner certification token receiving unit 92 of the ownership certificate issuing server 72 receives the owner certification token and the device certificate from the device 2. The owner certification token verifying unit 93 performs owner certification token verification, which will be described later, in cooperation with the owner management server 71 (step S97). Note that the device certificate received by the owner certification token receiving unit 92 is referred to as a first device certificate in this embodiment.
[0180] If the owner certification token verification unit 93 has successfully verified the owner certification token, the ownership certificate header issuing unit 52 issues an ownership certificate header in response to a request from the device 2 (step S73).
[0181] 23, the device 2 generates a new HMAC private key (step S74). The device 2 also transmits the HMAC value to the ownership certificate issuing server 72 (step S75). The ownership certificate issuing server 72 issues an ownership certificate (step S76).
[0182] 23, the user 5 performs an authorization token issuing process on the CPS server 4 (step S77). The authorization token may be issued by the owner management server 71 that has received authorization from the user 5 in accordance with the OAuth2 standard. The CPS server 4 transmits a transfer request to the ownership certificate issuing server 72 (step S78).
[0183] The ownership certificate issuing server 72 verifies the transfer request (step S79). As described above, when the owner management server 71 issues an authorization token, the authorization token may be sent to the owner management server 71 in the verification of step S79, and it may be confirmed whether or not the authorization token indicates authorization by the user 5.
[0184] Next, the possession certificate issuing server 72 transmits the created transferred possession certificate to the CPS server 4 (step S80). The CPS server 4 stores the transferred possession certificate in the rendezvous server 7 (step S81). The device 2 acquires connection information for the CPS server 4 from the rendezvous server 7 (step S82). The device 2 performs initial registration processing with the CPS server 4 and verifies the transferred possession certificate (step S83).
[0185] 30 is a flowchart showing the operation of owner certification token verification. Owner certification token verification is performed in cooperation between the ownership certificate issuing server 72 and the owner management server 71. First, the owner certification token verification unit 93 of the ownership certificate issuing server 72 transmits the owner certification token acquired from the device 2 to the owner management server 71 (step S101).
[0186] The processing of steps S111 to S117 is performed by the device detail information disclosure unit 82 of the owner management server 71. First, the owner certification token received from the ownership certificate issuing server 72 is checked (step S111). In checking the owner certification token, it is verified whether or not the following conditions are met: there is an entry in the owner certification token table that has the owner certification token, and the expiration date of the entry is after the current date and time. If the conditions are met, the owner certification token is valid; if not, the owner certification token is invalid.
[0187] If the owner certification token is valid, the device ID is identified from the entry in the owner certification table (step S112).
[0188] Next, a verified ownership registration table check is performed (step S113). In this check, it is confirmed whether an entry in the verified ownership registration table having the device ID identified in step S112 exists. If the owner verification for device 2 has been completed, an entry usually exists.
[0189] If a corresponding entry exists in the verified ownership registration table, the registration ID is identified from the entry (step S114).
[0190] Next, the user ID of the owner (user 5) of device 2 can be identified from the entry in the ownership registration table that has the identified registration ID (step S115).
[0191] Next, the device certificate is obtained from the entry in the device table that has the identified device ID, and the device certificate and the user ID identified in step S115 are sent to the ownership certificate issuing server (step S116).
[0192] If the owner certification token is invalid (step S111), or if there is no corresponding entry in the verified ownership registration table (step S113), an error is notified to the ownership certificate issuing server 72 (step S117).
[0193] The processing of steps S102 to S105 is performed by the owner certification token verification unit 93 of the ownership certificate issuing server 72. When the device certificate and user ID have been received from the owner management server 71, a device certificate matching check is performed (step S102). In the device certificate matching check, it is confirmed whether the device certificate received from the owner management server 71 matches the first device certificate received from the device 2.
[0194] If the device certificates match, a user check is performed (step S103). In the user check, it is confirmed whether an entry for the user key table having the user ID received from the owner management server 71 exists. If the user 5 has sent a request to create a user account to the ownership certificate issuing server 72, an entry usually exists.
[0195] If a corresponding entry exists in the user key table, the user public key is obtained from the entry (step S104), and the owner certification token verification ends as a success.
[0196] If an error is notified from the owner management server 71 (step S117), if the device certificates do not match (step S102), or if there is no corresponding entry in the user key table (step S103), the device 2 is notified of the error (step S105). The owner certification token verification ends as a failure.
[0197] As described above, in the fourth embodiment, the ownership certificate issuing server 72 that issues ownership certificates can cooperate with the owner management server 71 that performs owner verification by using an owner certification token. This allows the ownership certificate issuing server 72 to issue an ownership certificate to the legitimate owner of the device 2 (user 5 in FIG. 29).
[0198] It is also possible to combine other initial registration methods with the fourth embodiment. For example, it is possible to set up a server that issues a CPS certificate to the device 2, and have that server accept the owner certification token issued by the owner management server 71. With this configuration, the user 5, who is the legitimate owner of the device 2, can issue a CPS certificate to the device 2.
[0199] The present invention is not limited to the above-described embodiments, and the components can be modified and embodied in practice without departing from the spirit of the invention. Furthermore, various inventions can be created by appropriately combining multiple components disclosed in the above-described embodiments. For example, configurations in which some components are omitted from all the components shown in each embodiment may also be considered. Furthermore, components described in different embodiments may be appropriately combined.
[0200] [Note] [Item 1] a first token issuing unit that issues a first token in response to a token issuance request from a user; a first storage unit that stores information about the user and the first token in association with each other; a second storage unit that stores ownership registration information of devices owned by the user; a first token receiving unit that receives the first token provided from the device; an owner verification unit, wherein information about the device that provided the first token is stored in the second storage unit, and which performs owner verification including verifying whether the first token accepted by the first token acceptance unit matches the first token in the first storage unit, and determines the user corresponding to the first token for which owner verification has succeeded as the owner of the device; a third storage unit configured to store verified data including information about the device whose owner has been determined. [Item 2] the first token has an expiration date; the owner verification includes verification based on the expiration date of the first token; Item 1. An information processing device according to item 1. [Item 3] a device registration accepting unit that accepts a device certificate including a first decryption key for the device from the user; a fourth storage unit that stores data including the device certificate accepted by the device registration acceptance unit; the first token accepting unit accepts the first token provided by the device based on verification of whether or not the device has a first encryption key corresponding to the first decryption key included in the device certificate stored in the fourth storage unit. Item 3. The information processing device according to item 1 or 2. [Item 4] a connection destination notification unit that notifies the device of information about a connection destination server; the second storage unit stores information about the server to be connected in association with the information about the device whose owner has been determined; 4. The information processing device according to any one of items 1 to 3. [Item 5] further comprising an erasure processing unit that deletes information about the verified data in the third storage unit in response to a request from the user whose owner verification has been successful. 5. The information processing device according to any one of items 1 to 4. [Item 6] a transfer processing unit that updates the verified data in the third storage unit with information about the new user by performing a process of changing the owner of the device to the new user based on a request from the user whose owner verification has succeeded and a request from a new user; 6. The information processing device according to any one of items 1 to 5. [Item 7] a user key pair generation unit that generates a pair of a second decryption key and a second encryption key for each user; a certificate of possession header issuing unit that issues a certificate of possession header including the second decryption key to the device; a possession certificate issuing unit that receives a device authentication code from the device and issues a possession certificate based on the possession certificate header and the device authentication code; an ownership certificate transfer unit that issues a transferred ownership certificate including the ownership certificate and data encrypted with the second encryption key to a server to which the device, whose owner has been determined, is connected; 7. The information processing device according to any one of items 1 to 6. [Item 8] a second token issuing unit that issues a second token indicating the user who is the owner of the device in response to a request from the device; 8. The information processing device according to any one of items 1 to 7. [Item 9] a user account creation request accepting unit that creates a user account including information of the user in response to a request from the user; a device registration accepting unit that accepts a device certificate including a first decryption key for the device from the user; a second token receiving unit that receives a request to verify the second token and a first device certificate held by the device from the device; an information disclosure unit that discloses information including the user related to the second token and the device certificate to the second token verification unit for verifying the second token; a second token verification unit that verifies the second token based on the information including the user disclosed by the information disclosure unit, the device certificate, the first device certificate, and information about the user in the user account; Equipped with Item 9. An information processing device according to item 8. [Item 10] Item 2. The information processing device; the device, the device includes a fifth storage unit that stores data including the first token, and an owner management unit that transmits the first token to the information processing device. Information processing system. [Item 11] the owner management unit causes the fifth storage unit to store data including the first token only when the expiration date of the first token stored in the fifth storage unit has expired or when the first token is not stored in the fifth storage unit; Item 11. The information processing system according to item 10. [Item 12] the device includes an initial registration processing unit that performs an initial registration process with a server to which the device is connected; the information processing device notifies the device of information about the server to which the device is connected; Item 12. The information processing system according to item 10 or 11. [Item 13] the initial registration process includes a process of requesting the destination server to issue a server certificate created using an encryption key held by the server; Item 13. The information processing system according to item 12. [Item 14] a user key pair generation unit that generates a pair of a second decryption key and a second encryption key for each user; a certificate of possession header issuing unit that issues a certificate of possession header including the second decryption key to the device; a possession certificate issuing unit that receives a device authentication code from the device and issues a possession certificate based on the possession certificate header and the device authentication code; a transferred ownership certificate issuing unit that issues a transferred ownership certificate including the ownership certificate and data encrypted with the second encryption key to a server to which the device, whose owner has been determined, is connected; a certificate issuing device; 14. The information processing system according to any one of items 10 to 13. [Item 15] The information processing device includes: a second token issuing unit that issues a second token indicating the user who is the owner of the device in response to a request from the device; a device registration accepting unit that accepts a device certificate including a first decryption key for the device from the user; an information disclosing unit that discloses information including the user related to the second token and the device certificate; the certificate issuing device, a user account creation request accepting unit that creates a user account including information of the user in response to a request from the user; a second token receiving unit that receives, from the device, a request to verify the second token and a first device certificate held by the device; a second token verification unit that verifies the second token based on the information including the user and the device certificate disclosed by the information disclosure unit, and based on the first device certificate and information of the user in the user account; Item 15. The information processing system according to item 14. [Item 16] issuing a first token in response to a user's token issuance request; storing the user information and the first token in a first storage unit in association with each other; storing ownership registration information of devices owned by the user in a second storage unit; accepting a first token provided by the device; information about the device that provided the first token is stored in the second storage unit, performing owner verification including verifying whether the received first token matches the first token in the first storage unit, and determining the user corresponding to the first token for which owner verification has succeeded as the owner of the device; storing verified data including information about the device whose owner has been determined in a third storage unit; An information processing program that causes a computer to execute the above. [Explanation of symbols]
[0201] 1 Registrar, 2 Device, 3 Database, 4 CPS Server, 5 User, 6 Network, 7 Rendezvous Server, 11 Owner Verification Token Issuance Unit, 12 Owner Verification Token Acceptance Unit, 13 Owner Verification Unit, 14 Device Registration Acceptance Unit, 15 Destination CPS Server Notification Unit, 16 Ownership Deletion Processing Unit, 17 Ownership Transfer Processing Unit, 21 Owner Management Unit, 22 Owner Verification Token Storage Unit, 23 Owner Verification Token Temporary Storage Unit, 24 Device Certificate Storage Unit, 25 Device Private Key Storage Unit, 26 Initial Registration Processing Unit, 27 CPS Private Key Storage Unit, 28 CPS Certificate Storage Unit, 29 Firmware Storage Unit, 41 Attacker, 42 CPS Server, 51 User Key Pair Generation Unit, 52 Ownership Certificate Header Issuance Unit, 53 Ownership Certificate Issuance Unit, 54 Ownership Certificate Transfer Unit, 61 Ownership Certificate Management Unit, 62 Device Authentication Information Storage Unit, 63 HMAC Private Key Storage Unit, 71 Owner Management Server, 72 Ownership certificate issuing server, 73 owner database, 74 ownership certificate database, 81 owner certification token issuing unit, 82 device detailed information disclosure unit, 91 user account creation request receiving unit, 92 owner certification token receiving unit, 93 owner certification token verifying unit, 101 owner certification token storage unit
Claims
1. a first token issuing unit that issues a first token in response to a token issuance request from a user; a first storage unit that stores information about the user and the first token in association with each other; a second storage unit that stores ownership registration information of devices owned by the user; a first token receiving unit that receives the first token provided from the device; an owner verification unit that stores information about the device that provided the first token in the second storage unit, performs owner verification including verifying whether the first token received by the first token receiving unit matches the first token in the first storage unit, and determines the user corresponding to the first token for which owner verification has succeeded as the owner of the device; and a third storage unit configured to store verified data including information about the device whose owner has been determined.
2. the first token has an expiration date; the owner verification includes verification based on the expiration date of the first token; The information processing device according to claim 1 .
3. a device registration accepting unit that accepts a device certificate including a first decryption key for the device from the user; a fourth storage unit that stores data including the device certificate accepted by the device registration acceptance unit; the first token accepting unit accepts the first token provided by the device based on verification of whether or not the device has a first encryption key corresponding to the first decryption key included in the device certificate stored in the fourth storage unit.
3. The information processing device according to claim 1 or 2.
4. a connection destination notification unit that notifies the device of information about a connection destination server; the second storage unit stores information about the server to be connected in association with the information about the device whose owner has been determined; 3. The information processing device according to claim 1 or 2.
5. further comprising an erasure processing unit that deletes information about the verified data in the third storage unit in response to a request from the user whose owner verification has been successful.
3. The information processing device according to claim 1 or 2.
6. a transfer processing unit that performs a process of changing the owner of the device to the new user based on a request from the user whose owner verification has been successful and a request from a new user, thereby updating the verified data in the third storage unit to information about the new user; 3. The information processing device according to claim 1 or 2.
7. a user key pair generation unit that generates a pair of a second decryption key and a second encryption key for each user; a possession certificate header issuing unit that issues a possession certificate header including the second decryption key to the device; a possession certificate issuing unit that receives a device authentication code from the device and issues a possession certificate based on the possession certificate header and the device authentication code; an ownership certificate transfer unit that issues a transferred ownership certificate including the ownership certificate and data encrypted with the second encryption key to a server to which the device, whose owner has been determined, is to be connected; 3. The information processing device according to claim 1 or 2.
8. a second token issuing unit that issues a second token indicating the user who is the owner of the device in response to a request from the device; 3. The information processing device according to claim 1 or 2.
9. a user account creation request accepting unit that creates a user account including information of the user in response to a request from the user; a device registration accepting unit that accepts a device certificate including a first decryption key for the device from the user; a second token receiving unit that receives a request for verifying the second token from the device and a first device certificate held by the device; an information disclosing unit that discloses information including the user related to the second token and the device certificate; a second token verification unit that verifies the second token based on the information including the user disclosed by the information disclosure unit, the device certificate, the first device certificate, and information about the user in the user account; Equipped with The information processing device according to claim 8 .
10. The information processing device according to claim 2; the device, the device includes a fifth storage unit that stores data including the first token, and an owner management unit that transmits the first token to the information processing device. Information processing system.
11. the owner management unit causes the fifth storage unit to store a new first token when the expiration date of the first token stored in the fifth storage unit has expired; The information processing system according to claim 10.
12. the device includes an initial registration processing unit that performs an initial registration process with a server to which the device is connected; the information processing device notifies the device of information about the server to which the device is connected; The information processing system according to claim 10.
13. the initial registration process includes a process of requesting the destination server to issue a server certificate created using an encryption key held by the server; The information processing system according to claim 12.
14. a user key pair generation unit that generates a pair of a second decryption key and a second encryption key for each user; a possession certificate header issuing unit that issues a possession certificate header including the second decryption key to the device; a possession certificate issuing unit that receives a device authentication code from the device and issues a possession certificate based on the possession certificate header and the device authentication code; a transferred ownership certificate issuing unit that issues a transferred ownership certificate including the ownership certificate and data encrypted with the second encryption key to a server to which the device, whose owner has been determined, is connected; a certificate issuing device; The information processing system according to claim 10.
15. The information processing device includes: a second token issuing unit that issues a second token indicating the user who is the owner of the device in response to a request from the device; a device registration accepting unit that accepts a device certificate including a first decryption key for the device from the user; an information disclosing unit that discloses information including the user related to the second token and the device certificate; the certificate issuing device, a user account creation request accepting unit that creates a user account including information of the user in response to a request from the user; a second token receiving unit that receives, from the device, a request to verify the second token and a first device certificate held by the device; a second token verification unit that verifies the second token based on the information including the user disclosed by the information disclosure unit and the device certificate, and based on the first device certificate and information about the user of the user account, The information processing system according to claim 14.
16. issuing a first token in response to a token issuance request from a user; storing the user information and the first token in a first storage unit in association with each other; storing ownership registration information of devices owned by the user in a second storage unit; accepting a first token provided by the device; information about the device that provided the first token is stored in the second storage unit, performing owner verification including verifying whether the received first token matches the first token in the first storage unit, and determining the user corresponding to the first token for which owner verification has succeeded as the owner of the device; storing verified data including information on the device whose owner has been determined in a third storage unit; An information processing program that causes a computer to execute the above.
Citation Information
Patent Citations
Authority management server, authority management system, token verification method, and token verification program
JP2007149010A
Data reference system and application authentication method
JP2014106652A
Distribution method, playback device, distribution device, transfer control program and distribution control program
JP2015177344A
Authentication system, communication system, authentication and approval method, and program
JP2017228145A
Information processing device, information processing method, and program
JP2019096090A