A distributed DID identity authentication parking system based on blockchain

Through the blockchain distributed DID identity authentication parking system, anonymous identity authentication and selective information sharing are achieved by utilizing cameras, IoT edge computing and trusted oracles, solving the problem of user privacy protection in the blockchain parking system and ensuring data security and non-tamperability.

CN119051925BActive Publication Date: 2025-09-19UNIV OF ELECTRONICS SCI & TECH OF CHINA
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202411097470.4
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2024-08-12
Publication Date
2025-09-19
Estimated Expiration
2044-08-12

AI Technical Summary

Technical Problem

The existing blockchain parking system is difficult to effectively protect user privacy data, and there is a risk of leakage of user information after it is uploaded to the chain. There is also a risk of personal information leakage when the merchant server stores user data.

Method used

A distributed DID identity authentication parking system based on blockchain is adopted. License plate information is obtained through cameras, and anonymous identity authentication and selective information sharing are performed using the IoT edge computing module and blockchain platform module. The user device interacts with the issuer business module to generate and control credentials, and the merchant business module verifies the credentials. A trusted oracle is combined to ensure data security.

Benefits of technology

It enables users to use parking services without disclosing their personal identities, protects user privacy, reduces the abuse of personal information, and improves the security of personal privacy and the immutability of data.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119051925B_ABST
    Figure CN119051925B_ABST
Patent Text Reader

Abstract

The present invention discloses a distributed DID identity authentication parking system and method based on blockchain, comprising: a camera for photographing parked vehicles and obtaining license plate information; an IoT edge computing module for providing license plate data to a blockchain platform module; a blockchain platform module for providing distributed DID services and trusted oracle off-chain data acquisition services; an issuer business module for providing a credential template ID to merchants and providing credentials or selectively disclosing credentials to user devices; a user device for registering credentials or selectively disclosing credentials for storage and displaying them to merchants; and a merchant business module for registering a credential template ID and verifying the credentials displayed by the user module to perform merchant services. The distributed DID parking system based on blockchain of the present invention can achieve anonymous identity authentication and selective information sharing. Users can use parking services without disclosing their personal identities, thereby protecting their privacy.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to the field of blockchain, and in particular to a distributed DID identity authentication parking system based on blockchain. Background Art

[0002] With the rapid development of economy and society, the number of motor vehicles has increased rapidly. In the future, the number of motor vehicles in my country will continue to increase, which will bring about the problem of difficulty in parking and the problem of privacy protection when parking.

[0003] Currently, most blockchain applications in parking involve the launch of blockchain-based parking platforms, aiming to provide safer, more transparent, and more efficient parking services. These platforms leverage blockchain's immutability and smart contract capabilities to implement parking management, payment, and data logging. Blockchain technology also offers new possibilities for parking sharing and leasing. Through smart contracts and decentralized platforms, car owners can share or lease their parking spaces to others, achieving more flexible and efficient parking resource utilization. Most applications simply use blockchain as a distributed ledger, leveraging its immutability to record data and record data required by parking vendors. However, in parking applications, user privacy must be protected. Current public blockchains struggle to fully protect personal privacy because data, once uploaded, is permanently stored on the public network, potentially posing a risk of privacy breaches. Furthermore, even with blockchain, most user data is stored directly on vendor servers, and parking services don't require such extensive personal information, posing a risk of personal data leakage. Summary of the Invention

[0004] The purpose of the present invention is to overcome the shortcomings of the existing technology and provide a distributed DID identity authentication parking system based on blockchain. The distributed DID parking system based on blockchain can realize anonymous identity authentication and selective information sharing. Users can use parking services without disclosing their personal identity, thereby protecting the user's privacy.

[0005] The purpose of the present invention is to achieve the following technical solution: a distributed DID identity authentication parking system based on blockchain, comprising:

[0006] Camera, used to photograph parked vehicles and obtain license plate information;

[0007] The IoT edge computing module is used to obtain license plate information from the camera, save and update the license plate information, and provide license plate data to the blockchain platform module;

[0008] Blockchain platform module, used to provide distributed DID services and trusted oracle off-chain data acquisition services;

[0009] The issuer business module is used to provide a voucher template ID to the merchant and provide a voucher or selectively disclose a voucher to the user device based on information sent by the user device or the merchant business module;

[0010] The user device is used to send a credential creation request and a selective credential creation request to the issuer business module, receive the credential or selective disclosure credential returned by the issuer business module for storage, and display the credential to the merchant;

[0011] The merchant business module is used to send a voucher template creation request to the issuer business module, receive the voucher template ID returned by the issuer business module, and verify the voucher displayed by the user module to perform merchant business.

[0012] Furthermore, the IoT edge computing module includes:

[0013] The license plate acquisition submodule is used to obtain the license plate information of the vehicle that needs to park from the camera, save it in the resource file of the API submodule, and record the license plate information and time information; the time information includes the parking time and the exit time;

[0014] The API submodule, as a web server, is used to provide an API for the blockchain platform module to read license plate data.

[0015] Furthermore, the blockchain platform module includes a distributed DID service submodule and a trusted oracle off-chain data acquisition service submodule.

[0016] Furthermore, the distributed DID service submodule includes: a DID generation functional unit, a credential template creation functional unit, a credential generation functional unit, a credential selective disclosure functional unit, and a credential verification functional unit;

