WO2021004054A1 - 证书申请方法、装置、终端设备、网关设备和服务器 - Google Patents
证书申请方法、装置、终端设备、网关设备和服务器 Download PDFInfo
- Publication number
- WO2021004054A1 WO2021004054A1 PCT/CN2020/071556 CN2020071556W WO2021004054A1 WO 2021004054 A1 WO2021004054 A1 WO 2021004054A1 CN 2020071556 W CN2020071556 W CN 2020071556W WO 2021004054 A1 WO2021004054 A1 WO 2021004054A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- certificate
- user
- gateway
- terminal device
- data transmission
- Prior art date
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/14—Session management
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0816—Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
- H04L9/0819—Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
- H04L9/0825—Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) using asymmetric-key encryption or public key infrastructure [PKI], e.g. key signature or public key certificates
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3263—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving certificates, e.g. public key certificate [PKC] or attribute certificate [AC]; Public key infrastructure [PKI] arrangements
- H04L9/3268—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving certificates, e.g. public key certificate [PKC] or attribute certificate [AC]; Public key infrastructure [PKI] arrangements using certificate validation, registration, distribution or revocation, e.g. certificate revocation list [CRL]
Definitions
- This specification relates to the field of computer technology, in particular to a certificate application method, device, terminal device, gateway device, and server.
- a digital certificate can be used to prove the identity of various subjects (such as people, servers, etc.) who conduct information exchanges and business activities in a network environment. Due to the immutability and non-repudiation of digital certificates, it can be widely used in data encryption, network finance, network government and other data business application scenarios to verify the validity of interactive information between participating parties.
- the digital certificate itself is stored in the local device.
- the digital certificate stored locally is called through the browser. Due to the continuous upgrading of browser technology, the diversity of browsers and the diversity of operating systems, higher requirements are put forward for the stability of the communication channel between the local and the browser. Therefore, it is necessary to provide a more reliable solution for applying for a digital certificate.
- the embodiments of this specification provide a certificate application method, device, terminal device, gateway device, and server.
- the server can transmit data to the device through the data transmission channel between the gateway and the device.
- the data transmission process is independent of the controls used by the browser. Decoupling from browser compatibility.
- an embodiment of this specification provides a certificate application method, including:
- the data transmission channel is a channel established according to the subscription topic name sent by the terminal device to the gateway;
- an embodiment of this specification provides a certificate application device, including:
- the certificate issuing instruction receiving module is used to receive the certificate issuing instruction from the certificate server through the data transmission channel between the terminal device and the gateway.
- the data transmission channel is a channel established according to the subscription topic name sent by the terminal device to the gateway;
- the user certificate request sending module is used to generate a user certificate request according to the certificate issuing instruction, and send the user certificate request to the certificate server;
- the user certificate receiving module is used to receive the user certificate issued by the certificate server through the data transmission channel.
- an embodiment of this specification provides a terminal device, including: a memory and a processor; the memory is used to store a program; the processor is used to read the executable program code stored in the memory to execute the certificate of the first aspect above How to apply.
- the embodiments of this specification provide a certificate application method, including:
- the data transmission channel is a channel established based on the subscription topic name sent by the terminal device to the gateway;
- an embodiment of this specification provides a certificate application device, including:
- the message data receiving module is used to receive message data from the certificate server, where the message data includes a certificate issuing instruction, a user certificate or a user certificate signing instruction;
- the data transmission channel selection module is used to determine the subscription topic name corresponding to the message data and the data transmission channel corresponding to the subscription topic name.
- the data transmission channel is a channel established based on the subscription topic name sent by the terminal device to the gateway;
- the message data sending module is used to send message data using the data transmission channel.
- an embodiment of this specification provides a gateway device, including:
- a memory and a processor the memory is used to store a program; the processor is used to read the executable program code stored in the memory to execute the certificate application method of the fourth aspect.
- the embodiments of this specification provide a certificate application method, including:
- the data transmission channel is based on the subscription topic sent by the terminal device to the gateway
- the channel established by the name, the message data corresponding to the subscribed topic name includes the certificate issuance instruction;
- an embodiment of this specification provides a certificate application device, including:
- the certificate issuing instruction sending module is used to send a certificate issuing instruction to the gateway with a pre-established link, so that the gateway sends a certificate issuing instruction to the terminal device through the data transmission channel with the terminal device, where the data transmission channel is The channel established according to the subscribed topic name sent by the terminal device to the gateway, and the message data corresponding to the subscribed topic name includes a certificate issuing instruction;
- the user certificate application module is used to receive the user certificate registration request corresponding to the certificate issuing instruction, and apply for the user certificate according to the user certificate registration request;
- the user certificate sending module is used to send the requested user certificate to the gateway, so that the gateway sends the user certificate to the terminal device through the data transmission channel.
- an embodiment of this specification provides a certificate server, including:
- a memory and a processor the memory is used to store a program; the processor is used to read the executable program code stored in the memory to execute the certificate application method of the seventh aspect.
- the certificate server pushes instructions and the applied digital certificate to the terminal device through the data transmission channel between the gateway and the terminal device, and the data transmission process It has nothing to do with the controls used by the browser, thereby achieving decoupling from browser compatibility.
- Figure 1 shows a schematic diagram of the architecture of a digital certificate management system according to an embodiment of this specification
- Figure 2 shows a schematic diagram of a signaling flow in the process of device registration, certificate driver installation, and device activation according to an embodiment of this specification
- Figure 3 shows a schematic diagram of the architecture of a digital certificate management system according to an embodiment of this specification
- FIG. 4 shows a schematic diagram of the signaling flow of user certificate application, user certificate installation, and user certificate verification according to an embodiment of this specification
- FIG. 5 shows a flowchart of a certificate application method according to an embodiment of this specification
- FIG. 6 shows a flowchart of a certificate application method according to an embodiment of this specification
- FIG. 7 shows a flowchart of a certificate application method according to another embodiment of this specification.
- FIG. 8 shows a schematic structural diagram of a certificate application device according to an embodiment of this specification.
- FIG. 9 shows a schematic structural diagram of a certificate application device according to an embodiment of this specification.
- FIG. 10 shows a schematic structural diagram of a certificate application device according to another embodiment of this specification.
- Fig. 11 shows a structural diagram of an exemplary hardware architecture capable of implementing a computing device according to an embodiment of the present specification.
- the digital certificate is a file containing public key owner information and public key that is digitally signed by a third-party certificate authority (Certificate Authority, CA) organization.
- the third-party CA institutions in the embodiments of this specification refer to digital certificate issuing institutions and user certificate issuing institutions.
- the third-party CA can issue a certificate according to the certificate issuance request submitted by the certificate server 13 to prevent the certificate from being forged or tampered with, and to manage the certificate and the key.
- the digital certificate can implement functions such as asymmetric encryption, financial compliance verification, and electronic signature in digital business scenarios that require interactive information validity verification.
- Information carriers in the Internet environment such as the Internet of Things (IoT) system, mobile terminals, and personal computers (PC) can all serve data business scenarios that require information validity verification.
- IoT Internet of Things
- PC personal computers
- users may include type B users or type C users who handle digital services through a browser.
- Type B users may be, for example, corporate users and contracted users who process digital services through a browser, and users in the form of organizations, and type C users may be individuals who process digital services through a browser.
- the controls of these browsers may include, but are not limited to, for example: Netscape Plugin Application Programming Interface (NPAPI), Native Client plug-in, object-oriented programming technology and tools ActiveX controls, and through a single
- NPAPI Netscape Plugin Application Programming Interface
- TCP Transmission Control Protocol
- WebSocket protocol control provides a computer communication protocol WebSocket protocol control that provides a full-duplex communication (for example, two-way communication) channel between the browser and the certificate server.
- a certificate application method, device, terminal device, gateway device, and server are provided.
- the application and use of the digital certificate in the operating system are independent of the browser, so that When the user conducts the browser-based WEB mode in the network environment to verify the effectiveness of the interactive information between the participating parties, it relieves the dependence on the browser and the browser controls, while ensuring the data exchange information in the data business scenario reliability.
- digital certificates may include device certificates and user certificates.
- the device certificate can be understood as used to identify the specified device, and the security verification of the device used when data exchange information verification is required;
- the user certificate can be understood as used to identify the identity of the user in the Internet data service, and used for the user identity Verification and user signature.
- FIGS. 1 and 2 show a schematic diagram of the architecture of a digital certificate management system according to an embodiment of this specification
- Fig. 2 shows a schematic diagram of a signaling flow in the process of device registration, certificate driver installation, and device activation according to an embodiment of this specification.
- the data certificate management system 10 may include a terminal device 12, a certificate server 13, and a third-party certificate authority 14.
- the terminal device 12 may be a personal computer (PC), such as a mobile phone terminal, a desktop computer, a desktop computer, a notebook computer, a netbook, a tablet computer, an ultrabook, etc., which belong to the category of a personal computer.
- the certificate server 13 is a server, a server cluster, and a cloud platform that can authenticate devices and users.
- the terminal device 12 may be, for example, a PC device.
- the user 11 may include a type B user or a type C user who processes digital services through a browser.
- Type B users may be, for example, corporate users and contracted users who process digital services through a browser, and users in the form of organizations, and type C users may be individuals who process digital services through a browser.
- the steps of device registration may specifically include:
- Step S101 as shown in "1.1 Device registration, set PIN code" in Figure 2, when the user needs to use a digital certificate to process digital services, submit the device name and user identification number (Personal Identification Number) on the WEB page of digital service processing. , PIN). Since the PIN code is set by the user, only the user currently using the device knows the PIN code, so the PIN code can be regarded as a user password set locally by the user, and is used to identify the user currently logging in to the device. As an example, the PIN code can be a number with a specified number of digits set by the user.
- Step S103 as shown in "1.2 Identity Verification" in FIG. 2, when the certificate server 13 receives the user's device registration request, it triggers the verification of the user's identity.
- the identity verification information may include, but is not limited to, information such as SMS verification codes, facial images, and fingerprint information.
- Step S105 as shown in "1.3 Generating a Public-Private Key Pair" in FIG. 2, the certificate server 13 can pass the public-private key pair of the device certificate.
- the algorithm for generating the device certificate includes but is not limited to the asymmetric encryption algorithm RSA encryption algorithm, the elliptic curve public key encryption algorithm SM2 encryption algorithm, and so on.
- the public-private key pair of the device certificate may include the public key of the device certificate and the private key of the device certificate.
- Step S107 as shown in "1.4 Applying for a Device Certificate" in Figure 2, the certificate server 13 can encapsulate the public key, device name and identity verification information of the device certificate, generate a device certificate registration request, and request a third-party CA to generate a device certificate.
- Step S109 as shown in "1.5 Generate Key Image" in Figure 2, the certificate server 13 can use the PIN code uploaded in step S101 as the encryption key based on white box encryption to store the private key of the device certificate in the Encrypted files in the specified format.
- the encrypted file in the specified format may be, for example, an encrypted picture.
- white box encryption as an encryption algorithm technology that can resist white box attacks, can obfuscate the key of the device certificate, and can provide encryption interfaces, decrypt interfaces, and add device certificate signatures uniformly after the files are obfuscated Interface and the interface to verify the signature of the device certificate.
- Step S111 as shown in "1.6 Package and Generate Executable File" in FIG. 2, the certificate server 13 may package and generate a certificate-driven installation file package according to the encrypted file of the private key of the device certificate that has been encrypted and stored.
- the certificate-driven installation package is an executable file.
- step S113 as shown in "1.7 Return to the installation driver address" in FIG. 2, the certificate server 13 returns the installation driver address to the terminal device 12.
- the specific steps of certificate driver installation can include:
- Step S115 as shown in "2.1 Installing Driver Package" in Figure 2, the terminal device 12 obtains the installation package of the certificate driver according to the installation driver address, and installs the certificate driver using the installation package of the certificate driver to save the device certificate locally.
- Step S117 as shown in "2.2 Initialize Device Certificate” in FIG. 2, the user 11 starts to initialize the device certificate after installing the certificate driver on the terminal device 12.
- the user 11 inputs the PIN code, and the terminal device 12 uses the PIN code as a decryption key to restore the private key of the device certificate through a specific mathematical formula.
- Step S119 as shown in "2.3 Collecting Local Device Information" in FIG. 1, the terminal device 12 can use the private key of the device certificate to sign the device certificate for the collected device information.
- the device information may include, for example, one or more of the following information items: the physical address of the device MAC address (Media Access Control Address), the device identification code DeviceID, the device IP address (Internet Protocol Address), and the device location Operating system information of the operating system, network information of the network used by the device, central processing unit (CPU) information, and device signature random number.
- DeviceID is the device identification code automatically generated after the certificate driver is installed.
- the device signature random number is the number randomly generated when the device certificate is signed. It is used to make it difficult to reproduce the original text signed by the device certificate and ensure that the device certificate is signed Uniqueness and data security.
- the device activation step may specifically include:
- the terminal device 12 As shown in "2.4 Device Activation" in FIG. 2, the terminal device 12 generates a device activation request according to the device information signed by the device certificate, and sends the device activation request to the server 13.
- the server 13 uses the public key of the device certificate to verify the device certificate signature according to the device activation request. If the device signature is verified, it obtains the device information reported through the device activation request. .
- the device certificate may identify the device to which the device information belongs, and the user is a user who has entered the PIN code and logged in to the current device.
- the certificate server 13 returns activation completion information to the terminal device 12; and as shown in "2.8 Device Activation” in FIG. 2, the terminal device 12 generates a prompt message to prompt the terminal device to activate.
- the binding of the user and the device certificate is realized through the specific procedures of device registration, certificate driver installation, and device activation.
- FIG. 3 shows a schematic structural diagram of a digital certificate management system according to an embodiment of this specification
- Fig. 4 shows a schematic diagram of a signaling flow of user certificate application, user certificate installation, and user certificate verification according to an embodiment of this specification.
- the same or equivalent structures in FIG. 3 and FIG. 4 and FIG. 1 and FIG. 2 use the same reference numerals.
- the digital certificate management system 10 may further include a gateway 15.
- the gateway 15 includes a computer system or device that realizes network interconnection.
- the steps of applying for a user certificate may specifically include:
- Step S201 as shown in "1.1 Start Certificate Driver” in FIG. 4, the user 11 starts the certificate driver on the terminal device 12.
- the terminal device 12 prompts the user 11 to enter a PIN code, and the PIN code is used to determine the user who logs in to the device.
- Step S203 as shown in "1.2 Login Device” in Figure 4, the certificate driver invokes the device certificate to sign the device identification information including the device identification ID, and reports the device identification information signed by the device certificate to the certificate server.
- the device identification information may also include the device signature random number.
- Step S205 as shown in "Verify Device Certificate” in FIG. 4, the certificate server 13 calls the device certificate to verify the certificate signature.
- the certificate server 13 verifies the signature of the device certificate, it can use the binding relationship between the device certificate and the user, and associate the device certificate to the user who logs in to the device.
- Step S207 as shown in "1.4 Return to Gateway and Configuration" in Figure 4, when the certificate server 13 verifies that the device certificate signature is passed, it can obtain the information of the user bound to the device certificate based on the device identification ID in the device identification information, and send it to The device that the user logs in delivers the configuration information of the terminal device link gateway.
- the configuration information of the gateway may include device identification information such as device identification code, gateway key, gateway address, and the topic name of the gateway subscribed to.
- the device identification code is used to identify the device that needs to establish a data transmission channel with the gateway;
- the gateway key is used to verify the device's data link request to the gateway, and if the verification passes, the data transmission channel is allowed to be established;
- the gateway subscribes to the topic name Is used to indicate that the terminal device 12 needs to subscribe to a specified topic.
- the gateway 15 acts as a message producer, and the certificate server 13 pushes the message to the topic, and the terminal device 12 subscribing to the topic will receive the message.
- Step S209 as shown in "1.5 Long Links and Subscription Topics" in FIG. 4, the terminal device 12 subscribes to the gateway 15 for message topics to establish a data transmission channel between the gateway 15 and the terminal device 12.
- the data transmission channel established when data interaction occurs between the terminal device 12 and the gateway 15 is a data transmission channel based on a long link, thereby avoiding frequent establishment of data transmission channels with the gateway and causing waste of network resources. Save network resources.
- the gateway 15 supports device communication protocols based on publishing topics and/or subscribing topics, including Message Queuing Telemetry Transport (MQTT).
- MQTT protocol is a data transmission protocol belonging to the Internet of Things, suitable for network-restricted environments, using Transmission Control Protocol/Internet Protocol (Transmission Control Protocol/Internet Protocol, TCP/IP) to provide network connection, and can provide subscription message mode and sending In the message mode, when one-to-many (for example, different devices) message publishing is provided through the gateway, the coupling with other applications such as browser controls is released.
- MQTT protocol is a data transmission protocol belonging to the Internet of Things, suitable for network-restricted environments, using Transmission Control Protocol/Internet Protocol (Transmission Control Protocol/Internet Protocol, TCP/IP) to provide network connection, and can provide subscription message mode and sending In the message mode, when one-to-many (for example, different devices) message publishing is provided through the gateway, the coupling with other applications such as browser controls is released.
- TCP/IP Transmission Control Protocol/Internet Protocol
- the certificate server can be the message sender
- the terminal device can be the message subscriber
- the gateway can be the message broker.
- the message sender sends a message corresponding to a topic to the message broker
- the message broker will send the message corresponding to the topic to all message subscribers who subscribe to the topic.
- connection between the certificate server and the gateway can be established in advance, and the gateway is used as the message broker to receive all the message data from the certificate server, determine the subject of the obtained message data, and then send the message data To the terminal devices that subscribe to the topic.
- the topic of the message can be understood as a message type, and the message type corresponds to a data transmission channel between the gateway and the terminal device. If the terminal device subscribes to the topic, it will receive the message of the topic forwarded by the gateway. content.
- the publish/subscribe message communication mode has the characteristics of service self-discovery.
- the server messages producer
- terminal equipment messages subscriber
- a data connection channel based on the MQTT protocol is established between the terminal device and the gateway.
- the certificate server pushes the message data corresponding to the subscription topic to the terminal device through the gateway.
- the communication process is not Other configuration files or third-party plug-in support are required, so that both parties in communication can be relieved of browser controls.
- a long link between the terminal device 12 and the gateway 15 may be established based on the MQTT protocol.
- the gateway using the MQTT protocol may be referred to as the MQTT gateway for short; and the channel through which the gateway transmits data to the device is referred to as the downlink channel between the MQTT gateway and the device for short.
- the data communication performed by the downlink channel may be asynchronous communication.
- the certificate server sends instructions to the MQTT gateway, and the MQTT gateway can exchange data with the device through the asynchronous call mechanism through a two-way communication connection with the device.
- the remote procedure call uses the remote procedure call protocol (Remote Procedure Call Protocol, RPC) method to request services from a remote computer through the network without needing to understand the underlying network technology.
- RPC Remote Procedure Call Protocol
- the certificate server 13 can make remote procedure calls locally to the device through the data transmission channel established between the gateway 15 and the terminal device 12 based on the MQTT protocol, and directly push the instructions or the requested certificate to the device, thereby achieving communication with Decoupling of browser compatibility.
- step S211 as shown in "1.6 Successful startup" in FIG. 4, after the terminal device 12 and the gateway 15 generate and establish a data transmission channel, they can send a prompt message to the user 11 that the certificate driver has been successfully started.
- the step of installing a user certificate may specifically include:
- step S215 as shown in "2.2 Identity Verification" in FIG. 4, the certificate server 13 may verify the subject information of the user who needs to apply for the user certificate by means of verification.
- the certificate server 13 determines the user 11 who logs in to the device through the PIN code input by the user 11 in the above step S201, so as to obtain the subject information of the user 11 to verify the subject information.
- the certificate server 13 can establish an association between the device certificate and the user.
- Step S217 as shown in "2.3 Push Certificate Issuing Instructions" in FIG. 4, push the user certificate installation instruction to the terminal device 12 through the data transmission channel established between the terminal device 12 and the gateway 15.
- the certificate server 13 when the certificate server 13 issues a user certificate installation instruction, it can associate with the device according to the user logging in to the device, and issue a user certificate installation instruction to the device.
- the user certificate installation instruction includes the following push content: push content challenge code, verified certificate subject information, and algorithm information.
- the challenge code can be used to encrypt and verify the push content in the user certificate issuing instruction to ensure that the user's real information will not be disclosed during the transmission process of the user certificate issuing instruction, and the algorithm information is used to generate the key pair of the user certificate .
- Step S219 as shown in "2.4 Trigger Instruction" in FIG. 4, the gateway 15 sends the user certificate installation instruction to the terminal device 12 through the data transmission channel with the terminal device 12.
- Step S221 as shown in "2.5 Generate User Certificate Generation Request" in Figure 4, the terminal device 12 generates a public-private key pair of the user certificate based on the algorithm information.
- the public-private key pair of the user certificate includes the public key of the user certificate and the private key of the user certificate.
- the terminal device 12 encapsulates the signature information of the public key of the user certificate with the public key of the user certificate, the verified certificate subject information, and the private key of the user certificate, and obtains the user certificate generation request.
- step S225 as shown in "2.7 Issuing User Certificates" in FIG. 4, the certificate server 13 issues the applied user certificates to the terminal device 12.
- Step S227 as shown in "2.8 Write User Certificate Locally” in FIG. 4, the terminal device 12 writes the received user certificate information into the device local to complete the user certificate installation process.
- the step of verifying the user certificate may specifically include:
- Step S229 as shown in "3.1 Service Trigger Verification User Certificate” in Figure 4, when the user 11 uses the browser to process data services, the certificate server 13 needs to verify the user certificate according to the processed data service.
- Step S231 as shown in "3.2 Generate Certificate Signature Instruction" in Figure 4, the certificate server 13 generates a user certificate signing instruction.
- the package information in the user certificate signing instruction includes the original text to be signed and the user signature random number generated according to the processed data service , User signature challenge code, device identification code and user certificate code and other information.
- the certificate server 13 when the certificate server 13 issues the user certificate signing instruction, it pushes information based on the device that the user 11 logs in.
- step S233 as shown in "3.3 Push Signature Command" in FIG. 4, the certificate server 13 issues the user certificate signature command to the gateway 15.
- Step S235 as shown in "3.4 Trigger Signature Command" in FIG. 4, the gateway 15 sends the user certificate signing command to the terminal device 12 through the data transmission channel with the terminal device 12.
- Step S237 as shown in "3.5 User Certificate Signing" in Figure 4, the terminal device 12 receives the user certificate signing instruction, selects the corresponding user certificate based on the user certificate code, and uses the private key of the user certificate to sign the original text to be signed. .
- Step S239 as shown in "3.6 Reporting Signature Information" in FIG. 4, the terminal device 12 reports the certificate server 13 signed by the user certificate.
- Step S241 as shown in "3.7 Verify User Signature" in Figure 4, the certificate server 13 verifies the user signature by using the public key of the user certificate to verify the user certificate.
- Step S243 as shown in "3.8 Service Verification Certificate Completion" in FIG. 4, when the certificate server 13 successfully verifies the user certificate, it returns a prompt message to the terminal device 12 that the verification of the user certificate is successful.
- the information can be pushed to the device through the device communication protocol based on the publish/subscribe topic, such as the MQTT protocol gateway and the device's downlink data transmission channel
- the device is local, so that the compatibility of the user certificate and the browser is decoupled.
- Fig. 5 is a flowchart showing a certificate application method according to an embodiment of the present specification. As shown in FIG. 5, the certificate application method 500 in the embodiment of this specification includes the following steps:
- Step S510 Receive the certificate issuing instruction from the certificate server through the data transmission channel between the terminal device and the gateway.
- the data transmission channel is a channel established according to the subscription topic name sent by the terminal device to the gateway.
- Step S520 Generate a user certificate request according to the certificate issuing instruction, and send the user certificate request to the certificate server.
- Step S530 Receive the user certificate issued by the certificate server through the data transmission channel.
- the device can receive the certificate issuing instruction and the user certificate from the certificate server according to the data transmission channel between the device and the gateway, thereby providing a more reliable solution for using the user digital certificate.
- the use of digital certificates under the operating system dimension is compatible with browsers.
- the certificate issuance instruction is generated by the certificate server according to the service type of the service requested by the receiving browser, and the browser runs on the terminal device.
- the certificate application method 500 may further include:
- Step S540 Receive gateway configuration information sent by the certificate server.
- the gateway configuration information includes: a device identification code, a gateway key, a gateway address, and a subscription topic name.
- the device identification code is used to identify a terminal device.
- Step S542 Establish a link between the terminal device and the gateway according to the gateway key and the gateway address.
- Step S544 Send the device identification code and the subscription topic name to the gateway to establish a data transmission channel corresponding to the subscription topic name.
- the data transmission channel is used to transmit the message data corresponding to the subscription topic name to the terminal device.
- the terminal device can establish a data transmission channel with the gateway through the received gateway configuration information, where the gateway supports a device communication protocol based on publishing topics and/or subscribing to topics.
- the device communication protocol includes a message queue telemetry transmission protocol.
- step S520 may specifically include:
- Step S521 Obtain the push content in the certificate issuance instruction, and the push content includes the push content challenge code, verified certificate subject information, and algorithm information.
- Step S523 Generate a user certificate key pair based on the algorithm information, and use the private key in the user certificate key pair to digitally sign the public key in the user certificate key pair to obtain the public key with the user certificate signature.
- Step S525 Encapsulate the public key with the user certificate signature and the verified certificate subject information to obtain the user certificate request.
- the terminal device generates the key pair of the user certificate according to the push content in the certificate issuing instruction pushed by the certificate server, and uses the private key of the user certificate to sign the public key of the user certificate to generate the user certificate Request, so that the certificate server applies to the third-party CA to issue a user certificate according to the user certificate request.
- the certificate application method 500 may further include:
- Step S550 Receive the user certificate signing instruction through the data transmission channel, and obtain the original signature verification text, the device identification code, and the user certificate number in the user certificate signing instruction.
- Step S552 In the terminal device with the device identification code, select the user certificate corresponding to the user certificate code, and use the private key in the key pair of the selected user certificate to sign the original text for signature verification, and obtain the user certificate signature Signature verification original text.
- Step S554 Send the original signature verification text with the user certificate signature to the certificate server for verifying the user certificate.
- the terminal device uses the user certificate to sign the original text for signature verification, it requests the certificate server to verify the user certificate signature.
- the certificate application method 500 may further include:
- Step S560 Submit the device name and the input user identification code to the certificate server.
- the input user identification code is used for user identity verification when applying for a device certificate
- the device name is used to identify the terminal device to which the requested device certificate belongs.
- Step S562 Obtain the driver installation file through the received driver installation address, install the certificate driver using the driver installation file, and obtain the device certificate packaged in the driver installation file and the encrypted key file.
- Step S564 Decrypt the encrypted key file according to the resubmitted user identification code to obtain the private key in the key pair of the device certificate.
- the terminal device requests the certificate server to install the device certificate, and obtains the key file of the device certificate.
- the certificate application method 500 may further include:
- Step S570 Use the private key in the key pair of the device certificate to digitally sign the acquired device information to obtain the device activation information signed by the device certificate.
- Step S572 Send the device activation information to the certificate server to activate the device certificate.
- Step S574 Establish a mapping relationship between the user identified by the user identification code and the device certificate.
- the device name and the entered user identification code are information submitted by the certificate server through the information collection page of the browser, and the information collection page is generated by the certificate server when the service processed by the browser requires the use of a device certificate.
- the terminal device requests activation of the device certificate from the server. After the device certificate is activated, the user and the device certificate are bound to form a mapping relationship between the user and the device certificate.
- Fig. 6 is a flowchart showing a certificate application method according to an embodiment of the present specification. As shown in FIG. 6, the certificate application method 600 in the embodiment of this specification includes the following steps:
- Step S610 Receive message data from the certificate server, where the message data includes a certificate issuing instruction, a user certificate, or a user certificate signing instruction.
- Step S620 Determine the subscription topic name corresponding to the message data, and select the data transmission channel corresponding to the subscription topic name.
- the data transmission channel is a channel established according to the subscription topic name sent by the terminal device to the gateway.
- Step S630 Use the data transmission channel to send the message data.
- the gateway receives the certificate issuance instruction from the certificate server; determines the subscription topic name corresponding to the certificate issuance instruction, selects the data transmission channel corresponding to the subscription topic name, and uses the data transmission channel between the gateway and the terminal device to transfer the certificate
- the issued instruction is sent to the terminal device.
- the gateway pushes the received instructions from the certificate server to the terminal device through the data transmission channel with the terminal device.
- the data transmission process does not use the browser control to achieve compatibility with the browser. Sexual decoupling.
- the certificate application method 600 may further include:
- Step S650 Receive the gateway key from the terminal device.
- Step S652 when the gateway key verification is passed, a link between the terminal device and the gateway is established.
- Step S654 Receive the device identification code and the subscription topic name, and establish a data transmission channel corresponding to the subscription topic name.
- the device identification code is used to identify the terminal device.
- the downlink data transmission channel from the gateway to the terminal device is established by subscribing to the topic, and the instruction issued by the certificate server is transmitted to the terminal device.
- the certificate application method 600 may further include:
- step S660 the gateway receives the user certificate signing instruction from the certificate server, and the user certificate signing instruction is used to verify the user certificate.
- Step S662 Use the data transmission channel with the terminal device to send the user certificate signing instruction to the terminal device.
- the gateway supports a device communication protocol based on publishing topics and/or subscribing to topics, and the device communication protocol includes a message queue telemetry transmission protocol.
- the data transmission channel is a data transmission channel established based on the message queue telemetry transmission protocol.
- Fig. 7 shows a flowchart of a certificate application method according to another embodiment of the present specification.
- the certificate application method 700 in the embodiment of this specification includes the following steps:
- Step S710 Send a certificate issuing instruction to the gateway with a pre-established link, so that the gateway sends the certificate issuing instruction to the terminal device through the data transmission channel with the terminal device, where the data transmission channel is sent to the gateway based on the terminal device
- the message data corresponding to the subscription topic name includes the certificate issuing instruction.
- Step S720 Receive a user certificate registration request corresponding to the certificate issuing instruction, and apply for a user certificate according to the user certificate registration request.
- Step S730 Send the requested user certificate to the gateway, so that the gateway sends the user certificate to the terminal device through the data transmission channel.
- the certificate server pushes the instruction to the gateway, so that the gateway transmits the instruction to the terminal device through the data transmission channel with the terminal device.
- the data transmission process does not use browser controls to achieve compatibility with the browser. Sexual decoupling.
- step S710 may specifically include:
- Step S711 Determine the device login user identified by the received user identification code.
- Step S713 Receive the device identification information signed by the device certificate, and obtain the key pair of the device certificate corresponding to the device identification information.
- Step S715 using the public key in the key pair of the device certificate to verify the device certificate signature.
- step S717 if the verification result of the device certificate signature is passed, the identity information of the user who logs in to the device is obtained from the identity information of the user who has a mapping relationship with the device certificate.
- Step S719 In the case where the identity information of the device login user is successfully verified, a certificate issuance instruction is sent to the gateway.
- the certificate server pushes a certificate issuing instruction to the terminal device through the gateway, so that the terminal device generates a user certificate request according to the certificate issuing instruction.
- the certificate application method 700 may further include:
- step S740 if the verification result of the device certificate signature is passed, the gateway configuration information is delivered to the terminal device, so that the terminal device establishes a data transmission channel with the gateway based on the gateway configuration information.
- the certificate application method 700 may further include:
- Step S750 Determine the original signature verification text of the user certificate according to the received user certificate verification request.
- Step S752 Determine the device login user identified by the received user identification code, and obtain the device identification information of the device logged in by the device login user and the user certificate number of the device login user.
- step S754 the original text of the package signature verification, the device identification information of the logged-in device, and the user certificate code are obtained, and the user certificate signing instruction is obtained.
- the user certificate signing instruction is used to verify the user certificate.
- Step S756 Send the user certificate signing instruction to the gateway, so that the gateway sends the user certificate signing instruction to the terminal device through the data transmission channel.
- the certificate server pushes the user certificate signing instruction to the terminal device through the data transmission channel between the gateway and the terminal device.
- the certificate application method 700 may further include:
- Step S760 Receive the original signature verification text with the user certificate signature, and verify the user certificate signature according to the public key in the key pair of the user certificate.
- the certificate application method 700 further includes:
- Step S770 based on the received device name and user identification code, apply for a device certificate for the terminal device corresponding to the device name, and determine a key pair of the device certificate.
- Step S772 Use the private key in the key pair of the device certificate to generate the driver installation file of the device certificate, and send the driver installation file to the terminal device.
- Step S774 receiving the device activation information with the device certificate signature, and verifying the device certificate signature by using the public key in the key pair of the device certificate.
- step S776 when the device certificate signature verification is passed, according to the device activation information, it is determined that the login user identified by the user identification code is the user bound to the device certificate.
- the certificate server can apply for a device certificate, it can send a certificate driver to the terminal device and activate the device certificate.
- step S770 may specifically include:
- Step S770-01 Determine the device login user identified by the received user identification code, and verify the identity information of the device login user.
- step S770-03 when the identity information of the device login user is successfully verified, a key pair for applying for a device certificate is generated.
- Step S770-05 Generate a device certificate request according to the public key in the key pair used to apply for the device certificate, the device name, and the identity information of the device login user, so as to apply for the device certificate according to the device certificate request.
- Step S770-07 Use the key pair of the device certificate applied for as the key pair of the device certificate.
- the certificate server After the certificate server verifies the user identity information, it applies for a device certificate and determines the public and private key pair of the device certificate.
- step S772 may specifically include:
- step S772-01 the private key in the key pair of the device certificate is encrypted through the specified key encryption method to obtain an encrypted key file.
- white box encryption technology can be used to use the user identification code as the static encryption key to encrypt the private key in the key pair of the device certificate to obtain an encrypted key file.
- Step S772-03 package the device certificate and the encrypted key file to obtain the driver installation file of the device certificate.
- the certificate server can push messages to the gateway using the message queue telemetry transmission protocol to communicate with the data transmission channel established locally by the gateway and the terminal device, reducing the information interaction of browser controls and receiving browser compatibility.
- Fig. 8 shows a schematic structural diagram of a certificate application device according to an embodiment of this specification.
- the certificate application device 800 may include:
- the certificate issuing instruction receiving module 810 is configured to receive a certificate issuing instruction from a certificate server through a data transmission channel between the terminal device and the gateway.
- the data transmission channel is a channel established according to the subscription topic name sent by the terminal device to the gateway.
- the user certificate request sending module 820 is configured to generate a user certificate request according to the certificate issuing instruction, and send the user certificate request to the certificate server.
- the user certificate receiving module 830 is configured to receive the user certificate issued by the certificate server through the data transmission channel.
- the certificate issuance instruction is generated by the certificate server according to the service type of the service requested by the receiving browser, and the browser runs on the terminal device.
- the certificate application device 800 may further include:
- the gateway configuration receiving module is used to receive the gateway configuration information sent by the certificate server.
- the gateway configuration information includes: device identification code, gateway key, gateway address, and subscription topic name.
- the device identification code is used to identify the terminal device.
- the gateway address registration module is used to establish a link between the terminal device and the gateway according to the gateway key and the gateway address.
- the data channel establishment module is used to send the device identification code and the subscription topic name to the gateway to establish a data transmission channel corresponding to the subscription topic name, and the data transmission channel is used to transmit message data corresponding to the subscription topic name to the terminal device.
- the certificate application device 800 wherein:
- the equipment communication protocol includes the message queue telemetry transmission protocol, and the data transmission channel is a data transmission channel established based on the message queue telemetry transmission protocol.
- the user certificate request sending module 820 includes:
- the push content acquisition unit is used to acquire the push content in the certificate issuance instruction.
- the push content includes the push content challenge code, verified certificate subject information, and algorithm information.
- the user key pair generation unit is used to generate a user certificate key pair through algorithm information, and use the private key in the user certificate key pair to digitally sign the public key in the user certificate key pair to obtain a user certificate signature Public key.
- the user certificate request unit is used to encapsulate the public key with the user certificate signature and the verified certificate subject information to obtain the user certificate request.
- the certificate application device 800 may further include:
- the user signature instruction receiving module is used to receive the user certificate signature instruction through the data transmission channel, and obtain the original signature verification text, the device identification code, and the user certificate number in the user certificate signature instruction.
- the user certificate signature module is used to select the user certificate corresponding to the user certificate encoding on the terminal device with the device identification code, and use the private key in the key pair of the selected user certificate to sign the original text for signature verification, and obtain The original text of the signature verification signed by the user certificate.
- the user signature text sending module is used to send the signature verification text with the user certificate signature to the certificate server for verifying the user certificate.
- the certificate application device 800 may further include:
- the user input information submission module is used to submit the device name and input user identification code to the certificate server.
- the input user identification code is used for user identity verification when applying for a device certificate, and the device name is used to identify the terminal to which the requested device certificate belongs equipment.
- the certificate driver installation module is used to obtain the driver installation file through the received driver installation address, install the certificate driver using the driver installation file, and obtain the device certificate packaged in the driver installation file and the encrypted key file.
- the device certificate private key acquisition module is used to decrypt the encrypted key file according to the resubmitted user identification code to obtain the private key in the key pair of the device certificate.
- the certificate application device 800 may further include:
- the device certificate signing module is used to digitally sign the acquired device information by using the private key in the key pair of the device certificate to obtain the device activation information signed by the device certificate.
- the device activation information sending module is used to send the device activation information to the certificate server for device certificate activation.
- the mapping relationship establishment module is used to establish the mapping relationship between the user identified by the user identification code and the device certificate.
- the device name and the input user identification code are information submitted by the certificate server through the information collection page of the browser, and the information collection page is generated by the certificate server when the service processed by the browser requires the use of a device certificate.
- Fig. 9 shows a schematic structural diagram of a certificate application device according to an embodiment of this specification.
- the certificate application device 900 may include:
- the message data receiving module 910 is configured to receive message data from the certificate server.
- the message data includes a certificate issuing instruction, a user certificate, or a user certificate signing instruction.
- the data transmission channel selection module 920 is configured to determine the subscription topic name corresponding to the message data and the data transmission channel corresponding to the subscription topic name.
- the data transmission channel is a channel established according to the subscription topic name sent by the terminal device to the gateway.
- the message data sending module 930 is used to send message data using a data transmission channel.
- the certificate application device 900 may further include:
- the key receiving module is used to receive the gateway key from the terminal device.
- the key verification module is used to establish a link between the terminal device and the gateway when the gateway key verification is passed.
- the topic subscription module is used to receive the device identification code and the subscription topic name, and establish a data transmission channel corresponding to the subscription topic name.
- the device identification code is used to identify the terminal device.
- the gateway supports a device communication protocol based on publishing topics and/or subscribing to topics, and the device communication protocol includes a message queue telemetry transmission protocol.
- the data transmission channel is a data transmission channel established based on the message queue telemetry transmission protocol.
- Fig. 10 shows a schematic structural diagram of a certificate application device according to another embodiment of this specification.
- the certificate application apparatus 1000 may include:
- the certificate issuing instruction sending module 1010 is used to send a certificate issuing instruction to the gateway with a pre-established link, so that the gateway sends a certificate issuing instruction to the terminal device through the data transmission channel with the terminal device, where the data transmission channel It is a channel established based on the subscribed topic name sent by the terminal device to the gateway, and the message data corresponding to the subscribed topic name includes a certificate issuing instruction.
- the user certificate application module 1020 is configured to receive a user certificate registration request corresponding to the certificate issuing instruction, and apply for a user certificate according to the user certificate registration request.
- the user certificate sending module 1030 is configured to send the requested user certificate to the gateway, so that the gateway sends the user certificate to the terminal device through the data transmission channel.
- the certificate issuing instruction sending module 1010 may specifically include:
- the login user identification unit is used to determine the device login user identified by the received user identification code.
- the device certificate key pair obtaining unit is configured to receive the device identification information signed by the device certificate, and obtain the key pair of the device certificate corresponding to the device identification information.
- the device certificate signature verification unit is used to verify the device certificate signature by using the public key in the key pair of the device certificate.
- the user identity information obtaining unit is configured to, if the verification result of the device certificate signature is a pass, obtain the identity information of the device login user from the identity information of the user who has a mapping relationship with the device certificate.
- the first user identity verification unit is configured to send a certificate issuing instruction to the gateway when the identity information of the device login user is successfully verified.
- the certificate application device 1000 may further include:
- the gateway configuration information sending unit is configured to deliver gateway configuration information to the terminal device if the verification result of the device certificate signature is passed, so that the terminal device establishes a data transmission channel with the gateway based on the gateway configuration information.
- the certificate application device 1000 may further include:
- the user signature text determining module is used to determine the signature verification text of the user certificate according to the received user certificate verification request.
- the user signature package content determination module is used to determine the device login user identified by the received user identification code, and obtain the device identification information of the device logged in by the device login user and the user certificate number of the device login user.
- the user signature instruction generation module is used to encapsulate the original text of the signature verification, the device identification information of the logged-in device, and the user certificate code to obtain the user certificate signature instruction, and the user certificate signature instruction is used to verify the user certificate.
- the user signature instruction sending module is used to send the user certificate signing instruction to the gateway, so that the gateway sends the user certificate signing instruction to the terminal device through the data transmission channel.
- the certificate application device 1000 may further include:
- the user certificate signature verification module is used to receive the original signature verification text with the user certificate signature, and verify the user certificate signature according to the public key in the key pair of the user certificate.
- the certificate application device 1000 may further include:
- the device certificate application module is used to apply for a device certificate for the terminal device corresponding to the device name based on the received device name and user identification code, and determine the key pair of the device certificate.
- the certificate driver generation module is used to generate the driver installation file of the device certificate by using the private key in the key pair of the device certificate, and send the driver installation file to the terminal device.
- the device signature verification module is used to receive device activation information signed by the device certificate, and use the public key in the key pair of the device certificate to verify the device certificate signature.
- the user and device binding module is used to determine the login user identified by the user identification code as the user bound to the device certificate according to the device activation information when the device certificate signature verification is passed.
- the device certificate application module may specifically include:
- the second user identity verification unit is used to determine the device login user identified by the received user identification code, and verify the identity information of the device login user.
- the device certificate key pair generation unit is used to generate a key pair for applying for a device certificate when the identity information of the device login user is successfully verified.
- the device certificate request unit is used to generate a device certificate request according to the public key, the device name, and the identity information of the device login user in the key pair used to apply for the device certificate to apply for the device certificate according to the device certificate request.
- the device certificate key pair determining unit is configured to use the key pair of the device certificate applied for as the key pair of the device certificate.
- the certificate-driven generating module may specifically include:
- the device certificate private key encryption unit is used to encrypt the private key in the key pair of the device certificate through a specified key encryption method to obtain an encrypted key file.
- the certificate driver file packaging unit is used to package the device certificate and the encrypted key file to obtain the driver installation file of the device certificate.
- the device certificate private key encryption unit can be specifically used to: use white box encryption technology, use the user identification code as a static encryption key, encrypt the private key in the key pair of the device certificate, and obtain the certificate The encrypted key file.
- FIG. 11 is a structural diagram showing an exemplary hardware architecture capable of implementing a computing device according to an embodiment of the present specification.
- the computing device 1100 includes an input device 1101, an input interface 1102, a central processing unit 1103, a memory 1104, an output interface 1105, and an output device 1106.
- the input interface 1102, the central processing unit 1103, the memory 1104, and the output interface 1105 are connected to each other through the bus 1110.
- the input device 1101 and the output device 1106 are connected to the bus 1110 through the input interface 1102 and the output interface 1105, respectively, and then connected to the computing device 1100.
- the other components are connected.
- the input device 1101 receives input information from the outside, and transmits the input information to the central processing unit 1103 through the input interface 1102; the central processing unit 1103 processes the input information based on the computer executable instructions stored in the memory 1104 to generate output Information, the output information is temporarily or permanently stored in the memory 1104, and then the output information is transmitted to the output device 1106 through the output interface 1105; the output device 1106 outputs the output information to the outside of the computing device 1100 for the user to use.
- the computing device 1100 shown in FIG. 11 may be implemented as a terminal device.
- the terminal device may include a memory configured to store a program; and a processor configured to run a program stored in the memory to Perform the certificate application method applied to the terminal device described in the foregoing embodiment.
- the computing device 1100 shown in FIG. 11 may be implemented as a gateway device.
- the gateway may include a memory configured to store a program; and a processor configured to run a program stored in the memory to execute The certificate application method applied to the gateway described in the above embodiment.
- the computing device 1100 shown in FIG. 11 may be implemented as a certificate server.
- the certificate server may include a memory configured to store a program; and a processor configured to run a program stored in the memory to Perform the certificate application method applied to the certificate server described in the foregoing embodiment.
- the device embodiments described above are merely illustrative.
- the units described as separate components may or may not be physically separated, and the components displayed as units may or may not be physical units, that is, they may be located in One place, or it can be distributed to multiple network units. Some or all of the modules may be selected according to actual needs to achieve the objectives of the solutions of the embodiments. Those of ordinary skill in the art can understand and implement it without creative work.
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Telephonic Communication Services (AREA)
Abstract
本说明书实施例提供了一种证书申请方法、装置、终端设备、网关设备和服务器。该证书申请方法包括:通过终端设备与网关之间的数据传输通道,接收来自证书服务器的证书下发指令,数据传输通道是根据终端设备发送至网关的订阅主题名称建立的通道;根据证书下发指令生成用户证书请求,发送用户证书请求至证书服务器;通过数据传输通道接收服务器下发的用户证书。
Description
本说明书涉及计算机技术领域,尤其涉及一种证书申请方法、装置、终端设备、网关设备和服务器。
随着计算机技术的发展,互联网渗入到社会生活的各个方面。数字证书作为一种权威性的电子文档,可以用于证明在网络环境中进行信息交流及商务活动的各主体(如人、服务器等)的身份。由于数字证书具有不可更改性和不可抵赖性,可以广泛应用于数据加密、网络金融、网络政务等数据业务的应用场景中参与各方之间的交互信息有效性的检验。
数字证书本身存储在本地设备,在使用浏览器处理数据业务并需要进行交互信息的检验时,通过浏览器调用存储在本地的数字证书。由于浏览器技术的不断升级,以及浏览器的多样化和操作系统的多样性,对本地与浏览器之间通讯通道的稳定性提出更高的要求。因此需要提供一种更可靠的申请数字证书的方案。
发明内容
本说明书实施例提供一种证书申请方法、装置、终端设备、网关设备和服务器,服务器可以通过网关与设备之间的数据传输通道向设备传输数据,数据传输过程与浏览器使用的控件无关,实现与浏览器兼容性的解耦。
第一方面,本说明书实施例提供一种证书申请方法,包括:
通过终端设备与网关之间的数据传输通道,接收来自证书服务器的证书下发指令,数据传输通道是根据终端设备发送至网关的订阅主题名称建立的通道;
根据证书下发指令生成用户证书请求,发送用户证书请求至证书服务器;
通过数据传输通道接收证书服务器下发的用户证书。
第二方面,本说明书实施例提供一种证书申请装置,包括:
证书下发指令接收模块,用于通过终端设备与网关之间的数据传输通道,接收来自 证书服务器的证书下发指令,数据传输通道是根据终端设备发送至网关的订阅主题名称建立的通道;
用户证书请求发送模块,用于根据证书下发指令生成用户证书请求,发送用户证书请求至证书服务器;
用户证书接收模块,用于通过数据传输通道接收证书服务器下发的用户证书。
第三方面,本说明书实施例提供一种终端设备,包括:存储器和处理器;该存储器用于存储程序;该处理器用于读取存储器中存储的可执行程序代码以执行上述第一方面的证书申请方法。
第四方面,本说明书实施例提供一种证书申请方法,包括:
接收来自证书服务器的消息数据,消息数据包括证书下发指令、用户证书或用户证书签名指令;
确定与消息数据对应的订阅主题名称,选择与订阅主题名称对应的数据传输通道,数据传输通道是根据终端设备发送至网关的订阅主题名称建立的通道;
利用数据传输通道发送消息数据。
第五方面,本说明书实施例提供一种证书申请装置,包括,
消息数据接收模块,用于接收来自证书服务器的消息数据,,消息数据包括证书下发指令、用户证书或用户证书签名指令;
数据传输通道选择模块,用于确定与消息数据对应的订阅主题名称,以及与订阅主题名称对应的数据传输通道,数据传输通道是根据终端设备发送至网关的订阅主题名称建立的通道;
消息数据发送模块,用于利用数据传输通道发送消息数据。
第六方面,本说明书实施例提供一种网关设备,包括:
存储器和处理器;该存储器用于存储程序;该处理器用于读取存储器中存储的可执行程序代码以执行上述第四方面的证书申请方法。
第七方面,本说明书实施例提供一种证书申请方法,包括:
向预先建立链接的网关发送证书下发指令,以使网关通过与终端设备的之间数据传输通道,向终端设备发送证书下发指令,其中,数据传输通道是根据终端设备发送至网 关的订阅主题名称建立的通道,订阅主题名称对应的消息数据包括证书下发指令;
接收与证书下发指令对应的用户证书注册请求,根据用户证书注册请求申请用户证书;
向网关发送申请到的用户证书,以使网关通过数据传输通道,向终端设备发送用户证书。
第八方面,本说明书实施例提供一种证书申请装置,包括:
证书下发指令发送模块,用于向预先建立链接的网关发送证书下发指令,以使网关通过与终端设备的之间数据传输通道,向终端设备发送证书下发指令,其中,数据传输通道是根据终端设备发送至网关的订阅主题名称建立的通道,订阅主题名称对应的消息数据包括证书下发指令;
用户证书申请模块,用于接收与证书下发指令对应的用户证书注册请求,根据用户证书注册请求申请用户证书;
用户证书发送模块,用于向网关发送申请到的用户证书,以使网关通过数据传输通道,向终端设备发送用户证书。
第九方面,本说明书实施例提供一种证书服务器,包括:
存储器和处理器;该存储器用于存储程序;该处理器用于读取存储器中存储的可执行程序代码以执行上述第七方面的证书申请方法。
根据本说明书实施例中的证书申请方法、装置、终端设备、网关设备和服务器,证书服务器通过网关与终端设备之间的数据传输通道,向终端设备推送指令以及申请到的数字证书,数据传输过程与浏览器使用的控件无关,从而实现与浏览器兼容性的解耦。
为了更清楚地说明本说明书实施例的技术方案,下面将对本说明书实施例中所需要使用的附图作简单地介绍,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1示出本说明书一个实施例的数字证书管理系统的架构示意图;
图2示出本说明书一个实施例的设备注册、证书驱动安装以及设备激活过程中的信令流程示意图;
图3示出本说明书一个实施例的数字证书管理系统的架构示意图;
图4示出本说明书一个实施例的用户证书申请、用户证书安装和用户证书校验的信令流程示意图;
图5示出本说明书一个实施例的证书申请方法的流程图;
图6示出本说明书一个实施例的证书申请方法的流程图;
图7示出本说明书另一实施例的证书申请方法的流程图;
图8示出本说明书一实施例的证书申请装置的结构示意图;
图9示出本说明书一实施例的证书申请装置的结构示意图;
图10示出本说明书另一实施例的证书申请装置的结构示意图;
图11示出能够实现根据本说明书实施例的计算设备的示例性硬件架构的结构图。
下面将详细描述本说明书的各个方面的特征和示例性实施例,为了使本说明书的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本说明书进行进一步详细描述。应理解,此处所描述的具体实施例仅被配置为解释本说明书,并不被配置为限定本说明书。对于本领域技术人员来说,本说明书可以在不需要这些具体细节中的一些细节的情况下实施。下面对实施例的描述仅仅是为了通过示出本说明书的示例来提供对本说明书更好的理解。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括……”限定的要素,并不排除在包括要素的过程、方法、物品或者设备中还存在另外的相同要素。
在本说明的一个或多个实施例中,数字证书是经第三方证书授权(Certificate Authority,CA)机构进行数字签名的包含公开密钥拥有者信息以及公开密钥的文件。本说明书实施例中的第三方CA机构,是指数字证书签发机构和用户证书签发机构。第三 方CA机构可以根据证书服务器13提交的证书颁发请求签发证书,以防证书被伪造或篡改,以及对证书和密钥进行管理。
本说明书描述的实施例中,数字证书在需要进行交互信息有效性检验的数字业务场景中,可以实现非对称加密、金融合规性验证以及电子签名等功能。物联网(Internet of Things,IoT)系统、移动终端和个人计算机(Personal Computer,PC)等互联网环境中的信息载体均可以服务于需要进行信息有效性验证的数据业务场景。
在本说明书的实施例中,用户可以包括通过浏览器处理数字业务的B类用户或C类用户。B类用户例如可以是通过浏览器处理数字业务的企业用户、签约用户等以组织形态存在的用户,C类用户可以是通过浏览器处理数字业务的个人。
在本说明书的实施例中,大量用户由于工作性质,需要使用终端设备上运行的浏览器,基于浏览器的互联网(World Wide Web,WEB)模式在网络环境中进行信息交流及商务活动。由于数字证书本身需要安装在终端设备本地,而浏览器与终端设备本地的数据传输通道的复杂度与稳定性被浏览器的多样化与操作系统的多样性所影响。
随着浏览器技术不断的升级以及不同浏览器中的权限控制,用户需要使用浏览器的控件与证书服务器端进行通讯,以实现数据业务的应用场景中参与各方之间的交互信息有效性的检验。这些浏览器的控件例如可以包括但不限于:网景插件应用程序编程接口(Netscape Plugin Application Programming Interface,NPAPI)、本地客户端(Native Client)插件、面向对象程序技术和工具ActiveX控件、以及通过单个传输层通信控制协议(Transmission Control Protocol,TCP)连接提供浏览器和证书服务器之间进行全双工通讯(例如双向通信)信道的计算机通信协议WebSocket协议控件。
本说明书的至少一个实施例中,提供一种证书申请方法、装置、终端设备、网关设备和服务器,通过与浏览器的解耦,实现操作系统中数字证书的申请与使用与浏览器无关,使得用户在进行基于浏览器的WEB模式在网络环境中进行参与各方之间的交互信息有效性检验时,解除对浏览器及对浏览器控件的依赖的同时,保证数据业务场景中数据交互信息的可靠性。
本说明书实施例的描述中,数字证书可以包括设备证书和用户证书。其中,设备证书可以理解为用于标识指定的设备,对需要进行数据交互信息验证时使用的设备进行安全验证;用户证书可以理解为用于标识互联网数据业务中用户的身份,以及用于用户身份验证和用户签名。
下面首先通过图1和图2,描述本说明至少一个实施例的设备注册、证书驱动安装以及设备激活的具体流程。图1示出本说明书一个实施例的数字证书管理系统的架构示意图;图2示出本说明书一个实施例的设备注册、证书驱动安装以及设备激活过程中的信令流程示意图。
如图1所示,在一个实施例中,数据证书管理系统10可以包括终端设备12、证书服务器13和第三方证书授权中心14。
其中,终端设备12可以是个人计算机(Personal Computer,PC),例如手机终端、台式计算机、桌面电脑、笔记本电脑、上网本、平板电脑以及超级本等属于个人计算机的范畴。证书服务器13是可以对设备和用户进行身份认证的服务器、服务器集群以及云平台。在本说明书下述实施例的描述中,终端设备12例如可以是PC设备。
用户11,可以包括通过浏览器处理数字业务的B类用户或C类用户。B类用户例如可以是通过浏览器处理数字业务的企业用户、签约用户等以组织形态存在的用户,C类用户可以是通过浏览器处理数字业务的个人。
如图2所示,在一个实施例中,设备注册的步骤具体可以包括:
步骤S101,如图2中“1.1设备注册,设定PIN码”所示,用户在处理数字业务需要使用数字证书时,在数字业务处理的WEB页面上提交设备名称和用户识别码(Personal Identification Number,PIN)。由于PIN码由用户设定,只有当前使用设备的用户才知道该PIN码,因此PIN码可以视为用户在本地设置的用户密码,用于标识当前进行设备登录的用户。作为示例,PIN码可以是用户设定的指定位数的数字。
步骤S103,如图2中“1.2身份核身”所示,证书服务器13收到用户的设备注册请求时,触发对用户身份进行核实校验。本说明书实施例中,对用户身份进行核实校验的方式可以有多种,作为示例,身份核身信息可以包括但不限于短信验证码、人脸图像和指纹信息等信息。
步骤S105,如图2中“1.3生成公私钥对”所示,证书服务器13可以通过设备证书的公私钥对。
在该步骤中,生成设备证书的算法包括但不限于非对称加密算法RSA加密算法、椭圆曲线公钥密码算法SM2加密算法等。设备证书的公私钥对可以包括设备证书的公钥和设备证书的私钥。
步骤S107,如图2中“1.4申请设备证书”所示,证书服务器13可以将设备证书的公 钥、设备名称和身份核身信息进行封装,生成设备证书注册请求,向第三方CA请求生成设备证书。
步骤S109,如图2中“1.5生成密钥图片”所示,证书服务器13可以基于白盒加密的方式,利用上述步骤S101中上传的PIN码作为加密钥匙,将设备证书的私钥存储在经加密的指定格式的文件中。作为示例,该经加密的指定格式的文件例如可以是加密的图片。
在该步骤中,白盒加密作为一种可以抵御白盒攻击的加密算法技术,可以将设备证书的密钥进行文件混淆,并可以在文件混淆后统一提供加密接口、解密接口、添加设备证书签名的接口以及验证设备证书签名的接口。
步骤S111,如图2中“1.6打包生成可执行文件”所示,证书服务器13可以根据经加密存储的设备证书的私钥的加密文件,打包生成证书驱动的安装文件包。该证书驱动的安装包为可执行文件。
步骤S113,如图2中“1.7返回安装驱动地址”所示,证书服务器13向终端设备12返回安装驱动地址。
继续参考图2,证书驱动安装的步骤具体可以包括:
步骤S115,如图2中“2.1安装驱动包”所示,终端设备12根据安装驱动地址获取证书驱动的安装包,利用证书驱动的安装包安装证书驱动,以将设备证书保存在设备本地。
步骤S117,如图2中“2.2初始化设备证书”所示,用户11在终端设备12安装证书驱动后,开始初始化设备证书。
在该步骤中,初始化设备证书时,用户11输入PIN码,终端设备12将该PIN码作为解密钥匙,通过特定的数学公式还原出设备证书的私钥。
步骤S119,如图1中“2.3采集本地设备信息”所示,终端设备12可以利用设备证书的私钥对采集的设备信息进行设备证书签名。
在该步骤中,设备信息例如可以包括如下信息项的一项或多项:设备的物理地址MAC地址(Media Access Control Address)、设备标识码DeviceID、设备IP地址(Internet Protocol Address)、设备所在的操作系统的操作系统信息、设备所使用网络的网络信息、中央处理器(Central Processing Unit,CPU)信息以及设备签名随机数。
其中,DeviceID时证书驱动安装完成后自动生成的设备标识码,设备签名随机数是 进行设备证书签名时随机生成的数字,用于使经本次设备证书签名的原文难以再现,保证设备证书签名的唯一性和数据安全性。
继续参考图2,在一个实施例中,设备激活的步骤具体可以包括:
如图2中“2.4设备激活”所示,终端设备12根据设备证书签名的设备信息,生成设备激活请求,并发送设备激活请求至服务器13。
如图2中“2.5校验设备证书签名”所示,服务器13根据设备激活请求,利用设备证书的公钥对设备证书签名进行验证,如果验证设备签名正确,获取通过设备激活请求上报的设备信息。
如图2中“2.6绑定设备证书和用户”所示,验证设备签名正确时,绑定用户与设备证书。其中,设备证书可以标识设备信息所属的设备,用户为输入PIN码的登录当前设备的用户。
如图2中“2.7设备激活”所示,证书服务器13向终端设备12返回激活完成信息;以及如图2中“2.8设备激活”所示,终端设备12生成提示信息以提示终端设备激活完成。
通过上述实施例的描述,通过设备注册、证书驱动安装以及以及设备激活的具体流程,实现用户与设备证书的绑定。
下面通过图3和图4,描述本说明至少一个实施例的用户证书申请、用户证书安装和用户证书校验的具体流程。图3示出本说明书一个实施例的数字证书管理系统的架构示意图;图4示出本说明书一个实施例的用户证书申请、用户证书安装和用户证书校验的信令流程示意图。图3、图4与图1和图2中相同或等同的结构使用相同的标号。
如图3所示,数字证书管理系统10还可以包括网关15。本说明书实施例中网关15包括实现网络互联的计算机系统或设备。
如图4所示,在一个实施例中,用户证书申请的步骤具体可以包括:
步骤S201,如图4中“1.1启动证书驱动”所示,用户11在终端设备12启动证书驱动。首次启动证书驱动时,在终端设备12提示用户11输入PIN码,利用PIN码确定登录设备的用户。
步骤S203,如图4中“1.2登录设备”所示,证书驱动调用设备证书对包括设备标识ID的设备标识信息进行设备证书签名,将经设备证书签名的设备标识信息上报到证书服务器。
在该步骤中,设备标识信息中还可以包括设备签名随机数。
步骤S205,如图4中“校验设备证书”所示,证书服务器13调用设备证书验证证书签名。
在该步骤中,证书服务器13在验证设备证书签名时,可以利用设备证书与用户的绑定关系,通过使用的设备证书关联到登录设备的用户。
步骤S207,如图4中“1.4返回网关与配置”所示,证书服务器13验证设备证书签名通过时,可以基于设备标识信息中的设备标识ID获取与设备证书绑定的用户的信息,并向该用户登录的设备下发终端设备链接网关的配置信息。
在该步骤中,网关的配置信息可以包括设备标识信息例如设备标识码、网关密钥、网关地址以及网关订阅主题Topic名称。设备标识码用于标识需要建立与网关数据传输通道的设备;网关密钥用于对设备对网关的数据链接请求进行校验,若校验通过,则允许建立该数据传输通道;网关订阅主题名称,用于指示终端设备12需要订阅指定的主题,网关15作为消息生产者,证书服务器13将消息推送到该主题,订阅该主题的终端设备12将收到该消息。
步骤S209,如图4中“1.5长链接和订阅主题”所示,终端设备12向网关15订阅消息主题,以建立网关15与终端设备12之间的数据传输通道。
在一个实施例中,终端设备12与网关15之间的发生数据交互时建立的数据传输通道为基于长链接的数据传输通道,从而避免频繁建立与网关的数据传输通道而造成网络资源的浪费,节约网络资源。
在一个实施例中,网关15支持基于发布主题和/或订阅主题的设备通讯协议,包括消息队列遥测传输协议(Message Queuing Telemetry Transport,MQTT)。MQTT协议是属于物联网的数据传输协议,适用于网络受限环境,使用传输控制协议/因特网互联协议(Transmission Control Protocol/Internet Protocol,TCP/IP)提供网络连接,并可以提供订阅消息模式和发送消息模式,在通过网关提供一对多(例如不同设备)的消息发布时,解除与其他应用程序例如与浏览器控件的耦合。
在本说明书实施例中,基于MQTT协议,终端设备和网关建立数据传输通道后,证书服务器可以作为消息发送方,终端设备可以作为消息订阅方,网关可以作为消息代理方。具体地,当消息发送方发送一个主题对应的消息给消息代理方,消息代理方会将主题对应的消息发送给所有订阅了该主题的消息订阅方。
在本说明书实施例中,可以预先建立证书服务器与网关之间的连接,将网关作为消息代理方,负责接收所有来自证书服务器的消息数据,确定获取的消息数据对应的主题,然后将消息数据发送给订阅该主题的终端设备。
在一个实施例中,消息的主题可以理解为是消息类型,且该消息类型对应一个网关与终端设备之间的数据传输通道,终端设备订阅了主题,就会收到网关转发的该主题的消息内容。
由于MQTT协议采用发布/订阅的消息通讯模式,发布/订阅的消息通讯模式具有服务自发现的特点,通过消息主题的订阅模式,可以将服务器端(消息生产者)和终端设备(消息订阅者)更好的解耦,在利用MQTT进行消息传输的过程中,在终端设备与网关之间建立基于MQTT协议的数据连接通道,证书服务器通过网关向终端设备推送订阅主题对应的消息数据,通讯过程不需要其他配置文件或者是第三方插件支持,从而可以解除通讯双方对浏览器控件的依赖。
在一个实施例中,终端设备12安装证书驱动后,每次启动终端设备12时,可以基于MQTT协议建立终端设备12与网关15之间的长链接。
在下述说明书实施例的描述中,可以将使用MQTT协议的网关简称为MQTT网关;以及将网关向设备传输数据的通道,简称为MQTT网关与设备的下行通道。
在一个实施例中,通过MQTT网关与多个设备进行数据传输时,下行通道进行的数据通讯可以是异步通讯方式。证书服务器将指令发送到MQTT网关,MQTT网关可以通过与设备的双向通讯连接,通过异步调用机制与设备进行数据交换。
在一个实施例中,远程过程调用是使用远程过程调用协议(Remote Procedure Call Protocol,RPC)的方式,通过网络从远程计算机上请求服务,而不需要了解底层网络技术的技术。
在该实施例中,证书服务器13可以通过网关15与终端设备12之间基于MQTT协议建立的数据传输通道,对设备本地进行远程过程调用,直接向设备推送指令或申请到的证书,从而实现与浏览器兼容性的解耦。
步骤S211,如图4中“1.6启动成功”所示,终端设备12与网关15生成建立数据传输通道后,可以向用户11发送证书驱动启动成功的提示信息。
继续参考图4,在一个实施例中,安装用户证书的步骤具体可以包括:
步骤S213,如图4中“2.1业务触发安装用户证书”所示,用户11在使用浏览器处理数据业务时,根据处理的数据业务触发安装用户证书的步骤和校验用户证书的步骤。
步骤S215,如图4中“2.2身份核实”所示,证书服务器13可以通过核身的方式验证需要申请用户证书的用户的主体信息。
在该步骤中,证书服务器13通过上述步骤S201中用户11输入的PIN码确定登录设备的用户11,以获取用户11的主体信息对该主体信息进行验证。用户的主体信息验证通过时,证书服务器13可以建立设备证书与用户的关联。
步骤S217,如图4中“2.3推送证书下发指令”所示,通过终端设备12与网关15之间建立的数据传输通道,向终端设备12推送用户证书安装指令。
在该步骤中,证书服务器13下达用户证书安装指令时,可以根据登录设备的用户关联到设备,并向该设备下发用户证书安装指令。
在一个实施例中,用户证书安装指令中包括如下推送内容:推送内容挑战码、经核实的证书主体信息和算法信息。其中,挑战码可以用于对用户证书下发指令中的推送内容进行加密验证,保证用户证书下发指令的传输过程用户的真实信息不会被泄露,算法信息用于生成用户证书的密钥对。
步骤S219,如图4中“2.4触发指令”所示,网关15通过与终端设备12之间的数据传输通道,向终端设备12发送该用户证书安装指令。
步骤S221,如图4中“2.5生成用户证书生成请求”所示,终端设备12基于算法信息生成用户证书的公私钥对,用户证书的公私钥对包括用户证书的公钥和用户证书的私钥;终端设备12将用户证书的公钥、经核实的证书主体信息以及用户证书的私钥对用户证书的公钥的签名信息进行封装,得到用户证书生成请求。
步骤S223,如图4中“2.6申请用户证书”所示,证书服务器13接收到用户证书生成请求,将用户证书生成请求转发给第三方CA机构14,请求第三方CA机构14生成用户证书。
步骤S225,如图4中“2.7下发用户证书”所示,证书服务器13将申请到的用户证书下发至终端设备12。
步骤S227,如图4中“2.8本地写入用户证书”所示,终端设备12将接收到的用户证书信息写入设备本地,以完成用户证书安装流程。
继续参考图4,在一个实施例中,校验用户证书的步骤具体可以包括:
步骤S229,如图4中“3.1业务触发校验用户证书”所示,用户11在使用浏览器处理数据业务时,根据处理的数据业务需要证书服务器13对用户证书进行校验。
步骤S231,如图4中“3.2生成证书签名指令”所示,证书服务器13生成用户证书签名指令,用户证书签名指令中的封装信息包括根据处理的数据业务生成的待签名原文、用户签名随机数、用户签名挑战码、设备标识码和用户证书编码等信息。
在该步骤中,证书服务器13下发用户证书签名指令时,是基于用户11所登录的设备进行的信息推送。
步骤S233,如图4中“3.3推送签名指令”所示,证书服务器13将用户证书签名指令下发到网关15。
步骤S235,如图4中“3.4触发签名指令”所示,网关15通过与终端设备12之间的数据传输通道,将用户证书签名指令发送到终端设备12。
步骤S237,如图4中“3.5用户证书签名”所示,终端设备12收到用户证书签名指令,基于用户证书编码选择对应的用户证书,以利用用户证书的私钥对待签名原文进行用户证书签名。
步骤S239,如图4中“3.6上报签名信息”所示,终端设备12将经用户证书签名的上报证书服务器13。
步骤S241,如图4中“3.7校验用户签名”所示,证书服务器13利用用户证书的公钥对用户签名进行验证,以验证用户证书。
步骤S243,如图4中“3.8业务校验证书完成”所示,证书服务器13验证用户证书成功时,向终端设备12返回校验用户证书成功的提示信息。
在本说明上述实施例描述的用户证书申请、用户证书安装和用户证书校验中,可以通过基于发布/订阅主题的设备通讯协议例如MQTT协议的网关与设备的下行数据传输通道,将信息推送至设备本地,从而实现用户证书与浏览器的兼容性解耦。
图5是示出根据本说明书一个实施例的证书申请方法的流程图。如图5所示,本说明书实施例中的证书申请方法500包括以下步骤:
步骤S510,通过终端设备与网关之间的数据传输通道,接收来自证书服务器的证书下发指令,数据传输通道是根据终端设备发送至网关的订阅主题名称建立的通道。
步骤S520,根据证书下发指令生成用户证书请求,发送用户证书请求至证书服务器。
步骤S530,通过数据传输通道接收证书服务器下发的用户证书。
根据本说明书实施例的证书申请方法,设备可以根据与网关之间的数据传输通道,接收来自证书服务器的证书下发指令和用户证书,从而提供一种更可靠的使用用户数字证书的方案,实现操作系统维度下数字证书的使用与浏览器的兼容。
在一个实施例中,证书下发指令,是证书服务器根据接收浏览器所请求业务的业务类型生成的,浏览器运行于终端设备。
在一个实施例中,证书申请方法500还可以包括:
步骤S540,接收证书服务器发送的网关配置信息,网关配置信息包括:设备标识码、网关密钥、网关地址和订阅主题名称,设备标识码用于标识终端设备。
步骤S542,根据网关密钥和网关地址,建立终端设备与网关的链接。
步骤S544,向网关发送设备标识码和订阅主题名称,以建立与订阅主题名称对应的数据传输通道,数据传输通道用于向终端设备传输与订阅主题名称对应的消息数据。
在该实施例中,终端设备可以通过接收的网关配置信息,建立与网关的数据传输通道,其中,网关支持基于发布主题和/或订阅主题的设备通讯协议。
在一个实施例中,设备通讯协议包括消息队列遥测传输协议。
在一个实施例中,步骤S520具体可以包括:
步骤S521,获取证书下发指令中的推送内容,推送内容包括推送内容挑战码、经核实的证书主体信息和算法信息。
步骤S523,通过算法信息生成用户证书密钥对,利用用户证书密钥对中的私钥,对用户证书密钥对中的公钥进行数字签名,得到具有用户证书签名的公钥。
步骤S525,封装具有用户证书签名的公钥和经核实的证书主体信息,得到用户证书请求。
在该实施例中,终端设备根据证书服务器推送的证书下发指令中的推送内容,生成用户证书的密钥对,并利用用户证书的私钥对用户证书的公钥进行签名后,生成用户证书请求,以使证书服务器根据该用户证书请求向第三方CA申请签发用户证书。
在一个实施例中,证书申请方法500还可以包括:
步骤S550,通过该数据传输通道接收用户证书签名指令,获取用户证书签名指令中的签名校验原文、设备标识码以及用户证书编号。
步骤S552,在具有设备标识码的终端设备,选择用户证书编码对应的用户证书,利用所选择的用户证书的密钥对中的私钥,对签名校验原文进行签名,得到具有用户证书签名的签名校验原文。
步骤S554,向证书服务器发送具有用户证书签名的签名校验原文,以用于校验用户证书。
在该实施例中,终端设备使用用户证书对签名校验原文进行签名后,请求证书服务器校验用户证书签名。
在一个实施例中,证书申请方法500还可以包括:
步骤S560,向证书服务器提交设备名称和输入的用户识别码,输入的用户识别码用于申请设备证书时的用户身份校验,设备名称用于标识申请的设备证书所属的终端设备。
步骤S562,通过接收的驱动安装地址以获取驱动安装文件,利用驱动安装文件安装证书驱动,得到驱动安装文件中打包的设备证书和经加密的密钥文件。
步骤S564,根据再次提交的用户标识码,对经加密的密钥文件进行解密,得到设备证书的密钥对中的私钥。
在该实施例中,终端设备向证书服务器请求安装设备证书,获取设备证书的密钥文件。
在一个实施例中,证书申请方法500还可以包括:
步骤S570,利用设备证书的密钥对中的私钥对获取的设备信息进行数字签名,得到具有设备证书签名的设备激活信息。
步骤S572,向证书服务器发送设备激活信息,以进行设备证书激活。
步骤S574,建立用户识别码所标识的用户与设备证书的映射关系。
在一个实施例中,设备名称和输入的用户识别码,是证书服务器通过浏览器的信息采集页面提交的信息,信息采集页面是证书服务器在浏览器处理的业务需要使用设 备证书时生成的。
在该实施例中,终端设备向服务器请求设备证书激活,设备证书激活后,进行用户与设备证书的绑定,形成用户与设备证书之间的映射关系。
图6是示出根据本说明书一个实施例的证书申请方法的流程图。如图6所示,本说明书实施例中的证书申请方法600包括以下步骤:
步骤S610,接收来自证书服务器的消息数据,消息数据包括证书下发指令、用户证书或用户证书签名指令。
步骤S620,确定与消息数据对应的订阅主题名称,选择与订阅主题名称对应的数据传输通道,数据传输通道是根据终端设备发送至网关的订阅主题名称建立的通道。
步骤S630,利用数据传输通道发送消息数据。
作为一个示例,网关接收来自证书服务器的证书下发指令;确定与证书下发指令对应的订阅主题名称,选择与订阅主题名称对应的数据传输通道,利用网关与终端设备的数据传输通道,将证书下发指令发送至终端设备。
根据本说明书实施例的证书申请方法,网关将接收到的来自证书服务器的指令,通过与终端设备之间的据传输通道推送到终端设备,数据传输过程不使用浏览器控件,实现与浏览器兼容性的解耦。
在一个实施例中,证书申请方法600还可以包括:
步骤S650,接收来自终端设备的网关密钥。
步骤S652,对网关密钥验证通过时,建立终端设备与网关之间的链接。
步骤S654,接收设备标识码和订阅主题名称,建立与订阅主题名称对应的数据传输通道,设备标识码用于标识终端设备。
在该实施例中,验证网关密钥无误后,通过订阅主题的方式,建立网关向终端设备的下行数据传输通道,将证书服务器下发的指令传输到终端设备。
在一个实施例中,证书申请方法600还可以包括:
步骤S660,网关接收来自证书服务器的用户证书签名指令,用户证书签名指令用于校验用户证书。
步骤S662,利用与终端设备的数据传输通道,将用户证书签名指令发送至终端 设备。
在一个实施例中,网关支持基于发布主题和/或订阅主题的设备通讯协议,设备通讯协议包括消息队列遥测传输协议。
在一个实施例中,数据传输通道是基于消息队列遥测传输协议建立的数据传输通道。
图7示出了根据本说明书另一实施例的证书申请方法的流程图。如图7所示,本说明书实施例中的证书申请方法700包括以下步骤:
步骤S710,向预先建立链接的网关发送证书下发指令,以使网关通过与终端设备的之间数据传输通道,向终端设备发送证书下发指令,其中,数据传输通道是根据终端设备发送至网关的订阅主题名称建立的通道,订阅主题名称对应的消息数据包括证书下发指令。
步骤S720,接收与证书下发指令对应的用户证书注册请求,根据用户证书注册请求申请用户证书。
步骤S730,向网关发送申请到的用户证书,以使网关通过数据传输通道,向终端设备发送用户证书。
根据本说明书实施例的证书申请方法,证书服务器向网关推送指令,以使网关通过与终端设备的数据传输通道,向终端设备传输该指令,数据传输过程不使用浏览器控件,实现与浏览器兼容性的解耦。
在一个实施例中,步骤S710具体可以包括:
步骤S711,确定接收的用户识别码所标识的设备登录用户。
步骤S713,接收具有设备证书签名的设备标识信息,获取设备标识信息对应的设备证书的密钥对。
步骤S715,利用设备证书的密钥对中的公钥,验证设备证书签名。
步骤S717,如果设备证书签名的验证结果为通过,从与设备证书具有映射关系的用户的身份信息中,获取设备登录用户的身份信息。
步骤S719,在设备登录用户的身份信息核实成功的情况下,向网关发送证书下发指令。
在该实施例中,证书服务器核实用户身份信息后,通过网关向终端设备推送证书下发指令,以使终端设备根据该证书下发指令生成用户证书请求。
在一个实施例中,证书申请方法700还可以包括:
步骤S740,如果设备证书签名的验证结果为通过,向终端设备下发网关配置信息,以使终端设备基于网关配置信息与网关建立数据传输通道。
在一个实施例中,证书申请方法700还可以包括:
步骤S750,根据接收的用户证书校验请求,确定用户证书的签名校验原文。
步骤S752,确定接收的用户识别码所标识的设备登录用户,获取设备登录用户所登录设备的设备标识信息和设备登录用户的用户证书编号。
步骤S754,封装签名校验原文、所登录设备的设备标识信息以及用户证书编码,得到用户证书签名指令,用户证书签名指令用于对用户证书进行校验。
步骤S756,向网关发送用户证书签名指令,以使网关通过数据传输通道,向终端设备发送用户证书签名指令。
在该实施例中,证书服务器通过网关与终端设备之间的数据传输通道,向终端设备推送用户证书签名指令。
在一个实施例中,证书申请方法700还可以包括:
步骤S760,接收具有用户证书签名的签名校验原文,根据用户证书的密钥对中的公钥,验证用户证书签名。
在一个实施例中,证书申请方法700还包括:
步骤S770,基于接收的设备名称和用户识别码,为设备名称对应的终端设备申请设备证书,确定设备证书的密钥对。
步骤S772,利用设备证书的密钥对中的私钥,生成设备证书的驱动安装文件,向终端设备发送驱动安装文件。
步骤S774,接收具有设备证书签名的设备激活信息,利用设备证书的密钥对中的公钥,验证设备证书签名。
步骤S776,设备证书签名验证通过时,根据设备激活信息,确定通过用户识别码识别的登录用户为与设备证书绑定的用户。
在该实施例中,证书服务器可以申请设备证书后,可以向终端设备发送证书驱动,并对设备证书进行激活。
在一个实施例中,步骤S770具体可以包括:
步骤S770-01,确定接收的用户识别码所标识的设备登录用户,核实设备登录用户的身份信息。
步骤S770-03,设备登录用户的身份信息核实成功时,生成用于申请设备证书的密钥对。
步骤S770-05,根据用于申请设备证书的密钥对中的公钥、设备名称、以及设备登录用户的身份信息,生成设备证书请求,以根据设备证书请求申请设备证书。
步骤S770-07,将申请到的设备证书的密钥对作为设备证书的密钥对。
在一个实施例中,证书服务器对用户身份信息进行核实后,申请设备证书并确定设备证书的公私钥对。
在一个实施例中,步骤S772具体可以包括:
步骤S772-01,通过指定的密钥加密方法,对设备证书的密钥对中的私钥进行加密,得到经加密的密钥文件。
在该步骤中,可以利用白盒加密技术,使用用户识别码作为静态加密密钥,对设备证书的密钥对中的私钥进行加密,得到经加密的密钥文件。
步骤S772-03,打包设备证书和经加密的密钥文件,得到设备证书的驱动安装文件。
根据本说明书实施例的证书申请方法,证书服务器可以消息队列遥测传输协议向网关推送消息,以利用网关与终端设备本地建立的数据传输通道进行通信,降低浏览器控件的信息交互收到浏览器兼容性影响的问题,实现数字证书与浏览器解耦。
图8示出了根据本说明书一实施例的证书申请装置的结构示意图。如图8所示,在一个实施例中,证书申请装置800可以包括:
证书下发指令接收模块810,用于通过终端设备与网关之间的数据传输通道,接收来自证书服务器的证书下发指令,数据传输通道是根据终端设备发送至网关的订阅主题名称建立的通道。
用户证书请求发送模块820,用于根据证书下发指令生成用户证书请求,发送用户证书请求至证书服务器。
用户证书接收模块830,用于通过数据传输通道接收证书服务器下发的用户证书。
在一个实施例中,证书下发指令,是证书服务器根据接收浏览器所请求业务的业务类型生成的,浏览器运行于终端设备。
在一个实施例中,证书申请装置800还可以包括:
网关配置接收模块,用于接收证书服务器发送的网关配置信息,网关配置信息包括:设备标识码、网关密钥、网关地址和订阅主题名称,设备标识码用于标识终端设备。
网关地址登录模块,用于根据网关密钥和网关地址,建立终端设备与网关的链接。
数据通道建立模块,用于向网关发送设备标识码和订阅主题名称,以建立与订阅主题名称对应的数据传输通道,数据传输通道用于向终端设备传输与订阅主题名称对应的消息数据。
在一个实施例中,证书申请装置800,其中,
设备通讯协议包括消息队列遥测传输协议,数据传输通道是基于消息队列遥测传输协议建立的数据传输通道。
在一个实施例中,用户证书请求发送模块820包括:
推送内容获取单元,用于获取证书下发指令中的推送内容,推送内容包括推送内容挑战码、经核实的证书主体信息和算法信息。
用户密钥对生成单元,用于通过算法信息生成用户证书密钥对,利用用户证书密钥对中的私钥,对用户证书密钥对中的公钥进行数字签名,得到具有用户证书签名的公钥。
用户证书请求单元,用于封装具有用户证书签名的公钥和经核实的证书主体信息,得到用户证书请求。
在一个实施例中,证书申请装置800还可以包括:
用户签名指令接收模块,用于通过数据传输通道接收用户证书签名指令,获取 用户证书签名指令中的签名校验原文、设备标识码以及用户证书编号。
用户证书签名模块,用于在具有设备标识码的终端设备,选择用户证书编码对应的用户证书,利用所选择的用户证书的密钥对中的私钥,对签名校验原文进行签名,得到具有用户证书签名的签名校验原文。
用户签名原文发送模块,用于向证书服务器发送具有用户证书签名的签名校验原文,以用于校验用户证书。
在一个实施例中,证书申请装置800还可以包括:
用户输入信息提交模块,用于向证书服务器提交设备名称和输入的用户识别码,输入的用户识别码用于申请设备证书时的用户身份校验,设备名称用于标识申请的设备证书所属的终端设备。
证书驱动安装模块,用于通过接收的驱动安装地址以获取驱动安装文件,利用驱动安装文件安装证书驱动,得到驱动安装文件中打包的设备证书和经加密的密钥文件。
设备证书私钥获取模块,用于根据再次提交的用户标识码,对经加密的密钥文件进行解密,得到设备证书的密钥对中的私钥。
在一个实施例中,证书申请装置800还可以包括:
设备证书签名模块,用于利用设备证书的密钥对中的私钥对获取的设备信息进行数字签名,得到具有设备证书签名的设备激活信息。
设备激活信息发送模块,用于向证书服务器发送设备激活信息,以进行设备证书激活。
映射关系建立模块,用于建立用户识别码所标识的用户与设备证书的映射关系。
在一个实施例中,设备名称和输入的用户识别码,是证书服务器通过浏览器的信息采集页面提交的信息,信息采集页面是证书服务器在浏览器处理的业务需要使用设备证书时生成的。
图9示出了根据本说明书一实施例的证书申请装置的结构示意图。如图9所示,在一个实施例中,证书申请装置900可以包括:
消息数据接收模块910,用于接收来自证书服务器的消息数据,消息数据包括证书下发指令、用户证书或用户证书签名指令。
数据传输通道选择模块920,用于确定与消息数据对应的订阅主题名称,以及与订阅主题名称对应的数据传输通道,数据传输通道是根据终端设备发送至网关的订阅主题名称建立的通道。
消息数据发送模块930,用于利用数据传输通道发送消息数据。
在一个实施例中,证书申请装置900还可以包括:
密钥接收模块,用于接收来自终端设备的网关密钥。
密钥验证模块,用于对网关密钥验证通过时,建立终端设备与网关之间的链接。
主题订阅模块,用于接收设备标识码和订阅主题名称,建立与订阅主题名称对应的数据传输通道,设备标识码用于标识终端设备。
在一个实施例中,网关支持基于发布主题和/或订阅主题的设备通讯协议,设备通讯协议包括消息队列遥测传输协议。
在一个实施例中,数据传输通道是基于消息队列遥测传输协议建立的数据传输通道。
图10示出了根据本说明书另一实施例的证书申请装置的结构示意图。如图10所示,在一个实施例中,证书申请装置1000可以包括:
证书下发指令发送模块1010,用于向预先建立链接的网关发送证书下发指令,以使网关通过与终端设备的之间数据传输通道,向终端设备发送证书下发指令,其中,数据传输通道是根据终端设备发送至网关的订阅主题名称建立的通道,订阅主题名称对应的消息数据包括证书下发指令。
用户证书申请模块1020,用于接收与证书下发指令对应的用户证书注册请求,根据用户证书注册请求申请用户证书。
用户证书发送模块1030,用于向网关发送申请到的用户证书,以使网关通过数据传输通道,向终端设备发送用户证书。
在一个实施例中,证书下发指令发送模块1010具体可以包括:
登录用户识别单元,用于确定接收的用户识别码所标识的设备登录用户。
设备证书密钥对获取单元,用于接收具有设备证书签名的设备标识信息,获取设备标识信息对应的设备证书的密钥对。
设备证书签名验证单元,用于利用设备证书的密钥对中的公钥,验证设备证书签名。
用户身份信息获取单元,用于如果设备证书签名的验证结果为通过,从与设备证书具有映射关系的用户的身份信息中,获取设备登录用户的身份信息。
第一用户身份核实单元,用于在设备登录用户的身份信息核实成功的情况下,向网关发送证书下发指令。
在一个实施例中,证书申请装置1000还可以包括:
网关配置信息发送单元,用于如果设备证书签名的验证结果为通过,向终端设备下发网关配置信息,以使终端设备基于网关配置信息与网关建立数据传输通道。
在一个实施例中,证书申请装置1000还可以包括:
用户签名原文确定模块,用于根据接收的用户证书校验请求,确定用户证书的签名校验原文。
用户签名封装内容确定模块,用于确定接收的用户识别码所标识的设备登录用户,获取设备登录用户所登录设备的设备标识信息和设备登录用户的用户证书编号。
用户签名指令生成模块,用于封装签名校验原文、所登录设备的设备标识信息以及用户证书编码,得到用户证书签名指令,用户证书签名指令用于对用户证书进行校验。
用户签名指令发送模块,用于向网关发送用户证书签名指令,以使网关通过数据传输通道,向终端设备发送用户证书签名指令。
在一个实施例中,证书申请装置1000还可以包括:
用户证书签名验证模块,用于接收具有用户证书签名的签名校验原文,根据用户证书的密钥对中的公钥,验证用户证书签名。
在一个实施例中,证书申请装置1000还可以包括:
设备证书申请模块,用于基于接收的设备名称和用户识别码,为设备名称对应的终端设备申请设备证书,确定设备证书的密钥对。
证书驱动生成模块,用于利用设备证书的密钥对中的私钥,生成设备证书的驱动安装文件,向终端设备发送驱动安装文件。
设备签名验证模块,用于接收具有设备证书签名的设备激活信息,利用设备证书的密钥对中的公钥,验证设备证书签名。
用户与设备绑定模块,用于设备证书签名验证通过时,根据设备激活信息,确定通过用户识别码识别的登录用户为与设备证书绑定的用户。
在一个实施例中,设备证书申请模块具体可以包括:
第二用户身份核实单元,用于确定接收的用户识别码所标识的设备登录用户,核实设备登录用户的身份信息。
设备证书密钥对生成单元,用于设备登录用户的身份信息核实成功时,生成用于申请设备证书的密钥对。
设备证书请求单元,用于根据用于申请设备证书的密钥对中的公钥、设备名称、以及设备登录用户的身份信息,生成设备证书请求,以根据设备证书请求申请设备证书。
设备证书密钥对确定单元,用于将申请到的设备证书的密钥对作为设备证书的密钥对。
在一个实施例中,证书驱动生成模块具体可以包括:
设备证书私钥加密单元,用于通过指定的密钥加密方法,对设备证书的密钥对中的私钥进行加密,得到经加密的密钥文件。
证书驱动文件打包单元,用于打包设备证书和经加密的密钥文件,得到设备证书的驱动安装文件。
在一个实施例中,设备证书私钥加密单元具体还可以用于:利用白盒加密技术,使用用户识别码作为静态加密密钥,对设备证书的密钥对中的私钥进行加密,得到经加密的密钥文件。
需要明确的是,本说明书并不局限于上文实施例中所描述并在图中示出的特定配置和处理。为了描述的方便和简洁,这里省略了对已知方法的详细描述,并且上述描述的系统、模块和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
图11是示出能够实现根据本说明书实施例的计算设备的示例性硬件架构的结构图。
如图11所示,计算设备1100包括输入设备1101、输入接口1102、中央处理器 1103、存储器1104、输出接口1105、以及输出设备1106。其中,输入接口1102、中央处理器1103、存储器1104、以及输出接口1105通过总线1110相互连接,输入设备1101和输出设备1106分别通过输入接口1102和输出接口1105与总线1110连接,进而与计算设备1100的其他组件连接。具体地,输入设备1101接收来自外部的输入信息,并通过输入接口1102将输入信息传送到中央处理器1103;中央处理器1103基于存储器1104中存储的计算机可执行指令对输入信息进行处理以生成输出信息,将输出信息临时或者永久地存储在存储器1104中,然后通过输出接口1105将输出信息传送到输出设备1106;输出设备1106将输出信息输出到计算设备1100的外部供用户使用。
在一个实施例中,图11所示的计算设备1100可以被实现为一种终端设备,该终端设备可以包括存储器,被配置为存储程序;处理器,被配置为运行存储器中存储的程序,以执行上述实施例描述的应用于终端设备的证书申请方法。
在一个实施例中,图11所示的计算设备1100可以被实现为一种网关设备,该网关可以包括存储器,被配置为存储程序;处理器,被配置为运行存储器中存储的程序,以执行上述实施例描述的应用于网关的证书申请方法。
在一个实施例中,图11所示的计算设备1100可以被实现为一种证书服务器,该证书服务器可以包括存储器,被配置为存储程序;处理器,被配置为运行存储器中存储的程序,以执行上述实施例描述的应用于证书服务器的证书申请方法。
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
Claims (27)
- 一种证书申请方法,应用于终端设备,包括:通过所述终端设备与网关之间的数据传输通道,接收来自证书服务器的证书下发指令,所述数据传输通道是根据所述终端设备发送至所述网关的订阅主题名称建立的通道;根据所述证书下发指令生成用户证书请求,发送所述用户证书请求至所述证书服务器;通过所述数据传输通道接收所述服务器下发的用户证书。
- 根据权利要求1所述的证书申请方法,其中,所述证书下发指令,是所述证书服务器根据接收浏览器所请求业务的业务类型生成的,所述浏览器运行于所述终端设备。
- 根据权利要求1所述的证书申请方法,还包括:接收所述证书服务器发送的网关配置信息,所述网关配置信息包括:设备标识码、网关密钥、网关地址和订阅主题名称,所述设备标识码用于标识所述终端设备;根据所述网关密钥和所述网关地址,建立所述终端设备与所述网关的链接;向所述网关发送所述设备标识码和所述订阅主题名称,以建立与所述订阅主题名称对应的数据传输通道,所述数据传输通道用于向所述终端设备传输与所述订阅主题名称对应的消息数据。
- 根据权利要求3所述的证书申请方法,其中,所述数据传输通道是基于消息队列遥测传输协议建立的数据传输通道。
- 根据权利要求1所述的证书申请方法,其中,所述根据所述证书下发指令生成用户证书请求,包括:获取所述证书下发指令中的推送内容,所述推送内容包括推送内容挑战码、经核实的证书主体信息和算法信息;通过所述算法信息生成用户证书密钥对,利用所述用户证书密钥对中的私钥,对所述用户证书密钥对中的公钥进行数字签名,得到具有用户证书签名的公钥;封装具有所述用户证书签名的公钥和所述经核实的证书主体信息,得到所述用户证书请求。
- 根据权利要求1所述的证书申请方法,还包括:通过所述数据传输通道接收用户证书签名指令,获取所述用户证书签名指令中的签名校验原文、设备标识码以及用户证书编号;在具有所述设备标识码的终端设备,选择所述用户证书编码对应的用户证书,利用 所选择的用户证书的密钥对中的私钥,对所述签名校验原文进行签名,得到具有用户证书签名的签名校验原文;向所述证书服务器发送所述具有用户证书签名的签名校验原文,以用于校验所述用户证书。
- 根据权利要求1所述的证书申请方法,还包括:向所述证书服务器提交设备名称和用户识别码,所述用户识别码用于申请设备证书时的用户身份校验,所述设备名称用于标识申请的设备证书所属的终端设备;通过接收的驱动安装地址以获取驱动安装文件,利用所述驱动安装文件安装证书驱动,得到所述驱动安装文件中打包的设备证书和经加密的密钥文件;根据再次提交的用户标识码,对所述经加密的密钥文件进行解密,得到所述设备证书的密钥对中的私钥。
- 根据权利要求7所述的证书申请方法,还包括:利用所述设备证书的密钥对中的私钥对获取的设备信息进行数字签名,得到具有设备证书签名的设备激活信息;向所述证书服务器发送所述设备激活信息,以进行设备证书激活;建立所述用户识别码所标识的用户与所述设备证书的映射关系。
- 根据权利要求7所述的证书申请方法,其中,所述设备名称和所述输入的用户识别码,是所述证书服务器通过浏览器的信息采集页面提交的信息,所述信息采集页面是服务器在所述浏览器处理的业务需要使用设备证书时生成的。
- 一种证书申请方法,应用于网关,包括:接收来自证书服务器的消息数据,所述消息数据包括证书下发指令、用户证书或用户证书签名指令;确定与所述消息数据对应的订阅主题名称,选择与所述订阅主题名称对应的数据传输通道,所述数据传输通道是根据所述终端设备发送至所述网关的所述订阅主题名称建立的通道;利用所述数据传输通道发送所述消息数据。
- 根据权利要求10所述的证书申请方法,还包括:接收来自终端设备的网关密钥;对所述网关密钥验证通过时,建立所述终端设备与所述网关之间的链接;接收设备标识码和订阅主题名称,建立与所述订阅主题名称对应的数据传输通道, 所述设备标识码用于标识所述终端设备。
- 根据权利要求10所述的证书申请方法,其中,所述数据传输通道是基于消息队列遥测传输协议建立的数据传输通道。
- 一种证书申请方法,应用于证书服务器,包括:向预先建立链接的网关发送证书下发指令,以使所述网关通过与终端设备的之间数据传输通道,向所述终端设备发送所述证书下发指令,其中,所述数据传输通道是根据所述终端设备发送至所述网关的订阅主题名称建立的通道,所述订阅主题名称对应的消息数据包括所述证书下发指令;接收与所述证书下发指令对应的用户证书注册请求,根据所述用户证书注册请求申请用户证书;向所述网关发送申请到的用户证书,以使所述网关通过所述数据传输通道,向所述终端设备发送所述用户证书。
- 根据权利要求13所述的证书申请方法,其中,所述预先建立链接的网关发送证书下发指令,包括:确定接收的用户识别码所标识的设备登录用户;接收具有设备证书签名的设备标识信息,获取所述设备标识信息对应的设备证书的密钥对;利用所述设备证书的密钥对中的公钥,验证所述设备证书签名;如果所述设备证书签名的验证结果为通过,从与所述设备证书具有映射关系的用户的身份信息中,获取所述设备登录用户的身份信息;在所述设备登录用户的身份信息核实成功的情况下,向所述网关发送所述证书下发指令。
- 根据权利要求14所述的证书申请方法,还包括:如果所述设备证书签名的验证结果为通过,向所述终端设备下发网关配置信息,以使所述终端设备基于所述网关配置信息与所述网关建立所述数据传输通道。
- 根据权利要求13所述的证书申请方法,还包括:根据接收的用户证书校验请求,确定所述用户证书的签名校验原文;确定接收的用户识别码所标识的设备登录用户,获取所述设备登录用户所登录设备的设备标识信息和所述设备登录用户的用户证书编号;封装所述签名校验原文、所述所登录设备的设备标识信息以及所述用户证书编码,得到用户证书签名指令,所述用户证书签名指令用于对所述用户证书进行校验;向所述网关发送所述用户证书签名指令,以使所述网关通过所述数据传输通道,向所述终端设备发送所述用户证书签名指令。
- 根据权利要求13所述的证书申请方法,还包括:接收具有用户证书签名的签名校验原文,根据所述用户证书的密钥对中的公钥,验证所述用户证书签名。
- 根据权利要求13所述的证书申请方法,还包括:基于接收的设备名称和用户识别码,为所述设备名称对应的终端设备申请设备证书,确定所述设备证书的密钥对;利用所述设备证书的密钥对中的私钥,生成所述设备证书的驱动安装文件,向所述终端设备发送所述驱动安装文件;接收具有设备证书签名的设备激活信息,利用所述设备证书的密钥对中的公钥,验证所述设备证书签名;所述设备证书签名验证通过时,根据所述设备激活信息,确定通过所述用户识别码识别的登录用户为与所述设备证书绑定的用户。
- 根据权利要求18所述的证书申请方法,其中,所述基于接收的设备名称和用户识别码,为所述设备名称对应的终端设备申请设备证书,确定所述设备证书的密钥对,包括:确定接收的用户识别码所标识的设备登录用户,核实所述设备登录用户的身份信息;所述设备登录用户的身份信息核实成功时,生成用于申请所述设备证书的密钥对;根据用于申请所述设备证书的密钥对中的公钥、所述设备名称、以及所述设备登录用户的身份信息,生成设备证书请求,以根据所述设备证书请求申请设备证书;将申请到的所述设备证书的密钥对作为所述设备证书的密钥对。
- 根据权利要求18所述的证书申请方法,其中,所述根据所述设备证书的密钥对中的私钥,生成所述设备证书的驱动安装文件,包括:通过指定的密钥加密方法,对所述设备证书的密钥对中的私钥进行加密,得到经加密的密钥文件;打包所述设备证书和所述经加密的密钥文件,得到所述设备证书的驱动安装文件。
- 根据权利要求20所述的证书申请方法,其中,所述通过指定的密钥加密方法,对所述设备证书的密钥对中的私钥进行加密,得到经加密的密钥文件,包括:利用白盒加密技术,使用所述用户识别码作为静态加密密钥,对所述设备证书的密钥对中的私钥进行加密,得到经加密的密钥文件。
- 一种证书申请装置,包括:证书下发指令接收模块,用于通过所述终端设备与网关之间的数据传输通道,接收来自证书服务器的证书下发指令,所述数据传输通道是根据所述终端设备发送至所述网关的订阅主题名称建立的通道;用户证书请求发送模块,用于根据所述证书下发指令生成用户证书请求,发送所述用户证书请求至所述证书服务器;用户证书接收模块,用于通过所述数据传输通道接收所述证书服务器下发的用户证书。
- 一种证书申请装置,包括:消息数据接收模块,用于接收来自证书服务器的消息数据,所述消息数据包括证书下发指令、用户证书或用户证书签名指令;数据传输通道选择模块,用于确定与所述消息数据对应的订阅主题名称,以及与所述订阅主题名称对应的数据传输通道,所述数据传输通道是根据所述终端设备发送至所述网关的所述订阅主题名称建立的通道;消息数据发送模块,用于利用所述数据传输通道发送所述消息数据。
- 一种证书申请装置,包括:证书下发指令发送模块,用于向预先建立链接的网关发送证书下发指令,以使所述网关通过与终端设备的之间数据传输通道,向所述终端设备发送所述证书下发指令,其中,所述数据传输通道是根据所述终端设备发送至所述网关的订阅主题名称建立的通道,所述订阅主题名称对应的消息数据包括所述证书下发指令;用户证书申请模块,用于接收与所述证书下发指令对应的用户证书注册请求,根据所述用户证书注册请求申请用户证书;用户证书发送模块,用于向所述网关发送申请到的用户证书,以使所述网关通过所述数据传输通道,向所述终端设备发送所述用户证书。
- 一种终端设备,其特征在于,包括存储器和处理器;所述存储器用于储存有可执行程序代码;所述处理器用于读取所述存储器中存储的可执行程序代码以执行权利要求1至9中任一项所述的证书申请方法。
- 一种网关设备,其特征在于,包括存储器和处理器;所述存储器用于储存有可执行程序代码;所述处理器用于读取所述存储器中存储的可执行程序代码以执行权利要求10至12 中任一项所述的证书申请方法。
- 一种证书服务器,其特征在于,包括存储器和处理器;所述存储器用于储存有可执行程序代码;所述处理器用于读取所述存储器中存储的可执行程序代码以执行权利要求13至21中任一项所述的证书申请方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US16/815,907 US11095460B2 (en) | 2019-07-05 | 2020-03-11 | Certificate application operations |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910604675.X | 2019-07-05 | ||
CN201910604675.XA CN110445614B (zh) | 2019-07-05 | 2019-07-05 | 证书申请方法、装置、终端设备、网关设备和服务器 |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US16/815,907 Continuation US11095460B2 (en) | 2019-07-05 | 2020-03-11 | Certificate application operations |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2021004054A1 true WO2021004054A1 (zh) | 2021-01-14 |
Family
ID=68429060
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/CN2020/071556 WO2021004054A1 (zh) | 2019-07-05 | 2020-01-11 | 证书申请方法、装置、终端设备、网关设备和服务器 |
Country Status (3)
Country | Link |
---|---|
CN (1) | CN110445614B (zh) |
TW (1) | TWI732458B (zh) |
WO (1) | WO2021004054A1 (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113778628A (zh) * | 2021-09-14 | 2021-12-10 | 新华智云科技有限公司 | 边缘节点管控方法及系统 |
CN114662082A (zh) * | 2022-02-25 | 2022-06-24 | 荣耀终端有限公司 | 电子设备的访问控制方法、可读介质和电子设备 |
CN115150126A (zh) * | 2022-05-24 | 2022-10-04 | 从法信息科技有限公司 | 一种法律服务远程处理方法、装置和电子设备 |
CN115189876A (zh) * | 2022-07-19 | 2022-10-14 | 中国工商银行股份有限公司 | 证书的展期方法、装置和服务器 |
CN115576210A (zh) * | 2021-06-21 | 2023-01-06 | 华为技术有限公司 | 一种智能家居设备控制方法及系统 |
CN113992735B (zh) * | 2021-11-23 | 2024-05-24 | 康佳集团股份有限公司 | 一种mqtt连接系统及其连接方法、服务器和存储介质 |
Families Citing this family (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108768664B (zh) * | 2018-06-06 | 2020-11-03 | 腾讯科技(深圳)有限公司 | 密钥管理方法、装置、系统、存储介质和计算机设备 |
US11095460B2 (en) | 2019-07-05 | 2021-08-17 | Advanced New Technologies Co., Ltd. | Certificate application operations |
CN110445614B (zh) * | 2019-07-05 | 2021-05-25 | 创新先进技术有限公司 | 证书申请方法、装置、终端设备、网关设备和服务器 |
FR3105682B1 (fr) * | 2019-12-20 | 2022-05-13 | E Scopics | Procede et systeme de gestion d’echange de donnees dans le cadre d’un examen medical |
CN113472720B (zh) * | 2020-03-31 | 2024-02-06 | 山东云海安全认证服务有限公司 | 数字证书密钥处理方法、装置、终端设备及存储介质 |
CN111970117B (zh) * | 2020-06-07 | 2022-09-30 | 中信银行股份有限公司 | 证书下载方法、装置及设备 |
CN111756549A (zh) * | 2020-06-23 | 2020-10-09 | 重庆长安汽车股份有限公司 | 一种数字证书的颁发系统及方法 |
CN112202567B (zh) | 2020-09-30 | 2024-03-15 | 北京百度网讯科技有限公司 | 一种证书发送方法、证书发送方法、云端以及终端设备 |
CN114915418A (zh) * | 2021-02-10 | 2022-08-16 | 华为技术有限公司 | 业务证书管理方法、装置、系统及电子设备 |
CN113612780B (zh) * | 2021-08-05 | 2023-04-07 | 中国电信股份有限公司 | 证书请求、生成、接入方法、装置、通信设备及介质 |
CN113781715B (zh) * | 2021-09-03 | 2023-05-26 | 深圳市丰巢网络技术有限公司 | 一种智能柜格口封禁方法、装置、存储介质及电子设备 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108599939A (zh) * | 2018-04-25 | 2018-09-28 | 新华三技术有限公司 | 一种认证方法和装置 |
CN108833105A (zh) * | 2018-04-10 | 2018-11-16 | 阿里巴巴集团控股有限公司 | 电子签名方法及装置 |
US10243748B1 (en) * | 2018-06-28 | 2019-03-26 | Jonathan Sean Callan | Blockchain based digital certificate provisioning of internet of things devices |
CN109587228A (zh) * | 2018-11-23 | 2019-04-05 | 济南浪潮高新科技投资发展有限公司 | 一种公有协议物联网平台及设备接入方法 |
CN109861978A (zh) * | 2018-12-28 | 2019-06-07 | 浙江工业大学 | 一种基于MQTT协议的物联网SaaS平台 |
CN110445614A (zh) * | 2019-07-05 | 2019-11-12 | 阿里巴巴集团控股有限公司 | 证书申请方法、装置、终端设备、网关设备和服务器 |
Family Cites Families (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9241013B2 (en) * | 2007-01-30 | 2016-01-19 | Alcatel Lucent | Caller name authentication to prevent caller identity spoofing |
CN101345723B (zh) * | 2007-07-11 | 2011-04-06 | 华为技术有限公司 | 客户网关的管理认证方法和认证系统 |
JP4252620B1 (ja) * | 2008-08-27 | 2009-04-08 | グローバルサイン株式会社 | サーバ証明書発行システム |
CN101477661B (zh) * | 2009-01-19 | 2016-06-08 | 阿里巴巴集团控股有限公司 | 一种数字证书管理方法、装置和系统 |
CN102685749B (zh) * | 2012-05-30 | 2014-09-03 | 杭州师范大学 | 面向移动终端的无线安全身份验证方法 |
KR102005408B1 (ko) * | 2013-08-08 | 2019-07-30 | 삼성전자주식회사 | 무선 통신 시스템에서 기기 등록 및 인증을 수행하는 방법 및 장치 |
CN104426895B (zh) * | 2013-09-09 | 2018-07-03 | 联想(北京)有限公司 | 信息处理方法以及终端设备 |
CN105284091B (zh) * | 2014-05-08 | 2018-06-15 | 华为技术有限公司 | 一种证书获取方法和设备 |
WO2016014516A1 (en) * | 2014-07-21 | 2016-01-28 | Convida Wireless, Llc | Service layer interworking using mqtt protocol |
US9900911B2 (en) * | 2015-05-15 | 2018-02-20 | Mediatek Inc. | QoS provisioning for LTE-WLAN aggregation |
US10425392B2 (en) * | 2015-08-05 | 2019-09-24 | Facebook, Inc. | Managing a device cloud |
CN105376589A (zh) * | 2015-10-27 | 2016-03-02 | 上海斐讯数据通信技术有限公司 | 基于mqtt的智能电视消息的推送装置及方法 |
CN106250173B (zh) * | 2016-07-15 | 2019-05-07 | 常州市小先信息技术有限公司 | 一种基于mqtt的消息远程安装和卸载广告的方法 |
CN106302391B (zh) * | 2016-07-27 | 2019-09-13 | 上海华为技术有限公司 | 一种加密数据传输方法和代理服务器 |
-
2019
- 2019-07-05 CN CN201910604675.XA patent/CN110445614B/zh active Active
-
2020
- 2020-01-11 WO PCT/CN2020/071556 patent/WO2021004054A1/zh active Application Filing
- 2020-02-14 TW TW109104704A patent/TWI732458B/zh active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108833105A (zh) * | 2018-04-10 | 2018-11-16 | 阿里巴巴集团控股有限公司 | 电子签名方法及装置 |
CN108599939A (zh) * | 2018-04-25 | 2018-09-28 | 新华三技术有限公司 | 一种认证方法和装置 |
US10243748B1 (en) * | 2018-06-28 | 2019-03-26 | Jonathan Sean Callan | Blockchain based digital certificate provisioning of internet of things devices |
CN109587228A (zh) * | 2018-11-23 | 2019-04-05 | 济南浪潮高新科技投资发展有限公司 | 一种公有协议物联网平台及设备接入方法 |
CN109861978A (zh) * | 2018-12-28 | 2019-06-07 | 浙江工业大学 | 一种基于MQTT协议的物联网SaaS平台 |
CN110445614A (zh) * | 2019-07-05 | 2019-11-12 | 阿里巴巴集团控股有限公司 | 证书申请方法、装置、终端设备、网关设备和服务器 |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115576210A (zh) * | 2021-06-21 | 2023-01-06 | 华为技术有限公司 | 一种智能家居设备控制方法及系统 |
CN113778628A (zh) * | 2021-09-14 | 2021-12-10 | 新华智云科技有限公司 | 边缘节点管控方法及系统 |
CN113778628B (zh) * | 2021-09-14 | 2023-09-05 | 新华智云科技有限公司 | 边缘节点管控方法及系统 |
CN113992735B (zh) * | 2021-11-23 | 2024-05-24 | 康佳集团股份有限公司 | 一种mqtt连接系统及其连接方法、服务器和存储介质 |
CN114662082A (zh) * | 2022-02-25 | 2022-06-24 | 荣耀终端有限公司 | 电子设备的访问控制方法、可读介质和电子设备 |
CN114662082B (zh) * | 2022-02-25 | 2023-06-06 | 荣耀终端有限公司 | 电子设备的访问控制方法、可读介质和电子设备 |
CN115150126A (zh) * | 2022-05-24 | 2022-10-04 | 从法信息科技有限公司 | 一种法律服务远程处理方法、装置和电子设备 |
CN115150126B (zh) * | 2022-05-24 | 2024-04-19 | 从法信息科技有限公司 | 一种法律服务远程处理方法、装置和电子设备 |
CN115189876A (zh) * | 2022-07-19 | 2022-10-14 | 中国工商银行股份有限公司 | 证书的展期方法、装置和服务器 |
Also Published As
Publication number | Publication date |
---|---|
CN110445614A (zh) | 2019-11-12 |
TWI732458B (zh) | 2021-07-01 |
CN110445614B (zh) | 2021-05-25 |
TW202103471A (zh) | 2021-01-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2021004054A1 (zh) | 证书申请方法、装置、终端设备、网关设备和服务器 | |
US9866556B2 (en) | Common internet file system proxy authentication of multiple servers | |
US7747856B2 (en) | Session ticket authentication scheme | |
US7353383B2 (en) | System and method for single session sign-on with cryptography | |
US9137017B2 (en) | Key recovery mechanism | |
CN106487765B (zh) | 授权访问方法以及使用该方法的设备 | |
US20050144439A1 (en) | System and method of managing encryption key management system for mobile terminals | |
US9100171B1 (en) | Computer-implemented forum for enabling secure exchange of information | |
CN113347206A (zh) | 一种网络访问方法和装置 | |
KR20060100920A (ko) | 웹 서비스를 위한 신뢰되는 제3자 인증 | |
WO2007058907A2 (en) | Systems and methods for trusted information exchange | |
CN112612985A (zh) | 基于WebSocket的多用户和多类型消息的推送系统及方法 | |
JP7145308B2 (ja) | コンピューティング環境でオンプレミスの秘密を複製する安全な方法 | |
CN111698264A (zh) | 用于保持用户认证会话的方法和装置 | |
US11095460B2 (en) | Certificate application operations | |
WO2022033350A1 (zh) | 注册服务的方法及设备 | |
CN112825521A (zh) | 区块链应用可信身份管理方法、系统、设备及存储介质 | |
TWI259730B (en) | Mobility device server | |
CN114282267A (zh) | 令牌生成方法、令牌验签方法、装置、设备及存储介质 | |
US8520840B2 (en) | System, method and computer product for PKI (public key infrastructure) enabled data transactions in wireless devices connected to the internet | |
CN114650181B (zh) | 电子邮件加解密方法、系统、设备及计算机可读存储介质 | |
US9281947B2 (en) | Security mechanism within a local area network | |
Fugkeaw et al. | A robust single sign-on model based on multi-agent system and PKI | |
CN117240608B (zh) | 登录授权方法、装置、计算机设备和存储介质 | |
CN115189975B (zh) | 登录方法、装置、电子设备和存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 20836090 Country of ref document: EP Kind code of ref document: A1 |
|
122 | Ep: pct application non-entry in european phase |
Ref document number: 20836090 Country of ref document: EP Kind code of ref document: A1 |