Identity authentication method based on building internet of things

By adopting a dual blockchain architecture and multi-level authentication mechanism in the building Internet of Things, user identity privacy and data security issues are resolved, anonymous access and permission verification are achieved, and the security and privacy protection capabilities of the building Internet of Things system are improved.

WO2025214178A1PCT designated stage Publication Date: 2025-10-16GD MIDEA HEATING & VENTILATING EQUIP CO LTD +1
View PDF 5 Cites 0 Cited by

Patent Information

Application Number
PCT/CN2025/085748
Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
Priority Date
2024-04-09
Filing Date
2025-03-28
Publication Date
2025-10-16

AI Technical Summary

Technical Problem

Existing building Internet of Things systems have shortcomings in user identity privacy protection and data security. In particular, users with higher permissions face a greater risk of attack, and devices are limited by resources and computing power, making it difficult to ensure that private data is not leaked.

Method used

It adopts a dual-blockchain architecture, with the private blockchain storing real user information and the alliance blockchain storing anonymous user information. Anonymous identification and credentials are generated by the server to achieve anonymous access and permission verification for users. Combined with multi-level management node authentication, it ensures user identity privacy and data security.

Benefits of technology

Effectively isolate user identity information at different levels, reduce attack risks, improve data security, protect user and device privacy data, and reduce the risk of illegal access.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN2025085748_16102025_PF_FP_ABST
    Figure CN2025085748_16102025_PF_FP_ABST
Patent Text Reader

Abstract

An identity authentication method based on a building Internet of Things. The method comprises: a client sending a first request message for acquiring an anonymous identifier to a server; when the first request message passes verification against a real user information table previously uploaded to a private blockchain, the server generating an anonymous identifier on the basis of a user authentication identifier, uploading anonymous user information comprising the anonymous identifier to an anonymous user information table of a consortium blockchain, and returning the anonymous identifier to the client; the client sending a second request message for acquiring an anonymous credential to a first management node; and when it is verified on the basis of the anonymous user information table that a user corresponding to the anonymous identifier has permission to access a target building device, the first management node generating an anonymous credential corresponding to the anonymous identifier, and returning the anonymous credential to the client.
Need to check novelty before this filing date? Find Prior Art

Description

Identity authentication method based on building internet of things

[0001] Cross-reference to Related Applications

[0002] This application is based on the Chinese patent application with the application number of 202410423361.0 and the application date of April 9, 2024, and claims the priority of the Chinese patent application, the whole content of which is incorporated into the present application by reference. TECHNICAL FIELD

[0003] The present application relates to the technical field of Internet of Things and blockchain, in particular, to an identity authentication method based on building Internet of Things. BACKGROUND

[0004] Building Internet of Things refers to connecting and communicating various sensing devices and systems inside a building through the Internet to realize data collection and exchange. The development of this technology aims to improve the management efficiency, security and user experience of the building. However, traditional building Internet of Things has various security problems, such as single point failure and data privacy leakage.

[0005] Blockchain, as a distributed ledger technology, is built on a decentralized network. Once a transaction is authenticated by all nodes in the network, it is impossible to modify the transaction without modifying the data in the previous block. Therefore, blockchain can provide secure identity authentication and data exchange mechanism for Internet of Things.

[0006] Current building Internet of Things systems based on blockchain mostly ignore the identity privacy of users. However, users with higher permissions in building Internet of Things are often at greater risk of attack. Once broken, it will cause great damage to the interests of users themselves and the operation of the entire building Internet of Things. Building devices are limited by limited resources and computing power, making it difficult to ensure whether their private data is leaked. SUMMARY

[0007] The present application aims to at least solve one of the technical problems existing in the prior art. To this end, the present application provides an identity authentication method based on building Internet of Things to improve the security of data.

[0008] In a first aspect, the present application provides an identity authentication method based on building Internet of Things, comprising:

[0009] The user terminal sends a first request message for obtaining an anonymous identifier to the server; the first request message includes a user authentication identifier, and the user authentication identifier represents that the user is authenticated by the server;

[0010] The server generates an anonymous identifier according to the user authentication identifier, uploads anonymous user information containing the anonymous identifier to an anonymous user information table of the consortium blockchain, and returns the anonymous identifier to the user terminal, if the first request message is verified based on the real user information table pre-uploaded to the private blockchain; wherein the real user information table stores real identity information of the user.

[0011] The user terminal sends a second request message for obtaining an anonymous credential to the first management node; the second request message includes the anonymous identifier and a device identifier of a target building device.

[0012] The first management node generates an anonymous credential corresponding to the anonymous identifier, and returns the anonymous credential to the user terminal, if the user corresponding to the anonymous identifier has the access right to the target building device based on the anonymous user information table.

[0013] According to the identity authentication method based on building Internet of Things, the real identity information of the user is stored in the private blockchain, the server verifies the user according to the real identity information stored in the private blockchain, generates an anonymous identifier and a pre-credential for the user, stores the anonymous information of the user in the consortium blockchain, and the user requests an anonymous credential with the right to anonymously access the building device from the trusted management node through the pre-credential. The trusted associated device verifies the user according to the anonymous information of the user in the consortium blockchain, and issues an anonymous credential if the verification is passed. Through this double-blockchain verification method, the private blockchain is used to store the real user information table, and the consortium blockchain is used to store the anonymous user information table, which helps to isolate different levels of identity information of the user, realizes anonymous access of the user to the building device, and only the user and the server can track the real information of the user, protects the identity privacy of the user, reduces the risk of attack, and improves the security of data.

[0014] According to an embodiment of the present application, the first management node generates an anonymous credential corresponding to the anonymous identifier, if the user corresponding to the anonymous identifier has the access right to the target building device based on the anonymous user information table, including:

[0015] The first management node forwards the second request message to a plurality of second management nodes, if the second request message is verified.

[0016] The second management node obtains an anonymous user information table corresponding to the anonymous identifier from the alliance blockchain, and generates a sub-anonymous credential corresponding to the anonymous identifier in a case where it is verified according to the anonymous user information table that a user corresponding to the anonymous identifier has the access right to the target building device, and sends the sub-anonymous credential to the first management node.

[0017] The first management node generates an anonymous credential according to at least a preset number of sub-anonymous credentials in a case where the at least preset number of sub-anonymous credentials are received.

[0018] The embodiment reduces the possibility of illegal users accessing building devices and reduces the opportunity of illegal users and management nodes jointly committing crimes by forwarding the request message to a plurality of second management nodes, authenticating the user by the plurality of second management nodes respectively, and generating an anonymous credential after a preset number of second management nodes are authenticated.

[0019] According to an embodiment of the present application, the method further comprises:

[0020] The user terminal sends a user identifier to the server.

[0021] The server generates a building device list accessible by the user based on the role level of the user identifier, generates a user authentication identifier uniquely identifying the user identity based on the user identifier, generates a pre-credential of the user according to the building device list and the user authentication identifier, and sends the pre-credential to the user terminal; the pre-credential represents the access right of the user to the building device.

[0022] The user terminal generates a first key pair in a case where the pre-credential is verified to be valid, and returns the user authentication identifier and a first public key in the first key pair to the server.

[0023] The server generates real identity information of the user according to the user authentication identifier and the first public key, and uploads the real identity information to a real user information table of the private blockchain.

[0024] In this embodiment, the server can determine the building devices accessible by the user according to the role level of the user, provide the user with a pre-credential indicating the access right of the user to the building device, inform the user which building devices can be accessed, and upload the real identity information generated based on the public key fed back by the user to the alliance blockchain, so that the real information of the user is not easily tampered with, and the security of the data is further improved.

[0025] According to an embodiment of the present application, the method further comprises:

[0026] The user terminal generates a second key pair based on the pre-credential determining that the user has the access right to the target building equipment, generates the first request message based on the user authentication identifier and a second public key in the second key pair, and sends the first request message for obtaining an anonymous identifier to the server;

[0027] The server generates anonymous user information corresponding to the user based on the anonymous identifier and the second public key, and uploads the anonymous user information to an anonymous user information table of the alliance block chain.

[0028] In this embodiment, the user terminal generates a second key pair different from the first key pair based on the pre-credential determining that the user has the access right to the target building equipment, so that the server can generate anonymous user information based on the second key and the anonymous identifier, and the server uploads the anonymous user information to the alliance block chain, so that other devices can only find the anonymous information of the user in the alliance block chain and cannot trace back to the real identity information of the user, further improving the security of the data and the supervisability of the data.

[0029] According to an embodiment of the present application, the method further comprises:

[0030] The user terminal sends an access request to the target building equipment, and the access request comprises the anonymous credential;

[0031] The target building equipment verifies the anonymous credential based on the third public key, and feeds back device data corresponding to the access request to the user terminal in the case that the anonymous credential is verified to be passed.

[0032] In this embodiment, the user can request to access the target building equipment through the anonymous credential, and the target building equipment can verify the anonymous credential through the third public key, and allow the user to access in the case that the verification is passed. In the verification process, the target building equipment does not contact the real identity information of the user, realizes the anonymous access of the user to the building equipment, fully safeguards the identity privacy of the user, and further improves the security of the private data.

[0033] According to an embodiment of the present application, the method further comprises:

[0034] The building equipment sends a third request information encrypted by a key to the server, and the third request information is used for requesting to obtain a device credential, and the third request information comprises a device identifier;

[0035] The server decrypts the third request information, and in a case where the decrypted third request information is verified, generates a device authentication identifier and a device credential according to the device identifier, uploads the device authentication identifier and the key to a device information table of the consortium blockchain, and returns the device credential to the building device;

[0036] The building device uploads sensing data generated by the building device to a target management node based on the device credential;

[0037] The target management node processes the sensing data in a case where the device credential is verified.

[0038] In this embodiment, the building device needs to be authenticated by the server when requesting to join the building Internet of Things, and the server issues a device credential and a device authentication identifier for the building device after authentication, and uploads the device authentication identifier to the consortium blockchain, so as to reduce the risk of illegal device access. The building device that passes the verification can upload sensing data based on the device credential, thereby protecting the privacy and security of device data and the authenticity and effectiveness of the sensing data uploaded by the device.

[0039] In a second aspect, the present application provides a building Internet of Things-based identity authentication method, comprising:

[0040] sending a first request message for obtaining an anonymous identifier to a server, the first request message comprising a user authentication identifier, the user authentication identifier representing that the user is authenticated by the server, so that the server generates an anonymous identifier according to the user authentication identifier in a case where the first request message is verified based on a real user information table uploaded to a private blockchain in advance, uploads anonymous user information containing the anonymous identifier to an anonymous user information table of a consortium blockchain, and returns the anonymous identifier; wherein the real user information table stores real identity information of the user;

[0041] sending a second request message for obtaining an anonymous credential to a first management node; the second request message comprises the anonymous identifier and a device identifier of a target building device, so that the first management node generates an anonymous credential corresponding to the anonymous identifier in a case where the user corresponding to the anonymous identifier has the access right to the target building device based on the anonymous user information table, and returns the anonymous credential; the anonymous credential is used to prove that the user has the access right to the target building device.

[0042] According to one embodiment of the present application, the method further comprises:

[0043] sending a user identifier to a server, so that the server generates a list of building devices accessible by the user based on a role level of the user identifier, and generates a user authentication identifier uniquely identifying a user identity based on the user identifier, generates a pre-certificate of the user according to the list of building devices and the user authentication identifier, and returns the pre-certificate; the pre-certificate represents the access right of the user to the building device;

[0044] generating a first key pair in a case where the pre-certificate is verified to be valid;

[0045] returning the user authentication identifier and a first public key in the first key pair to the server, so that the server generates real identity information of the user according to the user authentication identifier and the first public key, and uploads the real identity information to a real user information table of a private block chain.

[0046] According to an embodiment of the present application, the method further comprises:

[0047] generating a second key pair in a case where it is determined based on the pre-certificate that the user has the right to access a target building device;

[0048] generating the first request message based on the user authentication identifier and a second public key in the second key pair;

[0049] sending the first request message for obtaining an anonymous identifier to a server, so that the server generates anonymous user information corresponding to the user based on the anonymous identifier and the second public key, and uploads the anonymous user information to an anonymous user information table of a consortium block chain.

[0050] According to an embodiment of the present application, the method further comprises:

[0051] sending an access request to a target building device, the access request including the anonymous certificate, so that the target building device verifies the anonymous certificate based on a third public key, and feeds back device data corresponding to the access request to the user terminal in a case where the anonymous certificate is verified to be valid.

[0052] In a third aspect, the present application provides an identity authentication method based on building Internet of Things, comprising:

[0053] obtaining a first request message for obtaining an anonymous identifier sent by a user terminal; the first request message includes a user authentication identifier, and the user authentication identifier represents that the user is authenticated by a server;

[0054] generating an anonymous identifier according to the user authentication identifier in a case where the first request message is verified to be valid based on a real user information table pre-uploaded to a private block chain; the real user information table stores real identity information of the user.