[0017] The DID generation functional unit is used to generate a decentralized DID number based on the W3C DID specification for a user, wherein the user includes a user device, a merchant business module, and an issuer business module;

[0018] The voucher template creation function unit is used to generate the corresponding template format and voucher template ID after receiving the attributes required by the voucher, and save these two pieces of information in the blockchain;

[0019] The credential generation unit is used to first confirm whether the template ID and issuer DID are correct through the smart contract based on the template ID, issuer DID, and attribute values ​​required for the credential. It then generates a hash value of the attribute value and generates the corresponding signature. It then generates the credential using the attribute value, template ID, attribute hash value, and signature. It then generates a hash value of the entire credential, signs the hash value, and generates a certificate. The certificate is then stored on the blockchain for subsequent verification.

[0020] The credential selective disclosure function unit is used to parse the template ID and the issuer's DID in the credential to determine whether they are correct. It then encrypts the attribute value according to the disclosure rules, generates a hash value of the attribute value, and uses the attribute value, template ID, attribute hash value, and signature to generate the credential. It then generates a hash value of the entire credential, signs the hash value, and generates a certificate. The certificate is then stored on the blockchain for subsequent verification.

[0021] The credential verification unit is used to parse and verify the existence of the issuer DID and template ID in the credential, then verify whether the signature value is correct. Then, it determines whether the attribute value format is correct based on the template ID. It then calculates the overall hash value of the credential and compares it with the hash value on the chain to determine whether there are any changes. Finally, it returns a TRUE / FALSE result.

[0022] Furthermore, the trusted oracle off-chain data acquisition service submodule includes:

[0023] The core functional unit of the trusted oracle is used to trigger monitoring events, read the license plate data from the API provided by the edge computing module, and write the results back to the chain;

[0024] The trusted oracle client functional unit is used to call the trusted oracle core functional contract and call back the license plate matching function;

[0025] The smart contract license plate matching functional unit is used to verify the credentials, parse the license plate information from the credentials, read and parse the corresponding license plate data from the API through the trusted oracle contract, and return a TRUE / FALSE result after comparison.

[0026] Furthermore, the issuer business module includes:

[0027] The voucher template creation submodule is used to receive the attributes required for the voucher sent by the merchant business module, call the blockchain voucher template creation function unit, and return the voucher template ID to the merchant business module;

[0028] The credential creation submodule is used to receive the template ID, attribute value and issuer's DID from the user device, call the blockchain credential generation function unit, and return the credential to the user device;

[0029] The selective credential creation submodule is used to receive the credentials and disclosure rules of the user device, call the blockchain credential selective disclosure function unit, and return the selective disclosure credential to the user device.

[0030] Furthermore, the user equipment includes:

[0031] The credential request submodule is configured to send a credential creation request and a selective credential creation request to the issuer business module. The credential creation request includes the credential template ID number and the issuer's DID number, as well as the attribute values ​​required for the credential; the selective credential creation request includes the user device's credentials and disclosure rules;

[0032] The credential saving submodule is used to receive the credential returned by the issuer business module or the selective disclosure credential and save it in a custom location on the user's device;

[0033] The credential display submodule is used to send credentials or selectively disclose credentials to the merchant business module for the merchant to verify identity information.

[0034] Furthermore, the merchant business module includes:

[0035] The registration submodule is used to provide a registration interface for the user device to log in to the merchant business platform to register;

[0036] The voucher template creation request submodule is used to send a voucher template creation request to the issuer business module. The request contains the attributes required for the voucher and receives the voucher template ID returned by the issuer business module for storage.

[0037] The credential verification submodule is used to receive credentials sent by users or selectively disclose credentials, call the blockchain smart contract license plate matching function unit, and return true / false for merchants to customize submodules to perform business functions;

[0038] The merchant's custom submodule is used to perform the merchant's own business after receiving the results of the verification credential submodule. For example, after successful verification, it includes displaying the payment code and operating the gate lift control operation at the exit.

[0039] A distributed DID identity authentication parking method based on blockchain, comprising the following steps:

[0040] S1. Blockchain node deployment:

[0041] The blockchain platform module and blockchain nodes constitute the blockchain; the underlying blockchain contracts include but are not limited to distributed DID service smart contracts and credential verification smart contracts;

[0042] The issuer's business module deploys a blockchain node and uses the SDK in its server to connect to the underlying blockchain to obtain the smart contract address of the distributed DID service for subsequent use, and calls the distributed DID service submodule to generate a DID number;

[0043] The merchant business module deploys a blockchain node and uses the SDK in its server to connect to the underlying blockchain to obtain the credential verification smart contract address for subsequent verification.

[0044] S2. Merchant Registration:

[0045] The merchant business module sends a voucher template creation request to the issuer business module. The request contains the attributes required for the voucher. The required attribute is the license plate number. Other attributes can be name, age, and other information. The storage type of these attributes is String type. After receiving the required attributes of the voucher from the merchant, the issuer business module calls the voucher template creation function unit to generate the corresponding template format and the corresponding voucher template ID, and saves these two pieces of information in the blockchain. Then, the voucher template ID is returned to the merchant business module, and the issuer's DID number is sent to the merchant business module at the same time. The voucher template ID, such as 2000017, indicates the 2000017th template ID. Subsequent creations will be stacked in sequence.

[0046] The merchant business module receives the voucher template ID number and the issuer's DID number, saves them, and uses them to provide the user with a registration voucher;

[0047] S3. User registration:

[0048] The user logs in to the merchant's business platform through their device and initiates a registration request on the merchant's business platform's registration interface. The merchant sends the voucher template ID and the issuer's DID to the user and links the user's device to the issuer's business module. The user submits a voucher creation request to the issuer's business platform through their device. The request includes the voucher template ID and the issuer's DID, as well as the required voucher attribute values. The required attribute is the license plate number, and other attributes can include name, age, and other information.

[0049] After receiving the user's request, the issuer business module calls the credential generation function unit. The credential generation function unit confirms whether the template ID and issuer DID are correct, then generates a hash value of the attribute value and generates a corresponding signature. The attribute value, template ID, attribute hash value and signature are used to generate the credential. Next, the hash value of the entire credential is generated, and the hash value is signed to generate a certificate. The certificate is then stored on the blockchain for subsequent verification.

[0050] Save the credentials on the user's device;

[0051] After the user receives the certificate, the following steps are also included:

[0052] The user device sends the user device's credentials and disclosure rules to the issuer's business module via the user device. The disclosure rules include selecting attribute values ​​that need to be disclosed or hidden. The issuer's business module calls the credential selective disclosure function unit to parse the template ID and the issuer's DID in the credential to ensure they are correct. It then encrypts the attribute values ​​according to the disclosure rules, generates a hash value for the attribute values, and uses the attribute values, template ID, attribute hash value, and signature to generate the credential. Next, it generates a hash value for the entire credential, signs the hash value, and generates a certificate. The certificate is then stored on the blockchain for subsequent verification.

[0053] The selective disclosure credentials are then stored in the user's device;

[0054] S4. User parking:

[0055] When a car owner drives into a store's parking lot, the camera recognizes the license plate information of the parked vehicle and transmits it to the edge computing module. The edge computing module records the license plate data, including the license plate information and parking time, and uploads it to the blockchain through the trusted oracle core functional unit.

[0056] When a car owner leaves the parking lot, a camera at the exit of the parking lot identifies the license plate information of the parked vehicle and transmits it to the edge computing module. The edge computing module records the license plate data, including the license plate information and exit time, and uploads it to the blockchain through the trusted oracle core functional unit. At the same time, the user scans the code on the user device to connect to the merchant business module and sends a certificate or selective disclosure certificate to the merchant business module.

[0057] After receiving the certificate or selective disclosure certificate, the merchant business module calls the certificate verification function unit to parse and verify the existence of the issuer DID and template ID in the certificate, then verifies whether the signature value is correct, and then determines whether the attribute value format is correct based on the template ID. The overall hash value calculated for the certificate is compared with the hash value on the chain to determine whether there is any change; then the smart contract license plate matching function unit is called to verify the certificate, and the license plate information is parsed from the certificate. The trusted oracle contract reads and parses the corresponding license plate data from the API and compares them. If the certificate verification function unit and the smart contract license plate matching function unit are both successfully verified, a TRUE result is returned, otherwise a FALSE result is returned;

[0058] When the merchant business module receives a TRUE result, it determines the parking entry time and exit time from the blockchain, then calculates the parking fee based on the preset parking unit price and displays the payment code to the user; when it receives a FALSE result, it reminds the user that the verification is incorrect.

[0059] The merchant has set up a barrier at the exit of the parking lot. After receiving a TRUE result and the user has paid, the barrier is lifted to allow the user to pass.

[0060] The beneficial effects of the present invention are: using distributed DID applications in parking systems, users can fully control the exchange and storage of data after creating digital identity credentials. They can also generate selective disclosure credentials to conceal non-essential personal information during the parking process. For example, in this parking system, only the license plate is required information. Even if the merchant requires other identity information, the user can choose to provide it, reducing the abuse of personal information. Furthermore, by using a trusted oracle to upload off-chain license plate data to the blockchain, a closed-loop identity authentication service is completed on the blockchain. This not only ensures the trustworthiness and immutability of the service, but also allows user identity information to circulate through fewer links, improving the security of personal privacy. BRIEF DESCRIPTION OF THE DRAWINGS

[0061] Figure 1 It is a schematic diagram of the principle of the present invention;

[0062] Figure 2 Flowchart for issuing distributed identity for issuers;

[0063] Figure 3 Register distributed identity authentication flow chart for users. DETAILED DESCRIPTION

[0064] The technical solution of the present invention will be further described in detail below with reference to the accompanying drawings, but the protection scope of the present invention is not limited to the following.

[0065] The system architecture diagram of the technical solution of the present invention is as follows Figure 1 As shown in the figure, the main participants in the entire system are parking users, parking merchants, and third-party issuers, and the blockchain module operates independently of these three parties. The system can be applied to regionally managed parking lots, such as school parking lots and parking lots in integrated commercial complexes. In addition to secure identity verification, IoT devices such as cameras, recognition modules, and wireless communication devices installed in parking lots can collect information such as drivers' license plates and parking times. This real-world data is connected to the blockchain through a trusted oracle. The license plate information in the distributed DID is directly matched with the real-world license plate information within the smart contract, completing the closed-loop parking process on the blockchain, reducing reliance on third parties and thus minimizing the possibility of privacy leaks.