[0055] uploading the anonymous user information comprising the anonymous identifier into an anonymous user information table of the consortium blockchain, and returning the anonymous identifier to the user terminal, so as to send, by the user terminal, a second request message for obtaining an anonymous credential to the first management node, the second request message comprising the anonymous identifier and a device identifier of a target building device, so as to cause the first management node to generate an anonymous credential corresponding to the anonymous identifier in a case where it is verified, based on the anonymous user information table, that a user corresponding to the anonymous identifier has an access right to the target building device, and return the anonymous credential to the user terminal; the anonymous credential is used to prove that the user has the access right to the target building device.

[0056] According to an embodiment of the present application, the method further comprises:

[0057] obtaining a user identifier sent by the user terminal;

[0058] generating a list of building devices accessible to the user based on a role level of the user identifier, and generating a user authentication identifier uniquely identifying a user identity based on the user identifier;

[0059] generating a pre-credential of the user according to the list of building devices and the user authentication identifier; the pre-credential represents an access right of the user to the building devices;

[0060] sending the pre-credential to the user terminal, so as to cause the user terminal to generate a first key pair in a case where it is verified that the pre-credential is valid, and return the user authentication identifier and a first public key in the first key pair;

[0061] generating real identity information of the user according to the user authentication identifier and the first public key;

[0062] uploading the real identity information into a real user information table of the private blockchain.

[0063] According to an embodiment of the present application, the first request message is generated by the user terminal based on a user authentication identifier and a second public key in a second key pair, the second key pair is generated by the user terminal in a case where it is determined, based on the pre-credential, that the user has an access right to a target building device; the method further comprises:

[0064] generating anonymous user information corresponding to the user based on the anonymous identifier and the second public key, and uploading the anonymous user information into an anonymous user information table of the consortium blockchain.

[0065] According to an embodiment of the present application, the method further comprises:

[0066] receive third request information encrypted by a key sent by a building device; the third request information is used to request to obtain a device credential, and the third request information includes a device identifier;

[0067] decrypt the third request information, and in a case where the decrypted third request information is verified, generate a device authentication identifier and a device credential according to the device identifier;

[0068] upload the device authentication identifier and the key into a device information table of a consortium blockchain, and return the device credential, so that the building device transmits sensing data generated by the building device to a target management node based on the device credential, so that the target management node processes the sensing data in a case where the device credential is verified.

[0069] In a fourth aspect, the present application provides an identity authentication method based on building Internet of Things, comprising:

[0070] obtain a second request message for obtaining an anonymous credential sent by a user terminal; the second request message includes an anonymous identifier and a device identifier of a target building device; wherein the anonymous identifier is generated by a server according to a user authentication identifier in a case where a first request message is verified based on a real user information table pre-uploaded to a private blockchain, and the first request message is a message for obtaining an anonymous identifier sent by a user terminal to a server;

[0071] in a case where a user corresponding to the anonymous identifier has an access right to the target building device based on an anonymous user information table, generate an anonymous credential corresponding to the anonymous identifier; the anonymous credential is used to prove that the user has an access right to the target building device; the anonymous user information table is obtained from a consortium blockchain, and anonymous user information of the anonymous identifier in the anonymous user information table is uploaded to the consortium blockchain by the server;

[0072] return the anonymous credential to the user terminal.

[0073] According to an embodiment of the present application, the anonymous credential corresponding to the anonymous identifier is generated in a case where the user corresponding to the anonymous identifier has an access right to the target building device based on the anonymous user information table, comprising:

[0074] In the case of verifying that the second request message passes, the second request message is forwarded to a plurality of second management nodes, so that the second management nodes obtain an anonymous user information table corresponding to the anonymous identifier from a consortium blockchain, in the case of verifying that a user corresponding to the anonymous identifier has access rights to the target building device according to the anonymous user information table, generating a sub-anonymous credential corresponding to the anonymous identifier, and returning the sub-anonymous credential.

[0075] In the case of receiving at least a preset number of sub-anonymous credentials, generating an anonymous credential according to the at least a preset number of sub-anonymous credentials.

[0076] In the fifth aspect, the present application provides a building Internet of Things-based identity authentication device, comprising:

[0077] The first sending module is configured to send a first request message for obtaining an anonymous identifier to a server, the first request message comprising a user authentication identifier, the user authentication identifier representing that a user is authenticated by the server, so that the server generates an anonymous identifier according to the user authentication identifier in the case of verifying that the first request message passes based on a real user information table pre-uploaded to a private blockchain, uploads anonymous user information containing the anonymous identifier to an anonymous user information table of a consortium blockchain, and returns the anonymous identifier; wherein the real user information table stores real identity information of the user.

[0078] The second sending module is configured to send a second request message for obtaining an anonymous credential to a first management node; the second request message comprising the anonymous identifier and a device identifier of a target building device, so that the first management node generates an anonymous credential corresponding to the anonymous identifier in the case of verifying that a user corresponding to the anonymous identifier has access rights to the target building device based on the anonymous user information table, and returns the anonymous credential; the anonymous credential is used to prove that the user has access rights to the target building device.

[0079] In the sixth aspect, the present application provides a building Internet of Things-based identity authentication device, comprising:

[0080] The first obtaining module is configured to obtain a first request message for obtaining an anonymous identifier sent by a user terminal; the first request message comprising a user authentication identifier, the user authentication identifier representing that a user is authenticated by a server;

[0081] The first generating module is configured to generate an anonymous identifier according to the user authentication identifier in the case of verifying that the first request message passes based on a real user information table pre-uploaded to a private blockchain; wherein the real user information table stores real identity information of the user.

[0082] an uploading module, configured to upload anonymous user information containing the anonymous identifier to an anonymous user information table of a consortium blockchain, and return the anonymous identifier to the user terminal, so that the user terminal sends a second request message for obtaining an anonymous credential to the first management node, the second request message comprising the anonymous identifier and a device identifier of a target building device, so that the first management node generates an anonymous credential corresponding to the anonymous identifier in a case where it is verified based on the anonymous user information table that a user corresponding to the anonymous identifier has access authority to the target building device, and returns the anonymous credential to the user terminal; the anonymous credential is used to prove that the user has access authority to the target building device.

[0083] In a seventh aspect, the present application provides a building IoT-based identity authentication apparatus, comprising:

[0084] a second obtaining module, configured to obtain a second request message for obtaining an anonymous credential sent by a user terminal; the second request message comprises an anonymous identifier and a device identifier of a target building device; wherein the anonymous identifier is generated by a server according to a user authentication identifier in a case where it is verified based on a real user information table pre-uploaded to a private blockchain that a first request message is passed, and the first request message is a message for obtaining an anonymous identifier sent by a user terminal to a server;

[0085] a second generating module, configured to generate an anonymous credential corresponding to the anonymous identifier in a case where it is verified based on an anonymous user information table that a user corresponding to the anonymous identifier has access authority to the target building device; the anonymous credential is used to prove that the user has access authority to the target building device; the anonymous user information table is obtained from a consortium blockchain, and anonymous user information containing the anonymous identifier in the anonymous user information table is obtained by uploading the anonymous user information to the consortium blockchain by the server;

[0086] a returning module, configured to return the anonymous credential to the user terminal.

[0087] In an eighth aspect, the present application provides an electronic device, comprising a memory, a processor, and a computer program stored in the memory and executable on the processor, and the processor implements the building IoT-based identity authentication method according to the second aspect, the third aspect or the fourth aspect when executing the computer program.

[0088] In a ninth aspect, the present application provides a non-transitory computer readable storage medium having a computer program stored thereon, and the computer program is executable by a processor to implement the building IoT-based identity authentication method according to the first aspect, the second aspect, the third aspect or the fourth aspect.

[0089] In a tenth aspect, the application provides a chip, comprising a processor and a communication interface, the communication interface being coupled with the processor, and the processor being configured to run programs or instructions to implement the building IoT-based identity authentication method according to the first aspect, the second aspect, the third aspect or the fourth aspect.

[0090] In an eleventh aspect, the application provides a computer program product, comprising a computer program configured to implement the building IoT-based identity authentication method according to the first aspect, the second aspect, the third aspect or the fourth aspect when executed by a processor.

[0091] The one or more technical solutions described above in the embodiments of the application have at least one of the following technical effects:

[0092] According to the building IoT-based identity authentication method, the real identity information of a user is stored in a private blockchain, a server verifies the user according to the real identity information stored in the private blockchain, and generates an anonymous identifier and a pre-certificate for the user, stores the anonymous information of the user in a consortium blockchain, and the user requests an anonymous certificate with an anonymous access right to a building device from a trusted management node through the pre-certificate, and a trusted associated device verifies the user according to the anonymous information of the user in the consortium blockchain, and issues an anonymous certificate if the verification is passed. Through this double-blockchain verification method, the private blockchain is used to store a real user information table, and the consortium blockchain is used to store an anonymous user information table, which helps to isolate different levels of identity information of the user, realizes anonymous access of the user to the building device, and only the user and the server can track the real information of the user, thereby protecting the identity privacy of the user, reducing the risk of being attacked, and improving the security of data.

[0093] Furthermore, in some embodiments, the building device needs to be authenticated by the server when requesting to join the building IoT, and the server issues a device certificate and a device authentication identifier for the building device after authentication, and uploads the device authentication identifier to the consortium blockchain, so as to reduce the risk of illegal device access, and the verified building device can upload sensing data by means of the device certificate, thereby protecting the privacy and security of device data and the real and effective sensing data uploaded by the device.

[0094] Additional aspects and advantages of the application will be in part apparent and in part pointed out hereinafter. BRIEF DESCRIPTION OF DRAWINGS

[0095] The above and / or additional aspects and advantages of the application will become apparent and be readily appreciated from the following description of the embodiments, taken in conjunction with the accompanying drawings, in which:

[0096] Fig. 1 is an architecture diagram of a building Internet of Things based identity authentication system according to an embodiment of the present application;

[0097] Fig. 2 is a flow diagram of a building Internet of Things based identity authentication method according to an embodiment of the present application;

[0098] Fig. 3 is a diagram of a scenario example according to an embodiment of the present application;

[0099] Fig. 4 is a diagram of a scenario example according to an embodiment of the present application;

[0100] Fig. 5 is a diagram of a scenario example according to an embodiment of the present application;

[0101] Fig. 6 is a diagram of a scenario example according to an embodiment of the present application;

[0102] Fig. 7 is a flow diagram of a building Internet of Things based identity authentication method according to an embodiment of the present application;

[0103] Fig. 8 is a flow diagram of a building Internet of Things based identity authentication method according to an embodiment of the present application;

[0104] Fig. 9 is a flow diagram of a building Internet of Things based identity authentication method according to an embodiment of the present application;

[0105] Fig. 10 is a structural diagram of a building Internet of Things based identity authentication apparatus according to an embodiment of the present application;

[0106] Fig. 11 is a structural diagram of a building Internet of Things based identity authentication apparatus according to an embodiment of the present application;

[0107] Fig. 12 is a structural diagram of a building Internet of Things based identity authentication apparatus according to an embodiment of the present application;

[0108] Fig. 13 is a structural diagram of an electronic device according to an embodiment of the present application. DETAILED DESCRIPTION

[0109] The technical solutions in the embodiments of the present application will be described clearly below with reference to the drawings in the embodiments of the present application. Obviously, the described embodiments are only some of the embodiments of the present application, rather than all the embodiments of the present application. Based on the embodiments in the present application, all other embodiments obtained by those of ordinary skill in the art belong to the scope of protection of the present application.

[0110] The terms "first", "second", etc. in the specification and claims of the present application are used to distinguish similar objects, and are not used to describe a specific order or sequence. It should be understood that the data used in this way can be interchanged under appropriate circumstances, so that the embodiments of the present application can be implemented in an order other than those illustrated or described herein, and the objects distinguished by "first", "second", etc. are generally of a kind and do not limit the number of objects, for example, the first object can be one or more. In addition, "and / or" in the specification and claims indicates at least one of the connected objects, and the character " / " generally indicates that the objects before and after are in an "or" relationship.

[0111] The identity authentication method based on building Internet of Things provided by the embodiments of the present application will be described in detail below in conjunction with the drawings, specific embodiments and application scenarios.

[0112] As shown in FIG. 1, FIG. 1 is a system architecture diagram of the embodiments of the present application. The system is composed of a private blockchain, a consortium blockchain, a device service provider, a building management node (divided into a trusted management node MN and other management nodes MN), a building device and a user. The private blockchain takes the device service provider and the trusted management node as the blockchain node, and stores a real user information table; the consortium blockchain takes the device service provider, the building management node, the building device and the user as the blockchain node, and stores an anonymous user information table and a device information table. Here, the device service provider does not necessarily have only one, but can also be a combination of multiple different device service providers.

[0113] In the system, the device service provider can issue a device certificate for the building device, and the building device can upload sensing data to the building management node through the device certificate. The device service provider can also issue a pre-certificate for the user to prove the user's identity and corresponding permissions. Through the permissions defined in the pre-certificate, the user can apply to the building management node to obtain an anonymous certificate. The building management node can issue an anonymous certificate for the user to a specific building device, which can be used to prove that the user has access to the specific device, while not disclosing any information of the user. The user can use the anonymous certificate to access the device service, and the building device can verify whether the user has the permission through the anonymous certificate, but cannot obtain the user's identity and permission information.

[0114] In the system, the building device refers to various devices used to manage and monitor the internal facilities and devices of a building. These devices can include but are not limited to access control systems, surveillance cameras, fire alarm systems, air conditioning and heating systems, elevator and stairwell lighting systems, intelligent lighting systems, intelligent door lock systems, intelligent building management systems, etc. These devices can be connected to the Internet through Internet of Things technology to realize remote monitoring and control, and improve the safety, comfort and efficiency of the building.

[0115] In the system, the combination of the blockchain and the Internet of Things technology can realize a decentralized identity authentication and management mechanism, avoid single point of failure, and the double blockchain structure can improve the security of the system. The private blockchain is used to store the real user information table, and the consortium blockchain is used to store the anonymous user information table and the device information table. This separation helps to isolate the different levels of identity information of the user and reduces the risk of attack.

[0116] As shown in FIG. 2, the embodiment of the present application provides a building Internet of Things based identity authentication method. The method can include:

[0117] Step 201, the user terminal sends a first request message for obtaining an anonymous identifier to the server; the first request message includes a user authentication identifier, and the user authentication identifier represents that the user has been authenticated by the server.

[0118] In the embodiment of the present application, the user can interact with the building Internet of Things by operating the user terminal. The user terminal can be any terminal device that can access the network. The terminal device includes but is not limited to mobile phones, tablet computers, notebook computers and other portable communication devices with touch-sensitive surfaces (such as touch screen displays and / or touchpads). It should also be understood that in some embodiments, the terminal device can not be a portable communication device, but a desktop computer with a touch-sensitive surface (such as a touch screen display and / or a touchpad). In some embodiments, the terminal device can also be a smart wearable device, such as a smart watch, a smart bracelet, smart glasses or a smart head-mounted device, etc.

[0119] In the embodiment of the present application, the server can be one server, and can also be a server cluster including a plurality of servers. The server can be, for example, an equipment service provider ESP in the system of FIG. 1.

[0120] In the embodiment of the present application, the user authentication identifier is generated by the server for the user after the user is authenticated by the server. The user identifier is used to identify that the user has been authenticated by the server. After being authenticated by the server, the user can send the first request information to the server through the user terminal.

[0121] In addition to the user authentication identifier, the first request message can also include signature information of the user terminal through a private key and a public key of the user terminal, so that the server can decrypt the signature information through the public key of the user terminal to verify whether the sender of the first request message is the user terminal. The first request message can also include a timestamp representing the time of sending the first request message, so that the server can verify the validity of the message through the timestamp.

[0122] In step 202, the server generates an anonymous identifier according to the user authentication identifier, if the first request message is verified based on the real user information table pre-uploaded to the private blockchain.

[0123] In the embodiments of the present application, the private blockchain refers to a blockchain whose writing permission is controlled by an organization or an institution, only authorized nodes can access it, and the access nodes can participate in reading and writing data according to rules. A real user information table can be pre-uploaded in the private blockchain, and the real user information table can include real information of a user, such as an identifier representing the identity of the user, a public key of the user, and the like.

[0124] The server can obtain the real user information table from the private blockchain, and verify the first request message through the real identity information in the real user information table, for example, verify the signature in the first request information through the public key, verify the validity of the message using the timestamp, and the like.

[0125] If the first request message is verified by the server, it indicates that the first request message is sent by a legal user and is a valid message, and the server can generate an anonymous identifier corresponding to the user according to the user authentication identifier. For example, the server can perform mathematical calculation on the user authentication identifier to generate the corresponding anonymous identifier.

[0126] In step 203, the server uploads the anonymous user information containing the anonymous identifier to the anonymous user information table of the consortium blockchain.

[0127] The server can also generate anonymous user information according to the anonymous identifier, and upload the anonymous user information to the consortium blockchain to store the anonymous user information in the form of an anonymous user information table. The anonymous user information can include an anonymous identifier, a hash value obtained by performing hash operation on the anonymous identifier, a public key prepared by the user for anonymous access, and the like.

[0128] In step 204, the server returns the anonymous identifier to the user end.

[0129] The server can send the anonymous identifier to the user end in the form of plaintext or ciphertext, and further, in order to ensure the security of the data, the server can also add a signature in the message returned to the user end, so that the user end can verify the signature after receiving the message to ensure the legality of the source of the message.

[0130] In step 205, the user end sends a second request message for obtaining an anonymous credential to the first management node, and the second request message includes the anonymous identifier and the device identifier of the target building device.

[0131] In the embodiments of the present application, the first management node can be a trusted management node, such as the trusted management node MN shown in FIG. 1. The trusted management node refers to a node with high trust and authority in the blockchain network, responsible for verifying transactions, packaging blocks, and maintaining the safe and stable operation of the entire blockchain network. The trusted management node is usually assumed by an entity or organization that has been certified and authorized, and its participation and behavior is subject to strict supervision and regulation. The first management node can be a server, and can also be a server cluster including multiple servers.

[0132] The second request message can include an anonymous identifier of the user and a device identifier corresponding to the target building device to be accessed.

[0133] Of course, in some embodiments, only the verified building device can carry out activities in the building Internet of Things, and therefore, in order to enhance the security of data, the device identifier in the second request message can be replaced by a device authentication identifier, which is an identifier issued by the server to the building device after verification of the building device. The device authentication identifier is used to prove the legality of the building device in carrying out activities in the building Internet of Things. The authentication process of the building device will be explained in detail in subsequent embodiments.

[0134] In order to improve the security of data in the transmission process, in addition to the anonymous identifier and the device identifier, the second request message can also include a signature, a timestamp, and other verification information.

[0135] Step 206, the first management node generates an anonymous credential corresponding to the anonymous identifier in the case that the user corresponding to the anonymous identifier has the access right to the target building device based on the anonymous user information table.

[0136] In this embodiment, the anonymous user information table can contain multi-dimensional anonymous user information of a user, such as the anonymous identifier mentioned above, the hash value obtained by performing a hash operation on the anonymous identifier, the public key prepared by the user for anonymous access, and the like. The first management node can verify whether the user has the access right to the building device based on the anonymous user information. For example, by verifying the device identifier corresponding to the target building device in the second request message, it is verified whether the building device is within the access right of the user. The second request message can also include information verifying whether it is within the access right of the user, for example, the information can be generated by the server after authenticating the user, and the server can construct a Merkle tree according to the list of building devices accessible to the user, and the Merkle tree root MerkleRooti, path, etc. as the information, so that the first management node can verify whether the target building device is in the specified leaf node of the Merkle tree according to the data information in the second request message, so as to judge whether the target building device is a device accessible to the user. If the verification is passed, the anonymous credential is issued, and if the verification is not passed, the issuance is refused.

[0137] In some embodiments, the first management node generates an anonymous credential corresponding to the anonymous identifier in the case where it is verified based on the anonymous user information table that the user corresponding to the anonymous identifier has the access right to the target building device, including:

[0138] The first management node forwards the second request message to the plurality of second management nodes in the case where it is verified that the second request message is passed.

[0139] The second management node obtains the anonymous user information table corresponding to the anonymous identifier from the alliance blockchain, and generates a sub-anonymous credential corresponding to the anonymous identifier in the case where it is verified according to the anonymous user information table that the user corresponding to the anonymous identifier has the access right to the target building device, and sends the sub-anonymous credential to the first management node.

[0140] The first management node generates an anonymous credential according to at least a preset number of sub-anonymous credentials in the case where it receives at least a preset number of sub-anonymous credentials.

[0141] Specifically, the second management node can be distinguished from the first management node, and the second management node can be multiple. The first management node can send the second request message to the second management node and sign it, multiple second management nodes can verify the signature, and after verification, the anonymous user information table can be downloaded from the alliance blockchain according to the anonymous identifier, and the anonymous user information in the anonymous user information table is used to verify whether the user has access rights to the target building device, if yes, a sub-anonymous credential is generated, and the first management node returns the sub-anonymous credential to the first management node. After receiving the reply of at least k second management nodes, at least k sub-anonymous credentials can be aggregated into a complete anonymous credential, for example, a threshold algorithm is used to aggregate k sub-anonymous credentials to obtain a complete anonymous credential.

[0142] This embodiment reduces the possibility of illegal users accessing building devices and reduces the opportunity for illegal users to collude with management nodes, further improving the security of data.

[0143] Step 207, the first management node returns the anonymous credential to the user end.

[0144] The first management node can return the anonymous credential to the user end in plaintext or ciphertext, and further, in order to ensure the security of data, the server can also add a signature to the message returned to the user end. anonymous credential, so that the user end can verify the signature after receiving the message to ensure the legality of the source of the message.

[0145] According to the identity authentication method based on building Internet of Things, the real identity information of the user is stored in the private blockchain, the server verifies the user according to the real identity information stored in the private blockchain, generates an anonymous identifier and a pre-credential for the user, stores the anonymous information of the user in the alliance blockchain, and the user requests an anonymous credential with anonymous access to building device rights from a trusted management node through the pre-credential. The trusted association device verifies the user according to the user anonymous information in the alliance blockchain, and issues an anonymous credential if the verification is passed. Through this double-blockchain verification method, the private blockchain is used to store the real user information table, and the alliance blockchain is used to store the anonymous user information table, which helps to isolate different levels of identity information of the user, realizes anonymous access of the user to the building device, and only the user and the server can track the real information of the user, protects the identity privacy of the user, reduces the risk of being attacked, and improves the security of data.

[0146] According to an embodiment of the present application, the method further comprises:

[0147] The user terminal sends a user identifier to the server;

[0148] The server generates a list of building devices accessible to the user based on the role level of the user identifier, and generates a user authentication identifier uniquely identifying the user's identity based on the user identifier, generates a pre-certificate of the user according to the list of building devices and the user authentication identifier, and sends the pre-certificate to the user terminal; the pre-certificate represents the user's access rights to the building devices;

[0149] The user terminal generates a first key pair and returns the user authentication identifier and the first public key in the first key pair to the server if the pre-certificate is verified to be valid;

[0150] The server generates real identity information of the user according to the user authentication identifier and the first public key, and uploads the real identity information to a real user information table of a private blockchain.

[0151] In this embodiment, if the user wants to access the building devices, the user first needs to complete the authentication process of the server, and after the authentication is passed, the server can issue a pre-certificate to the user, so that the user can know the building devices he can access through the pre-certificate and apply for an anonymous identifier through the content in the pre-certificate.

[0152] Specifically, the user terminal can send a user identifier UID representing the user's identity to the server i After receiving the user identifier UID i , the server can determine the role level of the user in the building Internet of Things (for example: visitor, single-type device administrator, building device administrator, building device supervisor, etc.) according to UID i , and according to the role level to which the user is divided, the server can generate a list of building devices Access D ={DDID1, DDID2, … DDID n} that the user can access, where DDID j is the device authentication identifier of the jth device accessible to the user U i , and generates a corresponding user authentication identifier MDID i =H0{UID i ) for the user.

[0153] Further, the server can also generate a random number seed i as a random number seed, generate a random sequence containing n random numbers according to seed i , combine the random sequence with Access D to construct a Merkle tree, calculate the Merkle tree root MerkleRooti, and generate a real identity information of the user based on the user authentication identifier, the list of building devices Access DMerkleRoot i information such as the MerkleRoot i i D i i pre pre pre i i D

[0154] pre i

[0155]

[0156]

[0157]

[0158] ​​​​​​​​​​​​​​​​​​The server generates anonymous user information corresponding to the user based on the anonymous identifier and the second public key, and uploads the anonymous user information to an anonymous user information table of the consortium blockchain.

[0159] In this embodiment, before sending the first request message to the server, the user can also determine whether there is access permission to the building device through the building device table in the pre-credential. If there is no device authentication identifier DDID of the building device in the building device table j , it is determined that the user has no access permission to the target building device, and if there is, it is considered that the user has access permission, and the DDID is retrieved j In the Access D transformation, the leaf node node j in the Merkel tree is converted into a node j , and the location index index j of the node, the random number random j contained in the node, and the verification path path j of the node on the Merkel tree are obtained j .

[0160] The user terminal can generate a second key pair including a second public key and a second private key, generate a first request message based on the user authentication identifier and the second public key in the second key pair, and the first request message can include the user authentication identifier and the second public key, and can also include a timestamp, a signature, and the like.

[0161] After the server receives the first request message, the first request message is verified through a real user information table in a private blockchain. After verification, an anonymous identifier ADID i is generated based on the user authentication identifier MDID i,j , where j represents the number of the device authentication identifier DDID j of the target building device. Then, the anonymous identifier ADID i,j and the second public key are uploaded to the anonymous user information table of the consortium blockchain as anonymous user information.

[0162] Further, in order to ensure data security, the anonymous identifier ADID i,j can also be subjected to a hash operation through a Merkel tree root MerkleRoot i to obtain a hash value hM = H3(ADID i,j || MerkleRoot i ), and the hash value hM is also uploaded to the anonymous user information table of the consortium blockchain as anonymous user information of the user.

[0163] In this embodiment, the user end generates a second key pair different from the first key pair in the case that the pre-credential determines that the user has the right to access the target building equipment, so that the server can generate anonymous user information based on the second key and the anonymous identifier, and the server uploads the anonymous user information to the consortium blockchain, so that other devices can only find the anonymous information of the user in the consortium blockchain and cannot trace back to the real identity information of the user, further improving the security of data and the supervisability of data.