[0066] First, we'll describe the blockchain technology used in this invention. This invention uses the FISCO BCOS chain as the underlying blockchain module. Its consensus mechanism, PBFT, offers low transaction confirmation latency, high throughput, and eventual consistency. The blockchain module's two main functions are distributed DID services and trusted oracle off-chain data acquisition services.

[0067] The distributed DID service includes DID generation, credential template creation, credential generation, credential selective disclosure, and credential verification. The DID generation function provides users with a decentralized ID based on the W3C DID specification. The credential template creation function declares the attributes required for identity credentials in the following format: attribute name, attribute data type, and attribute description. For example, the license plate attribute required in this parking system is declared in the following format: attribute name: license plate, attribute type: String, attribute description: user's license plate number. The credential template creation contract creates different credential templates based on different attribute requirements, stores the template format on-chain, and finally outputs the template ID number for subsequent identity credential generation. After the credential generation function fills in the corresponding attribute information according to the template, the credential issuer enters its DID, and the credential is finally generated through the smart contract. The entire credential uses the Keccak256 hash algorithm to generate a hash value and stores it on the blockchain for subsequent verification. The selective disclosure feature allows users to choose which attributes to expose. For example, conventional parking systems typically require users to enter personal information such as their license plate, name, gender, and age, but in actual parking operations, only the license plate number is required. Therefore, users can create disclosure rules to choose whether to disclose personal information such as name, gender, and age. If they choose not to disclose, the corresponding attribute values ​​will be encrypted using AES. The credential verification function analyzes the format of the incoming credential to ensure it matches the corresponding template and determines whether the content has been tampered with based on the generated hash value. Finally, a verification result is returned.

[0068] Another function of the blockchain module is to use trusted oracle off-chain data to obtain license plate services. Because blockchain is a deterministic, closed system environment, smart contracts must produce consistent results no matter when and where they are run. Smart contracts cannot have network calls, otherwise the results will be uncertain. Therefore, the present invention uses a trusted oracle as a bridge between the off-chain and on-chain. The license plate number is recognized by the camera with built-in license plate recognition function and then transmitted to the edge computing service platform.

[0069] In the embodiment of the application, the edge computing service platform builds an API for the trusted oracle core contract to read current data, and designs a smart parking contract. This contract inherits the trusted oracle client contract. The client can read the license plate data from the core contract and match it with the license plate data in the identity certificate sent. The parking business is completed directly in the blockchain and the transaction is archived. In this process, there is no need for parking merchants to participate. The characteristics of the blockchain are used to achieve the credibility and immutability of parking transactions. At the same time, the trusted oracle will encrypt the request, collect data signatures and verify the signatures on the chain to ensure the credibility of the off-chain data.

[0070] In the embodiment of the application, the issuer business module is similar to an authoritative issuing agency, which is used to create identity credential templates and issue credentials. Figure 2 As shown, the issuer uses the CreateID function provided by the blockchain smart contract to generate a DID that is stored on-chain. The issuer obtains the required identity information attributes from the parking merchant. The basic attributes set by this invention are: name, age, gender, and license plate. License plate is a required attribute for parking services; other identity attributes can be added or removed based on the needs of different parking merchants. After obtaining the required identity information attributes from the parking merchant, the identity credential template contract is invoked. This contract uses a standard data-logic separation architecture. The most critical part of an identity credential template contract is its jsonSchema component, which stores the Claim formatted content recorded in jsonSchema format—the identity information attributes required by the parking merchant. Different templates are distinguished by the contract ID. This structural design ensures the separation of data and logic and provides a standardized method for managing and identifying different contracts. The issuer sends the generated template ID to the parking merchant for its users to register their identity credentials. Because the identity credentials required by different parking merchants all have the necessary license plate information to ensure basic parking services, identity credential templates from different merchants are interoperable.

[0071] In the examples of the application, Figure 3As shown, users register their merchant identity credentials in the issuer's business module. After filling in the required information, the issuer's business module will encrypt and send the credential file to the user's device. The credential will be signed by the issuer's DID. The issuer's business module does not store the identity credentials; the generated identity credentials are kept by the user. When generating an identity credential, an unmodifiable hash signature is generated for the entire credential. This hash value is stored on-chain for subsequent verification. Users also register their DID and endorse the generated credential with their signature. Different signatures are stored using a Linked-Event format. In the blockchain development language Solidity, each block has a corresponding event storage area for block-related events, which are ultimately stored in the event log. Therefore, DID signature updates added at different times can be stored in the event of the current block at the time of the update. The current block height is used as an index to record each update event, allowing for convenient reverse lookup when reading. After receiving the identity credential, the user saves it in a secure location on the device. The user can then choose to use the credential directly for parking, or create a selective disclosure credential in the issuer's business module. This allows the user to selectively disclose identity information other than the license plate number. A user can only create a selective disclosure credential once. The user creates their own disclosure rules, and the issuer's business module encrypts the corresponding identity information based on the rules and generates a new credential for the user to save. Users can use either the native credential or the selective disclosure credential for parking, depending on their needs.