[0164] According to one embodiment of the present application, the method further comprises:

[0165] The user end sends an access request to the target building equipment, and the access request includes an anonymous credential;

[0166] The target building equipment verifies the anonymous credential based on the third public key, and feeds back device data corresponding to the access request to the user end in the case that the anonymous credential is verified to be correct.

[0167] In this embodiment, the user can send an access request to the building equipment that the user wants to access using an anonymous credential. For example, the user end can send an anonymous credential to the building equipment that the user wants to access in the form of plaintext or ciphertext. Further, in order to ensure the security of data, the user end can also add a signature to the sent access request, so that the target building equipment can verify the signature after receiving the message to ensure the legality of the source of the message.

[0168] The target building equipment can obtain an anonymous user information table in the consortium blockchain, and verify the integrity of the access request according to the second public key in the anonymous user information table.

[0169] Further, the target building equipment can verify the legality of the anonymous credential according to the third public key, and feed back device data corresponding to the access request to the user end in the case that the anonymous credential is verified to be correct. Specifically, the anonymous credential can include a signature generated by the third private key, the target building equipment can obtain the public third key, and verify the signature in the anonymous credential by the third public key. If the verification is passed, it means that the anonymous credential is legal, and the device data corresponding to the access request is fed back to the user end. The third public key and the third private key are a pair of key pairs. If the verification is passed, it means that the signature in the anonymous credential is generated by the third private key, and the anonymous credential can be considered to be legal. If the verification is not passed, it means that the signature in the anonymous credential is not generated by the third private key, and thus the anonymous credential is illegal.

[0170] In the embodiment, the user can request to access the target building device through the anonymous credential, the target building device can verify the anonymous credential through the third public key, and the user is allowed to access in the case that the verification is passed. In the verification process, the target building device does not contact the real identity information of the user, the anonymous access of the user to the building device is realized, the identity privacy of the user is fully ensured, and the security of the private data is further improved.

[0171] According to one embodiment of the present application, the method can further include:

[0172] The building device sends the third request information encrypted by the key to the server; the third request information is used to request to obtain the device credential, and the third request information includes the device identifier;

[0173] The server decrypts the third request information, generates the device authentication identifier and the device credential according to the device identifier in the case that the decrypted third request information passes the verification, uploads the device authentication identifier and the key to the device information table of the alliance block chain, and returns the device credential to the building device;

[0174] The building device sends the perception data generated by the building device to the target management node based on the device credential;

[0175] The target management node processes the perception data in the case that the device credential passes the verification.

[0176] In the embodiment, the device service provider (server) writes the public key, the private key and the unique identifier of the device into the building device when the building device is manufactured. When the building device joins the building Internet of Things, the device service provider can authenticate the device through the unique identifier and issue the device authentication identifier DDID and the device credential deviceVC for the device. The building device can carry out legal activities in the building Internet of Things, such as uploading perception data to the management node, only by carrying the deviceVC.

[0177] Specifically, the building device D j may send the third request information encrypted by the public key of the server to the server, the third request message can include the device identifier ID j , the server can decrypt and verify the third request message through the private key after receiving the third request message, and generate the device authentication identifier DDID j for the building device D j =H2(ID j ), and generate the device credential deviceVC j =(DDID j , t dev , σ dev ), wherein t devCurrent timestamp, signature

[0178] Afterwards, the server can upload the device authentication identifier and public key to the device information table of the alliance blockchain, and send the device certificate to the building device. After receiving the device certificate, the building device can store the device certificate in the local database.

[0179] Building equipment can use device credentials to initiate data processing requests to the management node of the building where it is located. The management node will verify the device credentials, such as its validity and legality. If the device credentials pass the verification of the management node, the management node will process the perception data.

[0180] In this embodiment, building equipment needs to be authenticated by the server when requesting to join the building Internet of Things. After authentication, the server issues a device certificate and a device authentication identifier to the building equipment, and uploads the device authentication identifier to the alliance blockchain to reduce the risk of illegal device access. Verified building equipment can upload perception data with the device certificate, thereby protecting the privacy and security of device data and ensuring that the perception data uploaded by the device is authentic and valid.

[0181] To further illustrate the implementation of the identity authentication method based on the building Internet of Things provided in the embodiment of the present application, the present application also provides multiple scenario examples to describe the identity authentication process of building equipment, the user's pre-credential issuance process, the user's anonymous credential issuance process, and the device service anonymous access process.

[0182] The identity authentication process of the building equipment is shown in FIG3 . In this scenario example, the identity authentication process of the building equipment may include steps A1 to A4 .

[0183] A1. Building Equipment D j Request the device authentication identifier DDID from its device service provider ESP j and device credential deviceVC j .

[0184] Specifically, step A1 includes the following steps:

[0185] A101.D j When leaving the factory, ESP generates a public key pk for the device j , private key sk j and device identification ID j , and write it to the device;

[0186] A102.D j Define plaintext message PT = (ID j , pk j ,t), t is the current timestamp, pk jD j the public key of D

[0187] A103.D j Encrypt message: generate random number r Calculate R = r·P, calculate ciphertext: CT = PT + r·pk ESP where pk ESP is the public key of ESP;

[0188] A104.D j Send encrypted information (CT, R) to ESP.

[0189] A2. ESP generates DDID j and deviceVC j for D j , and uploads DDID j and pk j to the device information table of the consortium blockchain.

[0190] Specifically, step A2 includes the following steps:

[0191] A201. ESP decrypts the message using its own private key sk ESP : PT = CT - R·sk ESP , verifies the timeliness using the timestamp t, and verifies the authenticity of the device ID j ;

[0192] A202. ESP calculates DDID j = H2(ID j ), generates the credential deviceVC j = (DDID j , t dev , σ dev ), where t dev is the current timestamp, and signs

[0193] A203. ESP encrypts deviceVC j using pk j in the same way and returns it to the building device D j ;

[0194] A204. ESP uploads DDID j and pk j to the device information table of the consortium blockchain.

[0195] A3. D j decrypts the message using its own private key to obtain deviceVC j , and then locally stores deviceVCj ;

[0196] A4.D j Using deviceVC j Upload the sensing data to the management node.

[0197] Specifically, step A4 includes the following steps:

[0198] A401.D j Perception data data and deviceVC j Sign, encrypt, and then send to the management node MN of the building where it is located m ;

[0199] A402.MN m Decrypt the message, verify the signature, and then verify the deviceVC j σ in dev , thereby verifying deviceVC j the legitimacy of

[0200] A403. Verification passed, MN m Then for D j The perception data is processed; if the verification fails, it means D j Illegal status, MN m To D j The perception data is not processed.

[0201] The process of issuing a user's pre-credential is shown in FIG4 . In this scenario example, the process of issuing a user's pre-credential may include steps B1 - B4 .

[0202] B1. User U i Send real identity information (UID) to the device service provider through a secure channel i ,t reg ), t reg Timestamp, UID i User ID.

[0203] B2.ESP is U i Generate user authentication identifier MDID i and pre-credential preVC i .

[0204] Specifically, step B2 includes the following steps:

[0205] B201.ESP inspection reg Timeliness, verifying the authenticity of UIDi;

[0206] B202. If the check fails, the subsequent steps will not be executed; if the check passes, ESP willi Divide the user's role level in the building IoT (for example: visitor, single type device administrator, building device administrator, building device supervisor, etc.), according to the level of the user divided, ESP generates a list of building devices that the user can access Access D = {DDID1, DDID2, … DDID n}, where DDID j is the device authentication identifier of the jth device accessible to Ui;

[0207] B203. ESP generates a random number seed i As a random number seed, according to seed i Generate a random sequence containing n random numbers, combine the random sequence with Access D To construct a Merkle tree, and calculate the Merkle tree root MerkleRoot i ;

[0208] B204. ESP calculates the user authentication identifier MDIDi: MDID i = H0(UID i ), generates preVC i = (MDID i , Access D , seed i , MerkleRoot i , t pre , σ pre ), where t pre Indicates the time stamp, signature

[0209] B205. ESP returns preVC i To U i Through a secure channel.

[0210] B3. U i Local storage preVC i , generate public and private keys, send the public key to ESP;

[0211] Specifically, step B3 includes the following steps:

[0212] B301. U i Use the public key pk ESP Of ESP to verify σ pre , ensure the integrity of preVC i ; Use t pre To ensure the timeliness of preVC i ;

[0213] B302. If the check fails, repeat step B1. If the check passes, store preVC locally. i ;

[0214] B303.U i Randomly select an integer sk i ∈Z q As its first private key, and calculate the first public key pk i =sk i ·P;

[0215] B304.U i Return message (MDID) to ESP via secure channel i ,pk i ).

[0216] B4.ESP will (MDID i ,pk i , MerkleRoot i ) is stored in the real user information table of the private blockchain.

[0217] The anonymous credential issuance process of a user is shown in FIG5 . In this scenario example, the anonymous credential issuance process of a user may include steps C1 to C7 .

[0218] C1. When user U i Want to obtain building equipment D j When using the service, first check whether you have access rights to the device, and if you have permission, request the anonymous identification ADID from ESP. i,j .

[0219] Specifically, step C1 includes the following steps:

[0220] C101.U i Check local preVC i Access D Does it contain D j DDID;

[0221] C102. If not, then U i No permission to access D j If so, then U i Retrieve DDID j In Access D The leaf node in the transformed Merkle tree j , thereby obtaining the node j Position index index j , and the random number contained in the node random j , and nodej Verification path on the Merkle tree j ;

[0222] C103.U i Randomly select an integer sk'∈Z q As his secondary private key (second private key), and calculate the corresponding public key (second public key) pk'=sk'·P;