[0072] In the embodiment of the application, the merchant will have as little contact with the user's identity information as possible. The merchant first calls the credential verification interface of the blockchain platform module. Because the credential is based on the public key storage and digital signature of the DID to prevent the credential from being tampered with, the module will first query whether there is a corresponding template ID number, then check whether the format of the identity credential and its corresponding template ID number matches, and finally verify whether the credential content has been tampered with through the signature and credential hash value. If the identity credential verification is successful, the blockchain will call the trusted oracle to obtain the license plate data captured and recognized by the real camera, and match it with the license plate information in the identity credential, return the matching result to the merchant, and save this matching process as a transaction in the blockchain for archiving. The merchant performs parking fees and barrier lifting services based on the returned results. In this process, the merchant will only obtain the user's license plate data and the identity information that the user is willing to disclose, which greatly protects personal privacy.

[0073] A distributed DID identity authentication parking method based on blockchain, comprising the following steps:

[0074] S1. Blockchain node deployment:

[0075] The blockchain platform module and blockchain nodes constitute the blockchain; the underlying blockchain contracts include but are not limited to distributed DID service smart contracts and credential verification smart contracts;

[0076] The issuer's business module deploys a blockchain node and uses the SDK in its server to connect to the underlying blockchain to obtain the smart contract address of the distributed DID service for subsequent use, and calls the distributed DID service submodule to generate a DID number;

[0077] The merchant business module deploys a blockchain node and uses the SDK in its server to connect to the underlying blockchain to obtain the credential verification smart contract address for subsequent verification.

[0078] S2. Merchant Registration:

[0079] The merchant business module sends a voucher template creation request to the issuer business module. The request contains the attributes required for the voucher. The required attribute is the license plate number. Other attributes can be name, age, and other information. The storage type of these attributes is String type. After receiving the required attributes of the voucher from the merchant, the issuer business module calls the voucher template creation function unit to generate the corresponding template format and the corresponding voucher template ID, and saves these two pieces of information in the blockchain. Then, the voucher template ID is returned to the merchant business module, and the issuer's DID number is sent to the merchant business module at the same time. The voucher template ID, such as 2000017, indicates the 2000017th template ID. Subsequent creations will be stacked in sequence.

[0080] The merchant business module receives the voucher template ID number and the issuer's DID number, saves them, and uses them to provide the user with a registration voucher;

[0081] S3. User registration:

[0082] The user logs in to the merchant's business platform through their device and initiates a registration request on the merchant's business platform's registration interface. The merchant sends the voucher template ID and the issuer's DID to the user and links the user's device to the issuer's business module. The user submits a voucher creation request to the issuer's business platform through their device. The request includes the voucher template ID and the issuer's DID, as well as the required voucher attribute values. The required attribute is the license plate number, and other attributes can include name, age, and other information.

[0083] After receiving the user's request, the issuer business module calls the credential generation function unit. The credential generation function unit confirms whether the template ID and issuer DID are correct, then generates a hash value of the attribute value and generates a corresponding signature. The attribute value, template ID, attribute hash value and signature are used to generate the credential. Next, the hash value of the entire credential is generated, and the hash value is signed to generate a certificate. The certificate is then stored on the blockchain for subsequent verification.

[0084] Save the credentials on the user's device;

[0085] After the user receives the certificate, the following steps are also included:

[0086] The user device sends the user device's credentials and disclosure rules to the issuer's business module via the user device. The disclosure rules include selecting attribute values ​​that need to be disclosed or hidden. The issuer's business module calls the credential selective disclosure function unit to parse the template ID and the issuer's DID in the credential to ensure they are correct. It then encrypts the attribute values ​​according to the disclosure rules, generates a hash value for the attribute values, and uses the attribute values, template ID, attribute hash value, and signature to generate the credential. Next, it generates a hash value for the entire credential, signs the hash value, and generates a certificate. The certificate is then stored on the blockchain for subsequent verification.

[0087] The selective disclosure credentials are then stored in the user's device;

[0088] S4. User parking:

[0089] When a car owner drives into a store's parking lot, the camera recognizes the license plate information of the parked vehicle and transmits it to the edge computing module. The edge computing module records the license plate data, including the license plate information and parking time, and uploads it to the blockchain through the trusted oracle core functional unit.

[0090] When a car owner leaves the parking lot, a camera at the exit of the parking lot identifies the license plate information of the parked vehicle and transmits it to the edge computing module. The edge computing module records the license plate data, including the license plate information and exit time, and uploads it to the blockchain through the trusted oracle core functional unit. At the same time, the user scans the code on the user device to connect to the merchant business module and sends a certificate or selective disclosure certificate to the merchant business module.

[0091] After receiving the certificate or selective disclosure certificate, the merchant business module calls the certificate verification function unit to parse and verify the existence of the issuer DID and template ID in the certificate, then verifies whether the signature value is correct, and then determines whether the attribute value format is correct based on the template ID. The overall hash value calculated for the certificate is compared with the hash value on the chain to determine whether there is any change; then the smart contract license plate matching function unit is called to verify the certificate, and the license plate information is parsed from the certificate. The trusted oracle contract reads and parses the corresponding license plate data from the API and compares them. If the certificate verification function unit and the smart contract license plate matching function unit are both successfully verified, a TRUE result is returned, otherwise a FALSE result is returned;