[0223] C104.U i Send anonymous identification ADID request message (req_adid, MDID i ,pk',t req_adid ,σ req_adid ), where t req_adid Current timestamp, signature req_adid indicates that the message type is a request to obtain an anonymous identifier.

[0224] C2.ESP is U i Generate ADID i,j , and ADID i,j The hash of the Merkle tree root is uploaded to the anonymous user information table of the consortium blockchain;

[0225] Specifically, step C2 includes the following steps:

[0226] C201.ESP according to MDID i , get pk from the real user information table of the private blockchain i MerkleRoot i , then use pk i Verify σ req_adid , use t req_adid Verify the timeliness of the message;

[0227] C202.ESP calculation and calculate the hash value hM=H3(ADID i,j ||MerkleRoot i ), then (ADID i,j pk',hM) is stored in the anonymous user information table of the alliance blockchain;

[0228] C203.To U i Returns (ADID i,j ,σ adid ), where the signature

[0229] C3.U i To the trusted management node MN creRequesting anonymous credential anonymousVC i,j ;

[0230] Specifically, step C3 includes the following steps:

[0231] C301.U i Verify the signature to ensure message integrity;

[0232] C302.U i The message plaintext PT=(ADID i,j , DDID j , index j , random j , path j , MerkleRoot i , t req_vc , σ req_vc ) can be generated, where t req_vc is the current timestamp, and the signature σ req_vc =Sign sk' (ADID i,j , DDID j , index j , random j , path j , MerkleRoot i , t req_vc ); generate a random number Calculate R=r·P, and CT=PT+r·pk cre Encrypt the plaintext PT into ciphertext CT;

[0233] C303.U i Send (req_vc, CT, R) to the trusted management node MN cre , req_vc indicates that the message type is requesting anonymous access.

[0234] C4.MN cre Forward the request of user U i to other management nodes;

[0235] Specifically, step C4 includes the following steps:

[0236] C401.MN cre Decrypt the message using its own private key sk cre : PT=CT-R·sk cre ;

[0237] C402.MN cre According to the ADID i,j, obtain Ui’s secondary public key pk’ from the consortium blockchain, and use pk’ to verify the signature to ensure the integrity of the message;

[0238] C403.MN cre Send forwarding message to other management nodes: (fwd_req, ADID i,j ,DDID j , index j ,random j ,path j , MerkleRoot i ,UID cre ,t fwd_req ,σ fwd_req ), where fwd_req indicates that the message type is a forwarding request message, t fwd_req Indicates timestamp, signature UID cre MN cre 's logo.

[0239] C5. When other management nodes receive the forwarded message, such as management node MN m , will verify DDID based on the data information in the forwarded message j Is it in the specified leaf node of the Merkle tree, so as to determine the device D j Whether it is a device accessible to Ui. If the verification is successful, partial credentials will be issued. If the verification fails, the issuance will be rejected.

[0240] Specifically, step C5 includes the following steps:

[0241] C501. Verify the signature to ensure the integrity of the forwarded message and verify the timestamp to ensure the timeliness of the message;

[0242] C502. According to ADID i,j Obtain the hash value hM from the anonymous user information table of the alliance blockchain and calculate hM'=H(ADID i,j ||MerkleRoot i ), verify whether hM is equal to hM', if so, execute the subsequent steps;

[0243] C503. According to MerkleRoot i ,DDID j ,index j ,path j Verify DDID j Is it in the specified leaf node of the Merkle tree, so as to determine the device D j Is it U i accessible devices;

[0244] C504. If yes, generate partial anonymous credential (sub-anonymous credential) anonymousVC: UID m identity of the management node MN m , For signature, the credential represents: ADID i,j The corresponding anonymous user owns DDID j Access right of the corresponding building equipment, corresponding to UID m Issued by the corresponding management node, and signed the credential using its own private key

[0245] C505. Define plaintext message Encrypt the message: generate a random number Calculate R = r·P, and calculate CT = PT + r·pk cre , t fwd_res represent the timestamp;

[0246] C506. Return (fwd_res, CT, R) to MN cre , where fwd_res represents the response message type is a forwarding message.

[0247] C6. MN cre Decrypt and verify the signature of the reply message to other management nodes MN m , and then take out After receiving at least k replies, aggregate at least k partial anonymous credentials into a complete anonymous credential anonymousVC i,j , return anonymousVC i,j to the user;

[0248] Specifically, step C6 includes the following steps:

[0249] C601. Aggregate signatures according to threshold algorithm: Where m = 1, 2,..., k, so as to generate a complete anonymous credential: anonymousVC i,j = (ADID i,j , DDID j , σ i,j ), and sign it using its own private key t res represent the timestamp;

[0250] C602. Define plaintext message PT = (anonymousVC i,j , t res , σ res), encrypt the message: generate a random number Compute R = r P, compute CT = PT + r pk

[0251] C603. Return (res, C, R) to Ui, res indicates the message type is to return anonymous credentials.

[0252] C7. U i Local storage anonymousVC i,j , anonymousVC i,j Provable user U i has access to device D j .

[0253] The device service anonymous access process is shown in FIG. 6, and in this scenario example, the device service anonymous access process can include steps D1-D3.

[0254] D1. User U i uses anonymousVC i,j to request access to the services of building device D j ;

[0255] Specifically, step D1 includes the following steps:

[0256] D101. U i generates a message PT = (anonymousVC i,j , t svc , σ svc ), where svc indicates the message type is to request services, t svc is the current timestamp, and the signature σ svc = Sign sk' (anonymousVC i,j , t svc );

[0257] D102. Encrypt the message using the building device public key: generate a random number Compute R = r P, compute CT = PT + r pk j ;

[0258] D103. Send (svc, CTR) to D j .

[0259] D2. D j verifies anonymousVC i,j , and if the verification is passed, sends its own data to user U i .

[0260] Specifically, step D2 includes the following steps:

[0261] D201.D j Decrypt the message: PT = CT-R · sk j ;

[0262] D202. Obtain pk' from the consortium blockchain according to ADID to verify σ svc Ensure message integrity, according to t svc Verify the timeliness of the message;

[0263] D203. Verify anonymousVC i,j σ i,j Verify the nature of the anonymous credential;

[0264] D204. If the verification is passed, send data to U i , and encrypt using pk';

[0265] D3. U i Decrypt and extract device data using its own secondary private key sk'.

[0266] The identity authentication method based on building IoT provided by the embodiments of the present application will be described below with the user end as an execution subject.

[0267] In the embodiments of the present application, the user end can be any terminal device that can access the network. The terminal device includes but is not limited to mobile phones, tablet computers, notebook computers and other portable communication devices with touch-sensitive surfaces (such as touch screen displays and / or touchpads). It should also be understood that in some embodiments, the terminal device can not be a portable communication device, but a desktop computer with a touch-sensitive surface (such as a touch screen display and / or a touchpad). In some embodiments, the terminal device can also be a smart wearable device, such as a smart watch, a smart bracelet, smart glasses or a smart head-mounted device, etc.

[0268] As shown in FIG. 7, the identity authentication method based on building IoT includes steps 710 and 720.

[0269] Step 710, a first request message for obtaining an anonymous identifier is sent to a server, the first request message including a user authentication identifier, the user authentication identifier representing that the user is authenticated by the server, so that the server generates an anonymous identifier according to the user authentication identifier in the case that the first request message is verified based on a real user information table pre-uploaded to a private blockchain, uploads anonymous user information containing the anonymous identifier to an anonymous user information table of a consortium blockchain, and returns the anonymous identifier; wherein the real user information table stores real identity information of the user.

[0270] In the embodiments of the present application, the server can be one server, and can also be a server cluster including a plurality of servers. The server can be, for example, an ESP in the system of FIG. 1.

[0271] In some embodiments, the user authentication identifier is generated by the server for the user after the user is authenticated by the server, and the user identifier is used to identify that the user has been authenticated by the server. After being authenticated by the server, the user authentication identifier can be added to the first request message.

[0272] In addition to including the user authentication identifier, the first request message can also include signature information of the user terminal through a private key, and a public key of the user terminal, so that the server can decrypt the signature information through the public key of the user terminal to verify whether the sender of the first request message is the user terminal. The first request message can also include a timestamp representing the time of sending the first request message, so that the server can verify the validity of the message through the timestamp.

[0273] The private blockchain refers to a blockchain whose writing permission is controlled by an organization or an institution, and only authorized nodes can access it. The access nodes can participate in reading and writing data according to rules. A private blockchain deployment model. A real user information table can be pre-uploaded in the private blockchain, and the real user information table can include real information of a user, such as an identifier representing the identity of the user, a public key of the user, and the like.

[0274] The server can obtain the real user information table from the private blockchain, and verify the first request message through the real identity information in the real user information table, such as verifying the signature in the first request information through the public key, verifying the validity of the message using the timestamp, and the like.

[0275] In the case where the first request message is verified by the server, it is indicated that the first request message is sent by a legal user and is a valid message, and the server can generate an anonymous identifier corresponding to the user according to the user authentication identifier. For example, the server can perform mathematical calculation on the user authentication identifier to generate the corresponding anonymous identifier.

[0276] The server can also generate anonymous user information according to the anonymous identifier, and upload the anonymous user information to the consortium blockchain to store the anonymous user information in the form of an anonymous user information table. The anonymous user information can include an anonymous identifier, a hash value obtained by performing a hash operation on the anonymous identifier, a public key prepared by the user for anonymous access, and the like.

[0277] The server can send the anonymous identifier to the user terminal in plaintext or ciphertext. Further, in order to ensure the security of data, the server can also add a signature in the message returned to the user terminal, so that the user terminal can verify the signature after receiving the message to ensure the legitimacy of the source of the message.

[0278] Step 720, a second request message for obtaining an anonymous credential is sent to the first management node; the second request message includes the anonymous identifier and the device identifier of the target building device, so that the first management node generates an anonymous credential corresponding to the anonymous identifier and returns the anonymous credential in the case that the user corresponding to the anonymous identifier has the access right to the target building device based on the anonymous user information table; the anonymous credential is used to prove that the user has the access right to the target building device.

[0279] In the embodiments of the present application, the first management node can be a trusted management node, such as the trusted management node MN shown in FIG. 1. The trusted management node refers to a node with high trust and authority in the blockchain network, which is responsible for verifying transactions, packaging blocks, and maintaining the safe and stable operation of the entire blockchain network. The trusted management node is usually assumed by an authenticated and authorized entity or organization, and its participation and behavior is strictly supervised and regulated. The first management node can be a server, and can also be a server cluster including multiple servers.

[0280] The second request message can include the anonymous identifier of the user and the device identifier corresponding to the target building device to be accessed.

[0281] Of course, in some embodiments, only the verified building device can carry out activities in the building Internet of Things, and therefore, in order to enhance the security of data, the device identifier in the second request message can be replaced by a device authentication identifier, which is an identifier issued by the server to the building device after verifying the building device. The device authentication identifier is used to prove the legitimacy of the building device in carrying out activities in the building Internet of Things.

[0282] In order to improve the security of data in the transmission process, the second request message can include a signature, a timestamp and other verification information in addition to the anonymous identifier and the device identifier.

[0283] In this embodiment, the anonymous user information table can contain multi-dimensional anonymous user information of the user, such as the anonymous identifier mentioned above, the hash value obtained by performing a hash operation on the anonymous identifier, the public key prepared by the user for anonymous access, and the like. The first management node can verify whether the user has the right to access the target building device based on the anonymous user information. For example, by verifying the device identifier corresponding to the target building device in the second request message, it is verified whether the building device is within the access rights of the user, and the second request message can further include information for verifying whether it is within the access rights of the user, for example, the information can be generated by the server after authenticating the user, and the server can construct a Merkle tree according to the list of building devices that the user can access, and the Merkle tree root MerkleRoot i 、path, etc. as the information, so that the first management node can verify whether the target building device is in the specified leaf node of the Merkle tree according to the data information in the second request message, so as to determine whether the target building device is a device accessible by the user, and if the verification is passed, the anonymous credential is issued, and if the verification is not passed, the issuance is rejected.

[0284] The first management node can return the anonymous credential to the user terminal in plaintext or ciphertext. Further, in order to ensure the security of the data, the server can also add a signature to the message returned to the user terminal when returning the anonymous credential, so that the user terminal can verify the signature after receiving the message to ensure the legitimacy of the source of the message.

[0285] According to the building Internet of Things-based identity authentication method of the present application, the real identity information of the user is stored in the private blockchain, the server verifies the user according to the real identity information stored in the private blockchain, and generates an anonymous identifier and a pre-credential for the user, stores the anonymous information of the user in the alliance blockchain, and the user requests an anonymous credential with anonymous access to building devices from a trusted management node through the pre-credential. The trusted associated device verifies the user according to the user anonymous information in the alliance blockchain, and issues an anonymous credential if the verification is passed. Through this double-blockchain verification method, the private blockchain is used to store the real user information table, and the alliance blockchain is used to store the anonymous user information table, which helps to isolate different levels of identity information of the user, realizes anonymous access of the user to the building device, and only the user and the server can track the real information of the user, thereby protecting the identity privacy of the user, reducing the risk of being attacked, and improving the security of the data.

[0286] According to an embodiment of the present application, the method further comprises:

[0287] The server is sent a user identifier, so that the server generates a list of building devices accessible to the user based on the role level of the user identifier, and generates a user authentication identifier uniquely identifying the user's identity based on the user identifier, generates a pre-certificate for the user according to the list of building devices and the user authentication identifier, and returns the pre-certificate; the pre-certificate represents the user's access rights to the building devices;

[0288] In the case where the pre-certificate is verified to be valid, a first key pair is generated;

[0289] The user authentication identifier and the first public key in the first key pair are returned to the server, so that the server generates real identity information of the user according to the user authentication identifier and the first public key, and uploads the real identity information to a real user information table in a private blockchain.

[0290] In this embodiment, if the user wants to access the building devices, the user first needs to complete the authentication process of the server, and after the authentication is passed, the server can issue a pre-certificate to the user, so that the user can know the building devices he can access by means of the pre-certificate and apply for an anonymous identifier through the content in the pre-certificate.

[0291] Specifically, the user terminal can send a user identifier UID representing the user's identity to the server i After receiving the user identifier UID i , the server can determine the role level of the user in the building Internet of Things (for example: visitor, single-type device administrator, building device administrator, building device supervisor, etc.) according to UID i , and according to the role level to which the user is divided, the server can generate a list of building devices Access that the user can access D ={DDID1, DDID2, … DDID n}, where DDID j is the device authentication identifier of the jth device accessible to the user U i , and generates a corresponding user authentication identifier MDID i =H0(UID i ) for the user.

[0292] Further, the server can also generate a random number seed i as a random number seed, generate a random sequence containing n random numbers according to seed i , combine the random sequence with Access D to construct a Merkle tree, and calculate the Merkle tree root MerkleRoot i , and based on the user authentication identifier, the list of building devices Access D , the Merkle tree root MerkleRoot iThe pre-credential preVC of the user is generated based on the information i =(MDID i , Access D , seed i , MerkleRoot i , t pre , σ pre ), wherein represents the signature of the server, t pre represents the timestamp, and MDID i represents the user authentication identifier. Of course, the Merkle tree root MerkleRoot i and the like in the pre-credential are generated for the need to further improve the security of data, and in some embodiments, the pre-credential can only include the user authentication identifier and the building device list Access D .

[0293] After receiving the pre-credential sent by the server, the user terminal can verify the signature using the public key of the server to ensure the integrity of the pre-credential, and verify the timestamp t pre to ensure the timeliness of the pre-credential. In the case of verification, the pre-credential can be stored locally, and a key pair is generated, and the public key in the key pair is returned to the server. The server generates the real identity information of the user according to the public key and the user authentication identifier. The real user information can include the public key of the user and the user authentication identifier. Of course, in some embodiments, in order to further ensure the security of data, the real user information can also include the Merkle tree root MerkleRoot i .

[0294] In this embodiment, the server can determine which building devices the user can access according to the role level of the user, and provide the user with a pre-credential indicating that the user has access to the building device, to inform the user which building devices can be accessed, and upload the real identity information generated based on the public key of the user feedback to the alliance chain, so that the real information of the user is not easy to be tampered with, and the security of data is further improved.

[0295] According to one embodiment of the present application, the method further comprises:

[0296] In the case where it is determined based on the pre-credential that the user has the right to access the target building device, a second key pair is generated;

[0297] A first request message is generated based on the user authentication identifier and a second public key in the second key pair;

[0298] A first request message for obtaining an anonymous identifier is sent to the server, so that the server generates anonymous user information corresponding to the user based on the anonymous identifier and the second public key, and uploads the anonymous user information to the anonymous user information table of the alliance blockchain.

[0299] In this embodiment, before sending the first request message to the server, the user can also determine whether he has the authority to access the building equipment through the building equipment table in the pre-credential. If the building equipment table does not have the device authentication identifier DDID of the building equipment, j , the user does not have permission to access the target building equipment. If so, it can be considered that the user has access rights and the DDID can be retrieved. j In Access D The leaf node in the transformed Merkle tree j , thereby obtaining the node j Position index index j , and the random number contained in the node random j , and node j Verification path on the Merkle tree j .

[0300] The user end can generate a second key pair, which includes a second public key and a second private key, and generate a first request message based on the user authentication identifier and the second public key in the second key pair. The first request message can include the user authentication identifier, the second public key, and may also include timestamp, signature and other information.

[0301] After receiving the first request message, the server verifies the first request message through the real user information table in the private blockchain. After the verification is passed, the server verifies the first request message according to the user authentication identifier MDID. i Generate anonymous ID ADID i,j , where j represents the device authentication identifier DDID of the target building equipment j The anonymous identifier ADID i,j The second public key is uploaded to the anonymous user information table of the alliance blockchain as anonymous user information.

[0302] Furthermore, for data security, the MerkleRoot i Anonymous Identifier ADID i,j Perform hash operation and obtain hash value hM=H3(ADID i,j ||MerkleRoot i ), and upload the hash value hM as the user's anonymous user information to the anonymous user information table of the alliance blockchain.

[0303] In this embodiment, the user end generates a second key pair different from the first key pair in the case that the pre-credential determines that the user has the right to access the target building device, so that the server can generate anonymous user information based on the second key and the anonymous identifier, and the server uploads the anonymous user information to the consortium blockchain, so that other devices can only find the anonymous information of the user in the consortium blockchain and cannot trace back to the real identity information of the user, further improving the security of data and the supervisability of data.

[0304] According to one embodiment of the present application, the method further comprises:

[0305] sending an access request to the target building device, the access request comprising an anonymous credential, so that the target building device verifies the anonymous credential based on a third public key, and feeds back device data corresponding to the access request to the user end in the case that the anonymous credential is verified to be correct.

[0306] In this embodiment, the user can send an access request to the building device that the user wants to access using an anonymous credential, for example, the user end can send an anonymous credential to the building device that the user wants to access in the form of plaintext or ciphertext, and further, in order to ensure the security of data, the user end can also add a signature in the sent access request, so that the target building device can verify the signature after receiving the message to ensure the integrity of the message.

[0307] The target building device can obtain an anonymous user information table in the consortium blockchain, and verify the integrity of the access request according to the second public key in the anonymous user information table.

[0308] Further, the target building device can verify the legality of the anonymous credential according to the third public key, and feed back the device data corresponding to the access request to the user end in the case that the anonymous credential is verified to be correct. Specifically, the anonymous credential can include a signature generated by a third private key, the target building device can obtain a public third key, and verify the signature in the anonymous credential by the third public key. If the verification is passed, it means that the anonymous credential is legal, and the device data corresponding to the access request is fed back to the user end. The third public key and the third private key are a pair of key pairs. If the verification is passed, it means that the signature in the anonymous credential is generated by the third private key, and the anonymous credential can be considered to be legal. If the verification is not passed, it means that the signature in the anonymous credential is not generated by the third private key, and thus the anonymous credential is illegal.

[0309] In the embodiment, the user can request to access the target building device through the anonymous credential, the target building device can verify the anonymous credential through the third public key, and the user is allowed to access in the case that the verification is passed. In the verification process, the target building device does not contact the real identity information of the user, the anonymous access of the user to the building device is realized, the identity privacy of the user is fully ensured, and the security of the private data is further improved.

[0310] The identity authentication method based on the building Internet of Things provided by the embodiment of the application is described below with the server as an execution subject.

[0311] As shown in FIG. 8, the identity authentication method based on the building Internet of Things includes the following steps: step 810, step 820 and step 830.

[0312] In step 810, a first request message for obtaining an anonymous identifier sent by a user terminal is acquired. The first request message includes a user authentication identifier, and the user authentication identifier represents that the user is authenticated by the server.

[0313] In step 820, an anonymous identifier is generated according to the user authentication identifier in the case that the first request message is verified to be passed based on a real user information table pre-uploaded to a private block chain. The real user information table stores real identity information of the user.

[0314] In step 830, anonymous user information containing the anonymous identifier is uploaded to an anonymous user information table of a consortium block chain, and the anonymous identifier is returned to the user terminal, so that the user terminal sends a second request message for obtaining an anonymous credential to a first management node. The second request message includes the anonymous identifier and a device identifier of the target building device, so that the first management node generates an anonymous credential corresponding to the anonymous identifier in the case that the user corresponding to the anonymous identifier has the access right to the target building device based on the anonymous user information table, and returns the anonymous credential to the user terminal. The anonymous credential is used to prove that the user has the access right to the target building device.

[0315] According to the building Internet of Things-based identity authentication method, the real identity information of the user is stored in the private block chain, the server verifies the user according to the real identity information stored in the private block chain, generates an anonymous identifier and a pre-certificate for the user, stores the anonymous information of the user in the alliance block chain, and the user requests an anonymous certificate with an anonymous access building device permission from the trusted management node through the pre-certificate. The trusted associated device verifies the user according to the anonymous information of the user in the alliance block chain, and issues an anonymous certificate if the verification is passed. Through this double-block chain verification method, the private block chain is used to store the real user information table, and the alliance block chain is used to store the anonymous user information table, which helps to isolate the different levels of identity information of the user, realizes the anonymous access of the user to the building device, and only the user and the server can track the real information of the user, protects the identity privacy of the user, reduces the risk of being attacked, and improves the security of the data.

[0316] According to an embodiment of the present application, the method further comprises:

[0317] Obtaining the user identifier sent by the user terminal;

[0318] Generating a building device list accessible by the user based on the role level of the user identifier, and generating a user authentication identifier uniquely identifying the identity of the user based on the user identifier;

[0319] Generating a pre-certificate of the user according to the building device list and the user authentication identifier; the pre-certificate represents the access permission of the user to the building device;

[0320] Sending the pre-certificate to the user terminal, so that the user terminal generates a first key pair, returns the user authentication identifier and a first public key in the first key pair under the condition that the pre-certificate is valid;

[0321] Generating the real identity information of the user according to the user authentication identifier and the first public key;

[0322] Uploading the real identity information to the real user information table of the private block chain.

[0323] According to an embodiment of the present application, the first request message is generated by the user terminal based on the user authentication identifier and a second public key in a second key pair, and the second key pair is generated by the user terminal under the condition that the user has the permission to access the target building device based on the pre-certificate; the method further comprises:

[0324] Generating the anonymous user information corresponding to the user based on the anonymous identifier and the second public key, and uploading the anonymous user information to the anonymous user information table of the alliance block chain.

[0325] According to an embodiment of the present application, the method further comprises:

[0326] receive the third request information encrypted by the key sent by the building equipment; the third request information is used to request to obtain the equipment credential, and the third request information includes the equipment identifier;

[0327] decrypt the third request information, and generate the equipment authentication identifier and the equipment credential according to the equipment identifier in the case that the decrypted third request information is verified;

[0328] upload the equipment authentication identifier and the key to the equipment information table of the alliance block chain, and return the equipment credential, so that the building equipment transmits the sensing data generated by the building equipment to the target management node based on the equipment credential, so that the target management node processes the sensing data in the case that the equipment credential is verified.

[0329] As shown in FIG. 9, the identity authentication method based on the building Internet of Things includes steps 910, 920 and 930.

[0330] Step 910, obtain the second request message for obtaining the anonymous credential sent by the user terminal; the second request message includes the anonymous identifier and the equipment identifier of the target building equipment; wherein the anonymous identifier is generated by the server according to the user authentication identifier in the case that the first request message is verified based on the real user information table uploaded to the private block chain in advance, and the first request message is the message sent by the user terminal to the server for obtaining the anonymous identifier;

[0331] Step 920, generate the anonymous credential corresponding to the anonymous identifier in the case that the user corresponding to the anonymous identifier has the access right to the target building equipment based on the anonymous user information table; the anonymous credential is used to prove that the user has the access right to the target building equipment; the anonymous user information table is obtained from the alliance block chain, and the anonymous user information of the anonymous identifier in the anonymous user information table is obtained by uploading the anonymous user information table to the alliance block chain by the server;

[0332] Step 930, return the anonymous credential to the user terminal.

[0333] According to the building Internet of Things-based identity authentication method, the real identity information of the user is stored in the private block chain, the server verifies the user according to the real identity information stored in the private block chain, generates an anonymous identifier and a pre-certificate for the user, stores the anonymous information of the user in the alliance block chain, and the user requests an anonymous certificate with an anonymous access building device permission from a trusted management node through the pre-certificate. The trusted associated device verifies the user according to the anonymous information of the user in the alliance block chain, and issues an anonymous certificate if the verification is passed. Through this double-block chain verification method, the private block chain is used to store the real user information table, and the alliance block chain is used to store the anonymous user information table, which helps to isolate the different levels of identity information of the user, realizes the anonymous access of the user to the building device, and only the user and the server can track the real information of the user, thereby protecting the identity privacy of the user, reducing the risk of being attacked, and improving the security of the data.

[0334] According to an embodiment of the present application, in the case of verifying that the user corresponding to the anonymous identifier has the permission to access the target building device based on the anonymous user information table, the anonymous identifier corresponding to the anonymous certificate is generated, comprising:

[0335] In the case where the second request message is verified, the second request message is forwarded to a plurality of second management nodes, so that the second management nodes obtain the anonymous user information table corresponding to the anonymous identifier from the alliance block chain, and in the case where the user corresponding to the anonymous identifier has the permission to access the target building device according to the anonymous user information table, the sub-anonymous certificate corresponding to the anonymous identifier is generated, and the sub-anonymous certificate is returned;

[0336] In the case where at least a preset number of sub-anonymous certificates are received, the anonymous certificate is generated according to the at least preset number of sub-anonymous certificates.

[0337] Specifically, the second management node can be other management nodes distinguished from the first management node, and the second management node can be multiple. The first management node can send the second request message to the second management node and sign it, and the plurality of second management nodes can verify the signature, and after verification, the anonymous user information table can be obtained from the alliance block chain according to the anonymous identifier, and the anonymous user information in the anonymous user information table can be used to verify whether the user has the access permission to the target building device. If it is passed, the sub-anonymous certificate is generated and returned to the first management node, and the first management node can aggregate at least k sub-anonymous certificates into a complete anonymous certificate after receiving the reply of at least k second management nodes, for example, threshold algorithm is used to aggregate k sub-anonymous certificates to obtain a complete anonymous certificate.

[0338] The embodiment forwards the request message to a plurality of second management nodes, respectively authenticates the user by the plurality of second management nodes, generates the anonymous credential after a preset number of second management nodes pass the authentication, and reduces the possibility of illegal users accessing the building equipment, reduces the opportunity of illegal users and management nodes jointly committing crimes, and further improves the security of data.

[0339] The embodiment of the application provides a building Internet of Things-based identity authentication method, and the execution subject can be a building Internet of Things-based identity authentication device. In the embodiment of the application, the building Internet of Things-based identity authentication method is executed by the building Internet of Things-based identity authentication device, and the building Internet of Things-based identity authentication device provided by the embodiment of the application is described.

[0340] The embodiment of the application further provides a building Internet of Things-based identity authentication device.

[0341] As shown in FIG. 10, the building Internet of Things-based identity authentication device includes:

[0342] The first sending module 1010 is configured to send a first request message for obtaining an anonymous identifier to a server, and the first request message includes a user authentication identifier. The user authentication identifier indicates that the user is authenticated by the server. The server generates an anonymous identifier according to the user authentication identifier in the case that the first request message is verified to be passed based on a real user information table pre-uploaded to a private block chain, uploads anonymous user information including the anonymous identifier to an anonymous user information table of a consortium block chain, and returns the anonymous identifier. The real user information table stores real identity information of the user.

[0343] The second sending module 1020 is configured to send a second request message for obtaining an anonymous credential to a first management node. The second request message includes the anonymous identifier and a device identifier of a target building device. The first management node generates an anonymous credential corresponding to the anonymous identifier in the case that the anonymous identifier corresponds to a user with access authority to the target building device is verified based on the anonymous user information table, and returns the anonymous credential. The anonymous credential is used to prove that the user has access authority to the target building device.

[0344] According to the building Internet of Things-based identity authentication device provided in the application, the real identity information of a user is stored in a private block chain, a server verifies the user according to the real identity information stored in the private block chain, and generates an anonymous identifier and a pre-certificate for the user, stores the anonymous information of the user in a consortium block chain, and the user requests an anonymous certificate with an anonymous access building device permission from a trusted management node through the pre-certificate, and a trusted associated device verifies the user according to the anonymous information of the user in the consortium block chain, and issues the anonymous certificate if the verification is passed. Through this double-block-chain verification mode, the private block chain is used to store a real user information table, and the consortium block chain is used to store an anonymous user information table, which helps to isolate different levels of identity information of the user, realizes anonymous access of the user to the building device, only the user and the server can track the real information of the user, the identity privacy of the user is protected, the risk of being attacked is reduced, and the security of data is improved.

[0345] According to an embodiment of the application, the first sending module 1010 is further configured to:

[0346] send the user identifier to the server, so that the server generates a building device list accessible by the user based on the role level of the user identifier, and generates a user authentication identifier uniquely identifying the identity of the user based on the user identifier, generates a pre-certificate of the user based on the building device list and the user authentication identifier, and returns the pre-certificate; the pre-certificate represents the access permission of the user to the building device;

[0347] generate a first key pair in the case that the pre-certificate is verified to be valid;

[0348] return the user authentication identifier and the first public key in the first key pair to the server, so that the server generates the real identity information of the user based on the user authentication identifier and the first public key, and uploads the real identity information to a real user information table of a private block chain.

[0349] According to an embodiment of the application, the first sending module 1010 is further configured to:

[0350] generate a second key pair in the case that it is determined based on the pre-certificate that the user has the permission to access the target building device;

[0351] generate a first request message based on the user authentication identifier and a second public key in the second key pair;

[0352] send the first request message for obtaining the anonymous identifier to the server, so that the server generates the anonymous user information corresponding to the user based on the anonymous identifier and the second public key, and uploads the anonymous user information to an anonymous user information table of a consortium block chain.

[0353] According to an embodiment of the application, the device further comprises an access module, and the access module is configured to:

[0354] The access request includes an anonymous credential, so that the target building device obtains an anonymous user information table from the alliance blockchain, and feeds back device data corresponding to the access request if the anonymous credential is verified to be passed based on the anonymous user information table.

[0355] The application also provides a building Internet of Things-based identity authentication device.

[0356] As shown in FIG. 11, the building Internet of Things-based identity authentication device includes:

[0357] The first obtaining module 1110 is configured to obtain a first request message for obtaining an anonymous identifier sent by a user terminal; the first request message includes a user authentication identifier, which represents that the user has been authenticated by a server;

[0358] The first generating module 1120 is configured to generate an anonymous identifier according to the user authentication identifier if the first request message is verified to be passed based on a real user information table pre-uploaded to a private blockchain; the real user information table stores real identity information of the user;

[0359] The uploading module 1130 is configured to upload anonymous user information containing the anonymous identifier to an anonymous user information table of an alliance blockchain, and return the anonymous identifier to the user terminal, so that the user terminal sends a second request message for obtaining an anonymous credential to the first management node, the second request message includes the anonymous identifier and a device identifier of a target building device, so that the first management node generates an anonymous credential corresponding to the anonymous identifier if the user corresponding to the anonymous identifier is verified to have an access right to the target building device based on the anonymous user information table, and returns the anonymous credential to the user terminal; the anonymous credential is used to prove that the user has an access right to the target building device.

[0360] According to the building Internet of Things-based identity authentication device, the real identity information of the user is stored in the private blockchain, the server verifies the user based on the real identity information stored in the private blockchain, and generates an anonymous identifier and a pre-credential for the user, stores the anonymous information of the user in the alliance blockchain, the user requests an anonymous credential with an anonymous access right to a building device from a trusted management node through the pre-credential, and the trusted associated device verifies the user based on the anonymous information of the user in the alliance blockchain, and issues the anonymous credential if the verification is passed. Through this double-blockchain verification method, the private blockchain is used to store a real user information table, and the alliance blockchain is used to store an anonymous user information table, which helps to isolate different levels of identity information of the user, realizes anonymous access of the user to the building device, only the user and the server can track the real information of the user, the identity privacy of the user is protected, the risk of being attacked is reduced, and the security of data is improved.

[0361] According to an embodiment of the present application, the first obtaining module 1110 is further configured to:

[0362] obtain a user identifier sent by the user terminal;

[0363] generate a building device list accessible by the user based on a role level of the user identifier, and generate a user authentication identifier uniquely identifying the identity of the user based on the user identifier;

[0364] generate a pre-certificate of the user based on the building device list and the user authentication identifier; the pre-certificate represents the access right of the user to the building device;

[0365] send the pre-certificate to the user terminal, so that the user terminal generates a first key pair, returns the user authentication identifier and a first public key in the first key pair, in a case where the pre-certificate is verified to be valid;

[0366] generate real identity information of the user based on the user authentication identifier and the first public key;

[0367] upload the real identity information to a real user information table of the private block chain.

[0368] According to an embodiment of the present application, the first request message is generated by the user terminal based on the user authentication identifier and a second public key in a second key pair, and the second key pair is generated by the user terminal in a case where it is determined based on the pre-certificate that the user has the right to access the target building device; the first generating module 1120 is further configured to:

[0369] generate anonymous user information corresponding to the user based on the anonymous identifier and the second public key, and upload the anonymous user information to an anonymous user information table of the alliance block chain.

[0370] According to an embodiment of the present application, the device further comprises a building device authentication module configured to:

[0371] receive third request information encrypted by a key and sent by the building device; the third request information is used to request to obtain a device certificate, and the third request information comprises a device identifier;

[0372] decrypt the third request information, and in a case where the decrypted third request information is verified, generate a device authentication identifier and a device certificate based on the device identifier;

[0373] upload the device authentication identifier and the key to a device information table of the alliance block chain, and return the device certificate, so that the building device sends sensing data generated by the building device to a target management node based on the device certificate, so that the target management node processes the sensing data in a case where the device certificate is verified.

[0374] The embodiments of the present application further provide an identity authentication device based on building Internet of Things.

[0375] As shown in FIG. 12, the building Internet of Things-based identity authentication device includes:

[0376] The second acquisition module 1210 is configured to acquire a second request message for acquiring an anonymous credential sent by a user terminal; the second request message includes an anonymous identifier and a device identifier of a target building device; wherein the anonymous identifier is generated by the server according to a user authentication identifier in a case where the first request message is verified to be passed based on a real user information table pre-uploaded to a private blockchain, and the first request message is a message sent by the user terminal to the server for acquiring the anonymous identifier;

[0377] The second generation module 1220 is configured to generate an anonymous credential corresponding to the anonymous identifier in a case where the user corresponding to the anonymous identifier is verified to have the access right to the target building device based on an anonymous user information table; the anonymous credential is used to prove that the user has the access right to the target building device; the anonymous user information table is obtained from a consortium blockchain, and the anonymous user information of the anonymous identifier in the anonymous user information table is obtained by uploading the anonymous user information of the anonymous identifier to the consortium blockchain by the server;

[0378] The return module 1230 is configured to return the anonymous credential to the user terminal.

[0379] According to the building Internet of Things-based identity authentication device, the real identity information of the user is stored in the private blockchain, the server verifies the user according to the real identity information stored in the private blockchain, and generates an anonymous identifier and a pre-credential for the user, stores the anonymous information of the user in the consortium blockchain, and the user requests an anonymous credential with the right to anonymously access the building device from the trusted management node through the pre-credential, and the trusted associated device verifies the user according to the anonymous information of the user in the consortium blockchain, and issues the anonymous credential if the verification is passed. Through this double-blockchain verification method, the private blockchain is used to store the real user information table, and the consortium blockchain is used to store the anonymous user information table, which helps to isolate different levels of identity information of the user, realizes the anonymous access of the user to the building device, and only the user and the server can track the real information of the user, thereby protecting the identity privacy of the user, reducing the risk of being attacked, and improving the security of the data.

[0380] According to an embodiment of the present application, the second generation module 1220 is further configured to:

[0381] In a case where the second request message is verified to be passed, the second request message is forwarded to a plurality of second management nodes, so that the second management nodes acquire the anonymous user information table corresponding to the anonymous identifier from the consortium blockchain, generate a sub-anonymous credential corresponding to the anonymous identifier in a case where the user corresponding to the anonymous identifier is verified to have the access right to the target building device according to the anonymous user information table, and return the sub-anonymous credential.

[0382] In a case that the at least preset number of sub-anonym credentials are received, the anonymous credential is generated according to the at least preset number of sub-anonym credentials.

[0383] The identity authentication apparatus based on the building Internet of Things in the embodiments of the present applicationapplicationbe an electronic device or a component in an electronic device, such as an integrated circuit or a chip. The electronic deviceapplicationbe a terminal or a server, or other devices than terminals. For example, the electronic deviceapplicationbe a mobile phone, a tablet computer, a notebook computer, a palm computer, a vehicle-mounted electronic device, a Mobile Internet Device (MID), an augmented reality (AR) / virtual reality (VR) device, a robot, a wearable device, an ultra-mobile personal computer (UMPC), a netbook, or a personal digital assistant (PDA), andapplicationbe a server, a Network Attached Storage (NAS), a personal computer (PC), a television (TV), a teller machine, or a self-service machine, and the like, and the embodiments of the present application do not make a specific limitation.

[0384] The identity authentication apparatus based on the building Internet of Things in the embodiments of the present applicationapplicationbe a device with an operating system. The operating systemapplicationbe a Windows operating system, an Android operating system, an IOS operating system, or other possible operating systems, and the embodiments of the present application do not make a specific limitation.

[0385] In some embodiments, as shown in FIG. 13, the embodiments of the present application further provide an electronic device 1300, which includes a processor 1301, a memory 1302, and a computer program stored in the memory 1302 and capable of running on the processor 1301. The program is executed by the processor 1301 to implement each process of the above-mentioned identity authentication method based on the building Internet of Things, and achieve the same technical effects. To avoid repetition, details are not described herein.

[0386] It should be noted that the electronic device in the embodiments of the present application includes the above-mentioned mobile electronic device and non-mobile electronic device.

[0387] The embodiment of the present application further provides a non-transitory computer readable storage medium, which stores a computer program. The computer program is executed by a processor to implement each process of the identity authentication method based on building IoT and achieve the same technical effects. To avoid repetition, details are not described herein.

[0388] The processor is a processor in the electronic device in the above embodiment. The readable storage medium includes a computer readable storage medium, such as a computer readable only memory (ROM), a random access memory (RAM), a magnetic disk or an optical disk, etc.

[0389] The embodiment of the present application further provides a computer program product, which includes a computer program. The computer program is executed by a processor to implement the identity authentication method based on building IoT.

[0390] The processor is a processor in the electronic device in the above embodiment. The readable storage medium includes a computer readable storage medium, such as a computer readable only memory (ROM), a random access memory (RAM), a magnetic disk or an optical disk, etc.

[0391] The embodiment of the present application further provides a chip, which includes a processor and a communication interface. The communication interface is coupled with the processor. The processor is configured to run a program or an instruction to implement each process of the identity authentication method based on building IoT and achieve the same technical effects. To avoid repetition, details are not described herein.

[0392] It should be understood that the chip mentioned in the embodiment of the present application can also be referred to as a system level chip, a system chip, a chip system or a system on chip, etc.

[0393] It should be noted that, in this document, the term "comprising" or "including" or any other variant thereof is intended to cover non-exclusive inclusion, so that a process, method, article or device including a series of elements not only includes those elements, but also includes other elements not explicitly listed or inherent to such a process, method, article or device. Without more limitations, the element defined by the statement "including a" does not exclude the presence of additional identical elements in the process, method, article or device including the element. In addition, it should be pointed out that the scope of the method and device in the present application is not limited to the order of performing the functions as shown or discussed, but can also include performing the functions in a substantially simultaneous manner or in a reverse order, for example, the described method can be performed in an order different from that described, and various steps can be added, omitted or combined. In addition, the features described with reference to some examples can be combined in other examples.

[0394] Through the above description of the embodiments, those skilled in the art can clearly understand that the above-mentioned example methods can be realized by means of software and necessary general hardware platforms, and of course, can also be realized by hardware, but in many cases, the former is a better embodiment. Based on such understanding, the technical solutions of the present application can be embodied in the form of a computer software product in essence or in the form of a part of the prior art that makes a contribution. The computer software product is stored in a storage medium (such as a ROM / RAM, a magnetic disc, an optical disc), and includes a plurality of instructions for causing a terminal (which can be a mobile phone, a computer, a server, or a network device, etc.) to execute the methods described in various embodiments of the present application.

[0395] The embodiments of the present application are described above in combination with the drawings, but the present application is not limited to the above-mentioned specific embodiments, and the above-mentioned specific embodiments are only illustrative and not restrictive. Those skilled in the art can make many forms under the inspiration of the present application without departing from the scope of the present application and the scope protected by the claims.

[0396] In the description of the present specification, the description of the terms "one embodiment", "some embodiments", "an illustrative embodiment", "an example", "a specific example", or "some examples" means that the specific features, structures, materials or characteristics described in connection with the embodiment or example are included in at least one embodiment or example of the present application. In the present specification, the illustrative description of the above terms does not necessarily mean the same embodiment or example. Moreover, the specific features, structures, materials or characteristics described can be combined in any one or more embodiments or examples in a suitable manner.

[0397] Although the embodiments of the present application have been shown and described, those skilled in the art can understand that various changes, modifications, replacements and variations can be made to the embodiments without departing from the principles and purposes of the present application, and the scope of the present application is defined by the claims and their equivalents.

Claims

1. An identity authentication method based on building Internet of Things, characterized in that: include: The user terminal sends a first request message to the server to obtain an anonymous identifier; The first request message includes a user authentication identifier, where the user authentication identifier indicates that the user has been authenticated by the server; When the server verifies that the first request message is successful based on the real user information table pre-uploaded to the private blockchain, it generates an anonymous identifier based on the user authentication identifier, uploads the anonymous user information including the anonymous identifier to the anonymous user information table of the consortium blockchain, and returns the anonymous identifier to the user terminal; wherein the real user information table stores the real identity information of the user; The user terminal sends a second request message for obtaining an anonymous credential to the first management node; the second request message includes the anonymous identifier and the device identifier of the target building device; When the first management node verifies, based on the anonymous user information table, that the user corresponding to the anonymous identifier has the authority to access the target building equipment, it generates an anonymous credential corresponding to the anonymous identifier and returns the anonymous credential to the user terminal; the anonymous credential is used to prove that the user has the access authority to the target building equipment.

2. The method according to claim 1, wherein The first management node generates an anonymous credential corresponding to the anonymous identifier when verifying, based on the anonymous user information table, that the user corresponding to the anonymous identifier has permission to access the target building device, including: When verifying that the second request message is passed, the first management node forwards the second request message to multiple second management nodes; The second management node obtains the anonymous user information table corresponding to the anonymous identifier from the consortium blockchain, and upon verifying, based on the anonymous user information table, that the user corresponding to the anonymous identifier has permission to access the target building equipment, generates a sub-anonymous credential corresponding to the anonymous identifier, and sends the sub-anonymous credential to the first management node; Upon receiving at least a preset number of sub-anonymous credentials, the first management node generates an anonymous credential according to the at least preset number of sub-anonymous credentials.

3. The method according to claim 1 or 2, wherein: The method further comprises: The user terminal sends a user identifier to the server; The server generates a list of building devices accessible to the user based on the role level of the user identifier, and generates a user authentication identifier that uniquely identifies the user based on the user identifier, generates a pre-credential for the user based on the list of building devices and the user authentication identifier, and sends the pre-credential to the user terminal; the pre-credential represents the user's access rights to the building devices; When the user terminal verifies that the pre-credential is valid, the user terminal generates a first key pair and returns the user authentication identifier and the first public key in the first key pair to the server; The server generates the user's real identity information based on the user authentication identifier and the first public key, and uploads the real identity information to the real user information table of the private blockchain.

4. The method according to claim 3, wherein: The method further comprises: When the user determines, based on the pre-credential, that the user has the authority to access the target building device, the user terminal generates a second key pair, generates the first request message based on the user authentication identifier and the second public key in the second key pair, and sends the first request message for obtaining the anonymous identifier to the server; The server generates anonymous user information corresponding to the user based on the anonymous identifier and the second public key, and uploads the anonymous user information to the anonymous user information table of the alliance blockchain.

5. The method according to any one of claims 1 to 4, wherein: The method further comprises: The user terminal sends an access request to the target building device, wherein the access request includes the anonymous credential; The target building device verifies the anonymous credential based on the third public key, and feeds back device data corresponding to the access request to the user terminal if the anonymous credential is successfully verified.

6. The method according to any one of claims 1 to 5, wherein: The method further comprises: The building device sends a third request message encrypted by a key to the server; the third request message is used to request to obtain the device credential, and the third request message includes a device identifier; The server decrypts the third request information, and if the decrypted third request information passes verification, generates a device authentication identifier and a device credential based on the device identifier, uploads the device authentication identifier and the key to the device information table of the consortium blockchain, and returns the device credential to the building device; The building device transmits the sensing data generated by the building device to a target management node based on the device credential; The target management node processes the perception data if the device credential passes verification.

7. An identity authentication method based on building Internet of Things, characterized in that: include: Sending a first request message to the server to obtain an anonymous identifier, the first request message including a user authentication identifier, the user authentication identifier indicating that the user has been authenticated by the server, so that when the server verifies that the first request message has passed based on a real user information table pre-uploaded to the private blockchain, the server generates an anonymous identifier based on the user authentication identifier, uploads the anonymous user information including the anonymous identifier to the anonymous user information table of the consortium blockchain, and returns the anonymous identifier; wherein the real user information table stores the user's real identity information; A second request message for obtaining an anonymous credential is sent to the first management node; the second request message includes the anonymous identifier and the device identifier of the target building device, so that the first management node generates an anonymous credential corresponding to the anonymous identifier and returns the anonymous credential when verifying that the user corresponding to the anonymous identifier has the authority to access the target building device based on the anonymous user information table; the anonymous credential is used to prove that the user has access rights to the target building device.

8. The method according to claim 7, wherein: The method further comprises: Sending a user identifier to the server so that the server generates a list of building devices accessible to the user based on the role level of the user identifier, and generates a user authentication identifier that uniquely identifies the user based on the user identifier, generates a pre-credential for the user based on the list of building devices and the user authentication identifier, and returns the pre-credential; the pre-credential represents the user's access rights to the building devices; If the pre-credential is verified to be valid, generating a first key pair; The user authentication identifier and the first public key in the first key pair are returned to the server, so that the server can generate the user's real identity information based on the user authentication identifier and the first public key, and upload the real identity information to the real user information table of the private blockchain.

9. The method according to claim 8, wherein The method further comprises: generating a second key pair if it is determined based on the pre-credential that the user has permission to access the target building device; generating the first request message based on the user authentication identifier and the second public key in the second key pair; A first request message for obtaining an anonymous identifier is sent to the server, so that the server generates anonymous user information corresponding to the user based on the anonymous identifier and the second public key, and uploads the anonymous user information to the anonymous user information table of the alliance blockchain.

10. The method according to claim 9, wherein: The method further comprises: An access request is sent to the target building device, where the access request includes the anonymous credential, so that the target building device verifies the anonymous credential based on the third public key. If the anonymous credential is successfully verified, the device data corresponding to the access request is fed back to the user terminal.

11. An identity authentication method based on building Internet of Things, characterized in that: include: Obtaining a first request message for obtaining an anonymous identifier sent by a user terminal; The first request message includes a user authentication identifier, where the user authentication identifier indicates that the user has been authenticated by the server; If the first request message is verified to be successful based on a real user information table pre-uploaded to a private blockchain, generating an anonymous identifier based on the user authentication identifier; wherein the real user information table stores the real identity information of the user; The anonymous user information including the anonymous identifier is uploaded to the anonymous user information table of the alliance blockchain, and the anonymous identifier is returned to the user terminal, so that the user terminal sends a second request message to the first management node to obtain an anonymous credential. The second request message includes the anonymous identifier and the device identifier of the target building device, so that the first management node generates an anonymous credential corresponding to the anonymous identifier when verifying that the user corresponding to the anonymous identifier has the authority to access the target building device based on the anonymous user information table, and returns the anonymous credential to the user terminal; the anonymous credential is used to prove that the user has access rights to the target building device.

12. The method according to claim 11, wherein The method further comprises: Obtaining a user identifier sent by the user terminal; generating a list of building devices accessible to the user based on the role level of the user identifier, and generating a user authentication identifier that uniquely identifies the user based on the user identifier; Generating a pre-credential for the user based on the building equipment list and the user authentication identifier; the pre-credential represents the user's access rights to the building equipment; Sending the pre-credential to the user terminal, so that the user terminal, upon verifying that the pre-credential is valid, generates a first key pair and returns the user authentication identifier and the first public key in the first key pair; Generate the user's real identity information according to the user authentication identifier and the first public key; The real identity information is uploaded to the real user information table of the private blockchain.

13. The method according to claim 12, wherein: The first request message is generated by the user terminal based on the user authentication identifier and the second public key in the second key pair, and the second key pair is generated by the user terminal when it is determined based on the pre-credential that the user has the authority to access the target building device; the method further includes: Anonymous user information corresponding to the user is generated based on the anonymous identifier and the second public key, and the anonymous user information is uploaded to the anonymous user information table of the alliance blockchain.

14. The method according to any one of claims 11 to 13, wherein: The method further comprises: Receive key-encrypted third request information sent by the building device; the third request information is used to request to obtain the device credential, and the third request information includes a device identifier; decrypting the third request information, and generating a device authentication identifier and a device credential based on the device identifier if the decrypted third request information passes verification; The device authentication identifier and the key are uploaded to the device information table of the alliance blockchain, and the device credential is returned so that the building device can send the perception data generated by the building device to the target management node based on the device credential, so that the target management node can process the perception data if the device credential is verified.

15. An identity authentication method based on building Internet of Things, characterized in that: include: Obtaining a second request message for obtaining an anonymous credential sent by the user terminal; The second request message includes the anonymous identifier and the device identifier of the target building device; wherein the anonymous identifier is generated by the server based on the user authentication identifier when the first request message is verified to be passed based on the real user information table pre-uploaded to the private blockchain, and the first request message is a message sent by the user terminal to the server to obtain the anonymous identifier; When it is verified based on the anonymous user information table that the user corresponding to the anonymous identifier has permission to access the target building equipment, an anonymous credential corresponding to the anonymous identifier is generated; the anonymous credential is used to prove that the user has permission to access the target building equipment; the anonymous user information table is obtained from the alliance blockchain, and the anonymous user information containing the anonymous identifier in the anonymous user information table is uploaded to the alliance blockchain by the server; The anonymous credential is returned to the user terminal.

16. The method according to claim 15, wherein The step of generating an anonymous credential corresponding to the anonymous identifier when verifying that the user corresponding to the anonymous identifier has permission to access the target building device based on the anonymous user information table includes: If the second request message is verified to be successful, forwarding the second request message to multiple second management nodes so that the second management nodes can obtain the anonymous user information table corresponding to the anonymous identifier from the alliance blockchain, and if the user corresponding to the anonymous identifier is verified to have permission to access the target building equipment according to the anonymous user information table, generating a sub-anonymous credential corresponding to the anonymous identifier and returning the sub-anonymous credential; In a case where at least a preset number of sub-anonymous credentials are received, an anonymous credential is generated according to the at least preset number of sub-anonymous credentials.

17. An identity authentication device based on building Internet of Things, characterized in that: include: a first sending module, configured to send a first request message for obtaining an anonymous identifier to a server, the first request message including a user authentication identifier, the user authentication identifier indicating that the user has been authenticated by the server, so that the server, upon verifying that the first request message has passed based on a real user information table pre-uploaded to a private blockchain, generates an anonymous identifier based on the user authentication identifier, uploads the anonymous user information including the anonymous identifier to the anonymous user information table of the consortium blockchain, and returns the anonymous identifier; wherein the real user information table stores the user's real identity information; The second sending module is used to send a second request message for obtaining anonymous credentials to the first management node; the second request message includes the anonymous identifier and the device identifier of the target building device, so that the first management node generates an anonymous credential corresponding to the anonymous identifier and returns the anonymous credential when verifying that the user corresponding to the anonymous identifier has the authority to access the target building device based on the anonymous user information table; the anonymous credential is used to prove that the user has access rights to the target building device.

18. An identity authentication device based on building Internet of Things, characterized in that: include: A first obtaining module is used to obtain a first request message for obtaining an anonymous identifier sent by a user terminal; The first request message includes a user authentication identifier, where the user authentication identifier indicates that the user has been authenticated by the server; A first generating module is configured to generate an anonymous identifier based on the user authentication identifier when the first request message is verified to be successful based on a real user information table pre-uploaded to a private blockchain; wherein the real user information table stores the real identity information of the user; An upload module is used to upload the anonymous user information including the anonymous identifier to the anonymous user information table of the alliance blockchain, and return the anonymous identifier to the user terminal, so that the user terminal sends a second request message to the first management node to obtain an anonymous credential. The second request message includes the anonymous identifier and the device identifier of the target building device, so that the first management node generates an anonymous credential corresponding to the anonymous identifier when verifying that the user corresponding to the anonymous identifier has the authority to access the target building device based on the anonymous user information table, and returns the anonymous credential to the user terminal; the anonymous credential is used to prove that the user has access rights to the target building device.

19. An identity authentication device based on building Internet of Things, characterized in that: include: A second obtaining module is used to obtain a second request message for obtaining an anonymous credential sent by the user terminal; The second request message includes the anonymous identifier and the device identifier of the target building device; wherein the anonymous identifier is generated by the server based on the user authentication identifier when the first request message is verified to be passed based on the real user information table pre-uploaded to the private blockchain, and the first request message is a message sent by the user terminal to the server to obtain the anonymous identifier; A second generation module is configured to generate an anonymous credential corresponding to the anonymous identifier, upon verifying, based on an anonymous user information table, that the user corresponding to the anonymous identifier has permission to access the target building device; the anonymous credential is used to prove that the user has permission to access the target building device; the anonymous user information table is obtained from the consortium blockchain, and the anonymous user information containing the anonymous identifier in the anonymous user information table is uploaded to the consortium blockchain by the server; The returning module is used to return the anonymous credential to the user terminal.

20. A non-transitory computer-readable storage medium having a computer program stored thereon, characterized in that: When the computer program is executed by a processor, the method according to any one of claims 1 to 16 is implemented.

Citation Information

Patent Citations

  • Internet of Things privacy protection access control method based on block chain technology

    CN110519066A

  • Permission control method, resource access method and device of edge device

    CN114978652A

  • Identity authentication method and device based on building Internet of Things, and storage medium

    CN118233194A

  • Clothes dryer and method for controlling thereof

    KR1020220110025A

  • Anonymous consent and data sharing on a blockchain

    US20190028277A1