[0092] When the merchant business module receives a TRUE result, it determines the parking entry time and exit time from the blockchain, then calculates the parking fee based on the preset parking unit price and displays the payment code to the user; when it receives a FALSE result, it reminds the user that the verification is incorrect.

[0093] The merchant has set up a barrier at the exit of the parking lot. After receiving a TRUE result and the user has paid, the barrier is lifted to allow the user to pass.

[0094] The technical solution of the present invention is described below with reference to specific implementation cases:

[0095] Assume that the entire system is deployed within a commercial complex. The first step is to deploy the blockchain module. Blockchain nodes are deployed in the issuer module and the parking merchant business module. Once deployed, the smart contracts deployed on the blockchain can be accessed. The blockchain module's two main functions are distributed DID services and trusted oracle off-chain data acquisition services. The distributed DID service includes DID generation, credential template creation, credential generation, credential selective disclosure, and credential verification. Another function is trusted oracle off-chain data acquisition of license plates. The issuer module primarily utilizes these functions, while the parking merchant module utilizes credential verification and trusted oracle off-chain data acquisition of license plates.

[0096] The issuer uses the CreateID function of a blockchain smart contract to generate a decentralized identity (DID) stored on the blockchain. To meet the needs of parking vendors, the issuer obtains the required identity attributes. In this implementation, a parking vendor in a commercial complex defines basic attributes including name, age, gender, and license plate. License plates are essential for parking services. Once the required identity attributes are obtained, the issuer invokes the identity credential template contract and sends the generated template ID to the parking vendor for its users to register their identity credentials. Because the identity credentials required by different parking vendors all contain the necessary license plate information, basic parking services are guaranteed, and identity credential templates between different vendors can be used interchangeably. This design ensures interoperability of identity credentials and provides flexibility and convenience for different parking vendors. If the commercial complex also operates other parking lots, credentials generated using this credential template can also be used. Even if the identity credentials are from other operators, as long as the credential contains license plate information, the business can still be conducted.

[0097] After parking, users need to register a distributed DID and identity credentials. Users will register their identity credentials for the commercial parking vendor in the issuer's business module. After the user fills in the required information, the issuer's business module will encrypt the identity credential file and send it to the user's device, adding the issuer's DID signature. The issuer's business module does not store the identity credentials itself; instead, the user maintains the generated identity credentials. After receiving the identity credentials, the user saves them in the secure storage space of their device. At this point, the user can choose to use the credentials directly for parking or create a selective disclosure credential in the issuer's business module. With a selective disclosure credential, the user can selectively disclose identity information other than the license plate number. Users can only create a selective disclosure credential once and define the disclosure rules based on their needs. The issuer's business module encrypts the corresponding identity information based on the disclosure rules and generates a new identity credential for the user to save. Users can choose to use either the native credential or the selective disclosure credential for parking, depending on their needs. This flexible identity credential mechanism allows users to choose based on their specific circumstances and privacy needs, while ensuring the protection of their personal information. When a user needs to exit the parking lot, he or she scans the QR code provided by the parking merchant at the exit, opens the business system provided by the merchant, and sends the identity credentials in his or her device to the merchant for the merchant to settle the parking business.

[0098] In practice, to meet the needs of parking vendors in commercial complexes, they need to deploy a smart parking edge service platform and cameras with license plate recognition capabilities at the entrances and exits of parking lots. Once the cameras recognize the license plate number, the information is transmitted to the edge computing service platform. To achieve this, the edge computing service platform builds an API for the trusted oracle core contract to access real-time data. Furthermore, a smart parking contract is designed that inherits the functionality of the trusted oracle client contract. The client can read license plate data from the core contract and match it with the license plate data in the received identity credential. Utilizing these technologies, parking transactions can be completed and archived directly on the blockchain without the involvement of the parking vendor. The characteristics of the blockchain ensure the authenticity and immutability of parking transactions. Throughout the entire process, the trusted oracle encrypts the request, collects data signatures, and verifies the signatures on-chain, thus ensuring the authenticity of the off-chain data. This integrated solution, which combines the smart parking edge service platform, cameras, the edge computing service platform, and the trusted oracle, provides an efficient, secure, and reliable parking management system for parking vendors in commercial complexes. Merchants post QR codes at the exit for users to log into the parking service interface. The interface requires users to submit their credentials. Upon receiving the user's credentials, the merchant first verifies the identity credentials by calling the credential verification interface of the blockchain platform module. These credentials are stored based on the DID's public key and use digital signatures to prevent tampering. During the verification process, the module first queries for the existence of a corresponding template ID number and checks whether the identity credential matches the template ID number format. Next, the credential's signature and hash value are verified to ensure the credential content has not been tampered with. Once the identity credential is successfully verified, the blockchain system calls a trusted oracle to obtain the license plate data captured and recognized by the actual camera. By comparing the recognized license plate information with the license plate information in the identity credential, the blockchain system returns the matching result to the merchant. This matching process is also recorded and stored on the blockchain as a record of the transaction. The merchant then performs relevant business operations such as parking fee collection and barrier lifting based on the returned results. This process ensures that the merchant verifies the identity credential and uses the trusted oracle to obtain real-time camera recognition data to ensure the accuracy of the license plate information. At the same time, all transaction records are permanently stored on the blockchain, providing traceability and trustworthiness. This blockchain-based credential verification and parking business process provides merchants with safe, efficient and reliable services.

[0099] The foregoing description is a preferred embodiment of the present invention. It should be understood that the present invention is not limited to the form disclosed herein and should not be construed as excluding other embodiments. Instead, the present invention can be used in other combinations, modifications, and environments and can be modified within the scope of the concept described herein through the above teachings or techniques or knowledge in the relevant field. Modifications and variations made by those skilled in the art that do not depart from the spirit and scope of the present invention are intended to be protected by the appended claims.

Claims

1. A distributed DID identity authentication parking system based on blockchain, characterized by: include: Camera, used to photograph parked vehicles and obtain license plate information; The IoT edge computing module is used to obtain license plate information from the camera, save and update the license plate information, and provide license plate data to the blockchain platform module; The blockchain platform module includes a distributed DID service submodule and a trusted oracle off-chain data acquisition service submodule; Used to provide distributed DID services and trusted oracle off-chain data acquisition services; The distributed DID service submodule includes: a DID generation function unit, a credential template creation function unit, a credential generation function unit, a credential selective disclosure function unit, and a credential verification function unit; The DID generation functional unit is used to generate a decentralized DID number for a user, and the user includes a user device, a merchant business module, and an issuer business module; The voucher template creation function unit is used to generate the corresponding template format and voucher template ID after receiving the attributes required by the voucher, and save these two pieces of information in the blockchain; The credential generation unit is used to first confirm whether the template ID and issuer DID are correct through the smart contract based on the template ID, issuer DID, and attribute values ​​required for the credential. It then generates a hash value of the attribute value and generates the corresponding signature. It then generates the credential using the attribute value, template ID, attribute hash value, and signature. It then generates a hash value of the entire credential, signs the hash value, and generates a certificate. The certificate is then stored on the blockchain for subsequent verification. The credential selective disclosure function unit is used to parse the template ID and the issuer's DID in the credential to determine whether they are correct. It then encrypts the attribute value according to the disclosure rules, generates a hash value of the attribute value, and uses the attribute value, template ID, attribute hash value, and signature to generate the credential. It then generates a hash value of the entire credential, signs the hash value, and generates a certificate. The certificate is then stored on the blockchain for subsequent verification. The credential verification unit is used to parse and verify the existence of the issuer DID and template ID in the credential, then verify whether the signature value is correct. Then, it determines whether the attribute value format is correct based on the template ID. It then calculates the overall hash value of the credential and compares it with the hash value on the chain to determine whether there are any changes. Finally, it returns a TRUE / FALSE result. The issuer business module is used to provide a voucher template ID to the merchant and provide a voucher or selectively disclose a voucher to the user device based on information sent by the user device or the merchant business module; The user device is used to send a credential creation request and a selective credential creation request to the issuer business module, receive the credential or selective disclosure credential returned by the issuer business module for storage, and display the credential to the merchant; The merchant business module is used to send a voucher template creation request to the issuer business module, receive the voucher template ID returned by the issuer business module, and verify the voucher displayed by the user module to perform merchant business.

2. A distributed DID identity authentication parking system based on blockchain according to claim 1, characterized in that: The IoT edge computing module includes: The license plate acquisition submodule is used to obtain the license plate information of the vehicle that needs to park from the camera, save it in the resource file of the API submodule, and record the license plate information and time information; the time information includes the parking time and the exit time; The API submodule, as a web server, is used to provide an API for the blockchain platform module to read license plate data.

3. A distributed DID identity authentication parking system based on blockchain according to claim 1, characterized in that: The trusted oracle off-chain data acquisition service submodule includes: The core functional unit of the trusted oracle is used to trigger monitoring events, read the license plate data from the API provided by the edge computing module, and write the results back to the chain; The trusted oracle client functional unit is used to call the trusted oracle core functional contract and call back the license plate matching function; The smart contract license plate matching functional unit is used to verify the credentials, parse the license plate information from the credentials, read and parse the corresponding license plate data from the API through the trusted oracle contract, and return a TRUE / FALSE result after comparison.

4. A distributed DID identity authentication parking system based on blockchain according to claim 1, characterized in that: The issuer business module includes: The voucher template creation submodule is used to receive the attributes required for the voucher sent by the merchant business module, call the blockchain voucher template creation function unit, and return the voucher template ID to the merchant business module; The credential creation submodule is used to receive the template ID, attribute value and issuer's DID from the user device, call the blockchain credential generation function unit, and return the credential to the user device; The selective credential creation submodule is used to receive the credentials and disclosure rules of the user device, call the blockchain credential selective disclosure function unit, and return the selective disclosure credential to the user device.

5. The distributed DID identity authentication parking system based on blockchain according to claim 1 is characterized by: The user equipment includes: The credential request submodule is configured to send a credential creation request and a selective credential creation request to the issuer business module. The credential creation request includes the credential template ID number and the issuer's DID number, as well as the attribute values ​​required for the credential; the selective credential creation request includes the user device's credentials and disclosure rules; The credential saving submodule is used to receive the credential returned by the issuer business module or the selective disclosure credential and save it in a custom location on the user's device; The credential display submodule is used to send credentials or selectively disclose credentials to the merchant business module for the merchant to verify identity information.

6. A distributed DID identity authentication parking system based on blockchain according to claim 1, characterized in that: The merchant business module includes: The registration submodule is used to provide a registration interface for the user device to log in to the merchant business platform to register; The voucher template creation request submodule is used to send a voucher template creation request to the issuer business module. The request contains the attributes required for the voucher and receives the voucher template ID returned by the issuer business module for storage. The credential verification submodule is used to receive credentials sent by users or selectively disclose credentials, call the blockchain smart contract license plate matching function unit, and return true / false for merchants to customize submodules to perform business functions; The merchant's custom submodule is used to perform the merchant's own business after receiving the results of the verification credential submodule. For example, after successful verification, it includes displaying the payment code and operating the gate lift control operation at the exit.

7. A blockchain-based distributed DID identity authentication parking method, based on the system of any one of claims 1 to 6, characterized in that: The following steps are involved: S1. Blockchain node deployment: The blockchain platform module and blockchain nodes constitute the blockchain; The issuer's business module deploys a blockchain node and uses the SDK in its server to connect to the underlying blockchain to obtain the smart contract address of the distributed DID service for subsequent use, and calls the distributed DID service submodule to generate a DID number; The merchant business module deploys a blockchain node and uses the SDK in its server to connect to the underlying blockchain to obtain the credential verification smart contract address for subsequent verification. S2. Merchant Registration: The merchant business module sends a voucher template creation request to the issuer business module. This request contains the attributes required for the voucher. After receiving the attributes required for the voucher from the merchant, the issuer business module calls the voucher template creation function unit to generate the corresponding template format and the corresponding voucher template ID, and saves these two pieces of information in the blockchain. Then, the voucher template ID is returned to the merchant business module, and the issuer's DID number is sent to the merchant business module. The merchant business module receives the voucher template ID number and the issuer's DID number, saves them, and uses them to provide the user with a registration voucher; S3. User registration: The user logs in to the merchant's business platform through the user device and initiates a registration request on the merchant's business platform registration interface. The merchant sends the voucher template ID number and the issuer's DID number to the user and links the user's device to the issuer's business module. The user submits a credential creation request to the issuer's business platform through the user device. The request includes the credential template ID number and the issuer's DID number, as well as the attribute values ​​required for the credential; After receiving the user's request, the issuer business module calls the credential generation function unit. The credential generation function unit confirms whether the template ID and issuer DID are correct, then generates a hash value of the attribute value and generates a corresponding signature. The attribute value, template ID, attribute hash value and signature are used to generate the credential. Next, the hash value of the entire credential is generated, and the hash value is signed to generate a certificate. The certificate is then stored on the blockchain for subsequent verification. Save the credentials on the user's device; After the user receives the certificate, the following steps are also included: The user device sends the user device's credentials and disclosure rules to the issuer's business module via the user device. The disclosure rules include selecting attribute values ​​that need to be disclosed or hidden. The issuer's business module calls the credential selective disclosure function unit to parse the template ID and the issuer's DID in the credential to ensure they are correct. It then encrypts the attribute values ​​according to the disclosure rules, generates a hash value for the attribute values, and uses the attribute values, template ID, attribute hash value, and signature to generate the credential. Next, it generates a hash value for the entire credential, signs the hash value, and generates a certificate. The certificate is then stored on the blockchain for subsequent verification. The selective disclosure credentials are then stored in the user's device; S4. User parking: When a car owner drives into a store's parking lot, the camera recognizes the license plate information of the parked vehicle and transmits it to the edge computing module. The edge computing module records the license plate data, including the license plate information and parking time, and uploads it to the blockchain through the trusted oracle core functional unit. When a car owner leaves the parking lot, a camera at the exit of the parking lot identifies the license plate information of the parked vehicle and transmits it to the edge computing module. The edge computing module records the license plate data, including the license plate information and exit time, and uploads it to the blockchain through the trusted oracle core functional unit. At the same time, the user scans the code on the user device to connect to the merchant business module and sends a certificate or selective disclosure certificate to the merchant business module. After receiving the certificate or selective disclosure certificate, the merchant business module calls the certificate verification function unit to parse and verify the existence of the issuer DID and template ID in the certificate, then verifies whether the signature value is correct, and then determines whether the attribute value format is correct based on the template ID. The overall hash value calculated for the certificate is compared with the hash value on the chain to determine whether there is any change; then the smart contract license plate matching function unit is called to verify the certificate, and the license plate information is parsed from the certificate. The trusted oracle contract reads and parses the corresponding license plate data from the API and compares them. If the certificate verification function unit and the smart contract license plate matching function unit are both successfully verified, a TRUE result is returned, otherwise a FALSE result is returned; The merchant business module, upon receiving a TRUE result, determines the entry and exit times from the blockchain, calculates the parking fee based on the preset parking unit price, and displays the payment code to the user; Upon receiving a FALSE result, the user is notified that the verification was incorrect.

8. The distributed DID identity authentication parking method based on blockchain according to claim 7 is characterized by: The merchant has set up a barrier at the exit of the parking lot. After receiving a TRUE result and the user has paid, the barrier is lifted to allow the user to pass.

Citation Information

Patent Citations

  • Identity authentication method based on block chain

    CN110798483A

  • Block chain zero-knowledge proving anonymous certificate verification method and system based on DID identity

    CN113037493A