System, method, device, and medium for registering app

The system automates APP registration using a key pair and fingerprint validation, enhancing efficiency and security by eliminating manual configuration and credential initialization, thus reducing information leakage risks.

WO2026102772A1PCT designated stage Publication Date: 2026-05-21SIEMENS AG +1
View PDF 6 Cites 0 Cited by

Patent Information

Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
SIEMENS AG
Filing Date
2024-11-18
Publication Date
2026-05-21

AI Technical Summary

Technical Problem

Existing APP registration methods are inefficient and prone to information leakage due to manual configuration, lacking a secure and efficient way to establish unique identities and credentials for each download.

Method used

A system involving a registry service and authentication server that utilizes a key pair generated by the APP, with a fingerprint for validation, enabling secure and automatic registration through a QR code-based fingerprint acquisition and mutual authentication.

Benefits of technology

Enhances registration efficiency, improves security by validating public keys, and reduces manual intervention, ensuring secure connections and cost savings by eliminating the need for manual credential initialization.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN2024132721_21052026_PF_FP_ABST
    Figure CN2024132721_21052026_PF_FP_ABST
Patent Text Reader

Abstract

Embodiments of the present disclosure disclose a system, method, device, and medium for registering an APP. The system comprising a registry service and an authentication server. The registry service is configured to obtain a fingerprint of a public key, receive a registration request comprising the public key from an APP to be registered, wherein the public key, the fingerprint and a private key that forms a key pair with the public key are generated by the APP, and send the registration request to the authentication server when the public key is successfully validated based on the fingerprint. The authentication server is configured to store the public key and send a registration response comprising an identifier of the APP to the registry service. Automatic registration of APP improves the registration efficiency. Moreover, validation based on public key and fingerprint generated by the APP has the advantage of easy implementation. The connection between the APP and the registry service is secure. In addition, client can obtain the fingerprint through simple operations, which reduces the cost.
Need to check novelty before this filing date? Find Prior Art

Description

System, method, device, and medium for registering APPTECHNICAL FIELD

[0001] The present disclosure relates to the technical field of network security, in particular to a system, method, device, and medium for registering an Application (APP) .BACKGROUND

[0002] Application program is commonly referred to as APP. APPs are designed for specific purposes. These include word processing, spreadsheets, e-mail, instant messaging and various industrial processes, among others. APPs (for example, applications at edge devices) need to be registered at an authentication server, and then can work together with cloud-based business services. Typically, an APP as a common version can be downloaded by different customers, it doesn’ t have an initial unique identity and credentials for each download. How to register the APP in a secure and efficient way is a challenge.

[0003] Currently, APPs are registered through manual configuration. In this solution, user manually registers the APP to be registered, and then configures an identifier obtained from the authentication server in the APP. However, manual registration has the disadvantage of inefficiency and the risk of information leakage.SUMMARY

[0004] Embodiments of the present disclosure propose a system, method, device, and medium for registering an APP.

[0005] In a first aspect, a system for registering an APP is provided. The system includes a registry service and an authentication server: the registry service, configured to obtain a fingerprint of a public key, receive a registration request comprising the public key from an APP to be registered, wherein the public key, the fingerprint and a private key that forms a key pair with the public key are generated by the APP, and send the registration request to the authentication server when the public key is successfully validated based on the fingerprint; and the authentication server, configured to store the public key and send a registration response comprising an identifier of the APP to the registry service.

[0006] In a second aspect, a method for registering an APP is provided. The method is suitable for an APP. The method includes:

[0007] generating a key pair comprising a public key and a private key, and a fingerprint of the public key;

[0008] sending a registration request comprising the public key to a registry service, wherein the registry service has obtained the fingerprint in advance; and

[0009] receiving a registration response comprising an identifier of the APP from an authentication server via the registry service, when the public key is successfully validated based on the fingerprint by the registry service.

[0010] In a third aspect, a method for registering an APP is provided. The method is suitable for an authentication server. The method includes:

[0011] receiving a registration request comprising a public key from a registry service, wherein the public key is successfully validated by the registry service based on a fingerprint of the public key;

[0012] storing the public key; and

[0013] sending a registration response comprising an identifier of an APP to the APP via the registry service, wherein the public key, the fingerprint, and a private key that forms a key pair with the public key are generated by the APP.

[0014] In a fourth aspect, a method for registering an APP is provided. The method is suitable for a registry service. The method comprises:

[0015] obtaining a fingerprint of a public key;

[0016] receiving a registration request comprising the public key from an APP;

[0017] sending the registration request to an authentication server when the public key comprised in the registration request is successfully validated based on the fingerprint, wherein the public key, the fingerprint, and a private key that forms a key pair with the public key are generated by the APP;

[0018] receiving a registration response comprising an identifier of the APP from the authentication server; and

[0019] sending the registration response to the APP.

[0020] In a fifth aspect, an electronic device is provided. The electronic device comprising a processor and a memory, wherein an application program executable by the processor is stored in the memory for causing the processor to execute a method for registering an APP as described in any of the above.

[0021] In a sixth aspect, a computer-readable medium comprising computer-readable instructions stored thereon is provided, wherein the computer-readable instructions for executing a method for registering an APP as described in any of the above.

[0022] In a fifth aspect, a computer program product comprising a computer program, when the computer program is executed by a processor for executing a method for executing a method for registering an APP as described in any of the above.

[0023] According to the above technical solutions, the system comprising a registry service and an authentication server. The registry service is configured to obtain a fingerprint of a public key, receive a registration request comprising the public key from an APP to be registered, the public key, the fingerprint and a private key that forms a key pair with the public key are generated by the APP, and send the registration request to the authentication server when the public key is successfully validated based on the fingerprint. The authentication server is configured to store the public key and send a registration response comprising an identifier of the APP to the registry service. Therefore, automatic registration of APP improves the registration efficiency. Moreover, validation based on public key and fingerprint generated by the APP has the advantage of easy implementation. The connection between APP and the registry service is secure. In addition, client may obtain the fingerprint through simple operations such as scan a QR code, which reduces the cost.BRIEF DESCRIPTION OF THE DRAWINGS

[0024] To make technical solutions of examples of the present disclosure clearer, accompanying drawings to be used in description of the examples will be simply introduced hereinafter. Obviously, the accompanying drawings to be described hereinafter are only some examples of the present disclosure. Those skilled in the art may obtain other drawings according to these accompanying drawings without creative labor.

[0025] Fig. 1 is a structural diagram of a system for registering an APP according to an embodiment of the present disclosure.

[0026] Fig. 2 is a first exemplary flowchart of a method for registering an APP according to an embodiment of the present disclosure.

[0027] Fig. 3 is a second exemplary flowchart of a method for registering an APP according to an embodiment of the present disclosure.

[0028] Fig. 4 is a third exemplary flowchart of a method for registering an APP according to an embodiment of the present disclosure.

[0029] Fig. 5 is an exemplary flow chart for registering an APP and accessing business service according to an embodiment of the present disclosure.

[0030] Fig. 6 is an exemplary structural diagram of an electronic device according to an embodiment of the present disclosure.

[0031] List of reference numbers: DETAILED DESCRIPTION

[0032] To make the purpose, technical scheme, and advantages of the disclosure clearer, the following examples are given to further explain the disclosure in detail. Nouns and pronouns related to people in this patent application are not limited to specific gender.

[0033] To be concise and intuitive in description, the scheme of the disclosure is described below by describing several representative embodiments. Many details in the embodiments are only used to help understand the scheme of the disclosure. However, it is obvious that the technical scheme of the disclosure can be realized without being limited to these details. To avoid unnecessarily blurring the scheme of the disclosure, some embodiments are not described in detail, but only the framework is given. Hereinafter, "including" refers to "including but not limited to" , "according to. . . " refers to "at least according to. . ., but not limited to. . . " . When the number of an element is not specifically indicated below, it means that the element can be one or more, or can be understood as at least one. The terms "a" or "an" in this disclosure should not be understood as one, but as at least one.

[0034] In view of many shortcomings of the existing technology in registering APPs through manual configuration, embodiments of the present disclosure propose an automatic registration scheme for APPs. For example, embodiments of the present disclosure may include: (1) introduce APP generated key pair and fingerprint for further authentication. (2) introduce an operation to add the fingerprint to registry service. (3) introduce a raw public authentication in the registration process (For example, refer to RFC7250) . (4) introduce JWT assertion authentication in the token request process (For example, refer to RFC7523) . In other words, embodiments of the present disclose propose generating key pair and fingerprint by an APP, adding the fingerprint to registry service, performing raw authentication in a registration service, and performing JWT assertion authentication in a token request process.

[0035] Fig. 1 is a structural diagram of a system for registering an APP according to an embodiment of the present disclosure. As shown in Figure 1, the system includes a registry service 12 and an authentication server 14. The registry service 12 is configured to obtain a fingerprint of a public key, receive a registration request comprising the public key from an APP 11 to be registered. The public key, the fingerprint and a private key that forms a key pair with the public key are generated by the APP 11. The registry service 12 sends the registration request to the authentication server 14 when the public key is successfully validated based on the fingerprint in the registry service 12. The authentication server 14 is configured to store the public key and send a registration response comprising an identifier of the APP 11generated by the authentication server 14 to the registry service 12. The registry service 12 sends the registration response to the APP 11, so that the APP 11 may obtain the identifier. Subsequently, the APP 11 may use the identifier to request a token from the authentication server 14.

[0036] The key pair generated by the APP 11 consists of a public key and a private key. The public key is used to encrypt data and anyone can access it, while the private key is used to decrypt data and can only be accessed by holder of the private key.

[0037] The fingerprint of the public key is a digital digest used to verify integrity and identity of the public key. The main function of the fingerprint is to ensure that the public key has not been tampered with in transmission process. The fingerprint can be implemented as a string or digital sequence generated by hash function based on the public key. Because of the one-way nature of the hash function, small changes in the public key will lead to significant changes in the fingerprint, so the fingerprint can be used to validate the integrity and identity of the public key.

[0038] The identifier is a unique identity generated by the authentication server 14 for the APP 11 when it accepts registration of the APP 11. Based on the identifier, the APP 11 can request tokens from the authentication server 14 for accessing various services.

[0039] APP 11 (for example, APP of an edge device in an industrial network) may generate a key pair containing a public key and a private key based on an asymmetric cryptographic algorithm, and a fingerprint of the public key based on a hash algorithm.

[0040] For example, the asymmetric encryption algorithms for APP 11 to generate key pairs may include:

[0041] 1. RSA algorithm: RSA algorithm uses the difficulty of prime number decomposition to realize encryption and decryption by generating public key and private key.

[0042] 2. DSA algorithm: DSA algorithm is a kind of digital signature algorithm. It is based on the discrete logarithm problem and is used for digital signature and verification.

[0043] 3. ECC algorithm of elliptic curve cryptography: ECC algorithm is an encryption algorithm based on elliptic curve, which is more secure and efficient than RSA algorithm under the same key length.

[0044] 4. ElGamal algorithm: ElGamal algorithm is an encryption algorithm based on discrete logarithm problem.

[0045] The hash algorithms for APP 11 to generate the fingerprint of the public key may include:

[0046] 1. MD4 algorithm: It is applicable to 32-bit word length processors and is implemented based on 32-bit operands.

[0047] 2. MD5 algorithm: an improved version of MD4 algorithm.

[0048] 3. SHA-1 algorithm: used together with DSA to generate 160-bit hash value, which is more resistant to exhaustion.

[0049] 4. SHA-256 algorithm: generates 256-bit hash values, which are widely used in various security protocols.

[0050] The above exemplary description shows typical examples of the APP 11 generating a key pair and a fingerprint. Those skilled in the art can realize that this description is only exemplary and is not used to limit the protection scope of embodiments of the disclosure.

[0051] Preferably, APP 11 can be implemented as an edge APP in an OT network or an IoT network. For example, APP 11 in OT networks or IoT networks may include:

[0052] (1) Data collection APP: Collects data from the device end, including various sensor data, device status information, etc.

[0053] (2) Low latency autonomy APP: Provides low latency autonomy to ensure fast response and processing of devices locally.

[0054] (3) Cloud edge collaboration APP: Collaborates with the cloud to upload and distribute data, and support remote configuration and upgrading.

[0055] (4) Edge computing APP: Data processing and analysis are performed at edge nodes to reduce data transmission volume and later.

[0056] (5) Application hosting APP: Provides application hosting services that allow applications to run on edge nodes, reducing dependence on the cloud.

[0057] (6) Data governance APP: Preprocesses, stores and circulates collected data to ensure its integrity and security.

[0058] (7) Secondary development support APP: Provides SDK, API and other development tools to support users or third-party developers for secondary development and customized needs.

[0059] For example, typical specific application scenarios of APP11 may include: deploying APP11 within an industrial park to achieve local management and monitoring of devices; applying APP11 in urban management to improve the level of urban intelligence; using APP11 in traffic management to optimize traffic flow control and scheduling; applying APP11 in industrial scenarios to achieve real-time monitoring and control of equipment. These features and application scenarios enable APP11 to play an important role in IoT or OT networks, improving system response speed and data processing capabilities while reducing dependence on the cloud and bandwidth consumption.

[0060] In one embodiment, the system includes a client 15, which is configured to obtain the fingerprint of the public key and send the fingerprint of the public key to the registry service 12 via a secure connection with the registry service 12. In one embodiment, the client 15 is configured to scan a QR code comprising the fingerprint of the public key to obtain the fingerprint.

[0061] The client 15 may be implemented as various intelligent devices with computing power. For example, the client 15 can be implemented as a smart phone, personal digital assistant (PDA) , personal computer or laptop, and so on.

[0062] For example, a QR code containing the fingerprint is displayed on the APP's display page when APP 11 generates the key pair and the fingerprint. Client 15 scans the QR code to obtain the fingerprint. In another instance, APP 11 generates a configuration file containing the fingerprint, and the client 15 reads the configuration file to obtain the fingerprint. The above exemplary description illustrates specific operations of obtaining fingerprint by the client 15. Those skilled in the art will appreciate that this description is only exemplary and is not intended to limit the scope of protection of embodiments of the present disclosure.

[0063] Therefore, based on convenient operations of the client 15, the fingerprint can be easily added to the registry service 12.

[0064] The registry service 12 may be arranged in cloud 16. Preferably, the registry service 12 is implemented as a cloud-based service program.

[0065] In one embodiment, the registry service 12 receives a registration request from the APP 11 via a mutual authenticated secure connection. The process of establishing the authenticated secure connection includes: performing authentication on a certificate of the registry service 12 (usually certificate of the server where the registry service 12 is located) by APP 11; and performing authentication on the public key based on the fingerprint by registry service 12. The performing authentication on the public key based on the fingerprint by registry service 12 includes: calculating a fingerprint of the public key included in the registration request; comparing the calculated fingerprint with the previously obtained fingerprint from the client 15; determining the verification is successful when the comparison result indicates that these two fingerprints match.

[0066] Therefore, registry service 12 receives registration request through a mutually authenticated secure connection, improving security and effectively preventing the risk of information leakage.

[0067] After authentication server 14 completes the registration of APP 11, APP 11 may request a token from authentication server 14. APP 11 may access various business services based on respective tokens issued by authentication server 14.

[0068] In one embodiment, the authentication server 14 is configured to receive a token request comprising a JWT (JSON web token) assertion from the APP 11, the JWT assertion is generated based on the private key and the identifier, and send a token to the APP 11 when the JWT assertion is successfully validated based on the stored public key. JWT is a concise, URL secure representation method used for transmitting secure information between two parties. In the authentication process, JWT can be used as an assertion to represent the user's identity.

[0069] After obtaining the token from authentication server 14, APP 11 may access various types of business services based on the token.

[0070] Business service 13 and registry service 12 are preferably running on the same server in cloud. In one embodiment, the system accordingly comprising: a business service 13, configured to receive a business access request comprising the token from the APP 11 based on a mutual authenticated secure connection, and provide access to the APP 11 when the business access request is successfully validated based on the token. The process of establishing the connection includes: performing authentication on a certificate of the business service 13 (usually certificate of the server where the registry service 12 and the business service 13 is located) by APP 11; and performing authentication on the public key based on the fingerprint by business service 13. The performing authentication on the public key based on the fingerprint by business service 13 includes: calculating a fingerprint of the public key included in the business access request; comparing the calculated fingerprint with the previously obtained fingerprint from the client 15; determining the verification is successful when the comparison result indicates that these two fingerprints match.

[0071] In one embodiment, the business service 13 may include:

[0072] 1. Content service: Provides various online content such as videos, audios, texts, etc. This includes content services such as news, entertainment, education, and gaming.

[0073] 2. Link service: Provides linking functionality between websites, allowing users to easily navigate from one website to another. This includes search engines, navigation services, etc.

[0074] 3. Storage service: Provides data storage and file management services, allowing users to save data in the cloud and access and share it anytime.

[0075] 4. Email service: Provides email sending and receiving functions, allowing users to exchange information and transfer files through email.

[0076] 5. Search Engine Service: Provides search functionality to help users quickly find the information they need. This includes various search engine services.

[0077] 6. Digital financial service: Provide online payment, wealth management, loans and other financial services to facilitate users'financial transactions and management.

[0078] 7. Industrial network business service: Industrial network business service typically include the following types:

[0079] (a) Industrial product design: Provides design tools, engineering calculations, simulation analysis, and other functions to help engineers improve efficiency and quality during the design phase.

[0080] (b) Production management: including manufacturing processes, CNC programming, production report management and other services, helping enterprises optimize production processes and improve production efficiency.

[0081] (c) Equipment operation and maintenance management: Provides remote equipment operation and maintenance management solutions, including real-time status monitoring, fault alarm, maintenance and other functions, to help enterprises achieve intelligent management of equipment.

[0082] (d) Product maintenance: Provides product maintenance services, including spare parts management, fault report work order management, etc., to ensure the normal operation and maintenance of equipment.

[0083] (e) CAD tools / plugins: Provide CAD tools and plugins for engineers to use during the design process and improve design efficiency.

[0084] (f) Document Browser: Provides a document browser for engineers and managers to easily view and manage design drawings and documents.

[0085] (g) Product selection: Provides product selection tools to help users choose suitable products and accessories.

[0086] (h) Format conversion: Provides format conversion tools to facilitate the conversion between different formats and meet different needs.

[0087] In the system shown in Figure 1, there is a processing procedure as follows:

[0088] Step S0: APP 11 generates a key pair containing a public key and a private key, as well as a fingerprint of the public key.

[0089] Step S1: Client 15 obtains the fingerprint from APP 11 by scanning a QR code or other means.

[0090] Step S2: Client 15 sends the fingerprint to registry service 12 in cloud 16 via a secure connection.

[0091] Step S3: APP 11 carries the public key in a registration request and sends the registration request to registry service 12.

[0092] Step S4: Registry service 12 validates the public key in the registration request based on the fingerprint previously obtained from the client 15 in Step S2. Registry service 12 sends the registration request to authentication server 14 when the verification is successful. Alternatively, registry service 12 does not send the registration request to registration server 14 when the verification fails. Authentication server 14 generates an identifier of APP 11 and returns a registration response containing the identifier to the registry service 12. Registry service 12 returns the registration response to APP 11, so that APP 11 may obtain the identifier of APP 11 provided by authentication server 14.

[0093] At this point, the registration process for APP 11 is completed.

[0094] Step S5: Based on the private key and the identifier provided by authentication server 14, APP 11 generates a token request containing a JWT assertion. APP 11 sends the token request to authentication server 14. When authentication server 14 successfully validates the JWT assertion based on the stored public key, it returns a token to APP 11.

[0095] Step S6: Based on the token provided by the authentication server 14, APP 11 accesses business service 13 in cloud 16.

[0096] In one embodiment, the operations performed by APP 11 in Figure 1 may include: generating a key pair and a fingerprint of public key; establishing a mutually authenticated connection (e.g. TLS connection) with the registry service 12 in the cloud, which comprises authenticating the cloud server with its server certificate and sending the public key to the registry service 12 for authentication the APP 11; registering on the authentication server 14 through the registry service 12; requesting an access token from authentication server 14; accessing business service 13 through the token.

[0097] Fig. 2 is a first exemplary flowchart of a method for registering an APP according to an embodiment of the present disclosure. The method is suitable for an APP, the method includes the following steps:

[0098] Step 101: generating a key pair comprising a public key and a private key, as well as a fingerprint of the public key.

[0099] Step 102: sending a registration request comprising the public key to a registry service, where the registry service has obtained the fingerprint in advance.

[0100] Step 103: receiving a registration response comprising an identifier of the APP from an authentication server via the registry service, when the public key is successfully validated based on the fingerprint by the registry service.

[0101] In one embodiment, the method further including: generating a JWT assertion based on the private key and the identifier; sending a token request comprising the JWT assertion to the authentication server; receiving a token from the authentication server when the JWT assertion is successfully validated based on the public key by the authentication server.

[0102] In one embodiment, the sending a token request comprising the JWT assertion to the authentication server includes: establishing a mutual authenticated secure connection with the registry service based on the fingerprint and a certificate of the registry service; sending the token request to the registry service based on the mutual authenticated secure connection.

[0103] In one embodiment, the generating a key pair and a fingerprint includes: generating the key pair based on an asymmetric cryptographic algorithm; generating the fingerprint based on a hash algorithm.

[0104] In one embodiment, the operations performed by authentication server 14 in Figure 1 may include: accepting mutually authenticated secure connection (such as TLS connection) from APP 11, which comprises sending the server certificate to APP 11 for server authentication; authenticating the APP 11 with its JWT assertion by validating against its public key stored during the registration process; receiving token request from APP 11; signing an access token into the business service 13 (such as IoT applications) that APP 11 needs to access.

[0105] Fig. 3 is a second exemplary flowchart of a method for registering an APP according to an embodiment of the present disclosure. The method is suitable for an authentication server, the method includes the following steps:

[0106] Step 201: receiving a registration request comprising a public key from a registry service, where the public key is successfully validated by the registry service based on a fingerprint of the public key.

[0107] Step 202: storing the public key.

[0108] Step 203: sending a registration response comprising an identifier of an APP to the APP via the registry service, where the public key, the fingerprint, and a private key that forms a key pair with the public key are generated by the APP.

[0109] In one embodiment, the method further includes: receiving a token request comprising a JWT assertion from the APP, wherein the JWT assertion is generated based on the private key and the identifier; sending a token to the APP when the JWT assertion is successfully validated based on the stored public key.

[0110] In one embodiment, the operations performed by registry service 12 in Figure 1 may include: accepting mutually authenticated secure connections (such as TLS connections) from APP 11 which comprises authenticating the APP 11with its raw public key (for example, referring to RFC7250) against the pre-stored fingerprint by the user and sending the server certificate to APP 11 for server authentication; accepting the registration request from the APP 11 and register it on the authorization server 14.

[0111] Fig. 4 is a third exemplary flowchart of a method for registering an APP according to an embodiment of the present disclosure. The method is suitable for a registry service, the method includes the following steps:

[0112] Step 301: obtaining a fingerprint of a public key.

[0113] Step 302: receiving a registration request comprising the public key from an APP.

[0114] Step 303: sending the registration request to an authentication server when the public key comprised in the registration request is successfully validated based on the fingerprint, wherein the public key, the fingerprint, and a private key that forms a key pair with the public key are generated by the APP.

[0115] Step 304: receiving a registration response comprising an identifier of the APP from the authentication server.

[0116] Step 305: sending the registration response to the APP.

[0117] In one embodiment, the obtaining a fingerprint of a public key includes: obtaining the fingerprint from a client via a secure connection, wherein the client obtains the fingerprint by scanning a QR code comprising the fingerprint.

[0118] Fig. 5 is an exemplary flow chart for registering an APP and accessing business service according to an embodiment of the present disclosure. The process shown in Figure 5 includes a registration process 400 and a working process 401. APP 11 has CA certificate 30. The server where registry service 12 is located has server certificate 31.

[0119] As shown in Figure 5, the registration process 400 includes:

[0120] Step 501: APP 11 uses an asymmetric encryption algorithm (such as RSA) to generate a key pair including private key 32 and public key 33, and then uses a hash algorithm (such as SHA256) to generate a fingerprint 34 of the public key 33.

[0121] Step 502: Client 15 obtains the fingerprint 34 from APP 11 by scanning QR code (if the APP 11 supports screen display) comprising the fingerprint 34 or reading a configuration file comprising the fingerprint 34 generated by the APP 11.

[0122] Step 503: Client 15 sends the fingerprint 34 to registry service 12 in cloud 16 through a secure channel established with registry service 12.

[0123] Step 504: APP 11 verifies identity of a user logging into the APP 11 based on CA certificate 30. After successfully verifying the user, APP 11 establishes a mutual authentication TLS connection with registry service 12 (using the public key 33 and server certificate 31 of server where registry service 12 is located) to send a registration request containing public key 33 to registry service 12. Specifically, it includes: (a) . APP 11 authenticates the registry service 12 with its server certificate 31 (that is, server validation process 35 based on server certificate) ; (b) . the registry service 12 authenticates the APP 11 with its public key 33 by validating a fingerprint generated by the public key 33 against the pre-stored one in step 503 (that is, APP validation process 36 based on public key) .

[0124] Step 505: Registry service 12 gets the public key 33 of the APP 11 from the TLS connection. Registry service 12 registers APP 11 on authentication server 14 and initializes the public key 33 of APP 11 in authentication server 14 for subsequent authentication.

[0125] Step 506: Authentication server 14 generates a unique identifier 37 of APP 11, registers APP 11, stores the public key 33, and then returns a registration response containing the identifier 37 to registry service 12. Registry service 12 returns a registration response containing the identifier 37 to APP 11, so that APP 11 can obtain the identifier 37 generated by authentication server 14.

[0126] The registration process 400 is completed and then then proceed with the working process 401. The working process 401 includes:

[0127] Step 507: APP 11 generates JWT assertion 38 with the identifier 37 by signing with its private key 32.

[0128] Step 508: APP 11 uses JWT as authorization grant and sends a token request with the JWT assertion 38 to authorization server 14.

[0129] Step 509: Authentication server 14 processes the token request. Specifically, it includes: (a) : validating the JWT assertion through the public key 33 of APP 11, thereby verifying APP 11; (b) : signing a token 39 for APP 11.

[0130] Step 510: APP 11 establishes a mutual authentication TLS connection with business service 13 in cloud 16 and sends a business access request comprising the token 39 to the business service 13. Specifically, it includes: (a). APP 11 authenticates the business service 13 with its server certificate 31 (that is, server validation process 40 based on server certificate) ; (b) . the business service 13 authenticates the APP 11 with its public key 33 by validating a fingerprint generated by the public key 33 against the pre-stored one in step 503 (that is, APP validation process 41 based on public key) ; (c) . APP 11 sends business access request based on the token 39.

[0131] Step 511: Business service 13 verifies the token 39.

[0132] Step 512: Business service 13 processes the business request.

[0133] Therefore, the public key generated by the APP may be used for authentication between cloud services and authentication server, with the advantage of simple implementation. Moreover, the APP does not issue credentials (such as private keys) , and the connection between the APP and cloud services has mutual authentication, thus also having the advantage of high security. In addition, a client obtains the fingerprint through simple operations (such as scanning a QR code) , which saves a lot of manual work and registration time costs. Moreover, there is no need to initialize the identification and credentials of the APP during the production phase, thus having the advantage of cost savings.

[0134] Embodiments of the present disclosure also propose an electronic device with a processor memory architecture. Fig. 6 is an exemplary structural diagram of an electronic device according to an embodiment of the present disclosure. As shown in Figure 6, electronic device 600 includes a processor 601, a memory 602, and a computer program stored on memory 602 that can run on processor 601. When the computer program is executed by processor 601, the method for registering an APP. as described in either of the above is implemented. Among them, memory 602 can be implemented as various storage media such as electrically erasable programmable read-only memory (EEPROM) , flash memory, programmable program read-only memory (PROM) , etc. Processor 601 can be implemented to include one or more central processors or one or more field programmable gate arrays, wherein the field programmable gate array integrates one or more central processor cores. Specifically, the central processing unit or core can be implemented as a CPU, MCU, DSP, and so on.

[0135] It should be noted that not all steps and modules in the above processes and structural diagrams are necessary, and some steps or modules can be ignored according to actual needs. The execution sequence of each step is not fixed and can be adjusted as needed. The division of each module is only for the convenience of describing the functional division used. In actual implementation, a module can be divided into multiple modules, and the functions of multiple modules can also be implemented by the same module. These modules can be in the same device or different devices.

[0136] The hardware modules in each implementation can be implemented mechanically or electronically. For example, a hardware module may include specially designed permanent circuits or logic devices (such as dedicated processors, such as FPGA or ASIC) to complete specific operations. Hardware modules can also include programmable logic devices or circuits temporarily configured by software (such as general-purpose processors or other programmable processors) for performing specific operations. As for the specific use of mechanical methods, either dedicated permanent circuits or temporarily configured circuits (such as software configuration) to implement hardware modules, it can be determined based on cost and time considerations.

[0137] The above is only a preferred embodiment of the present disclosure and is not intended to limit the scope of protection of the present disclosure. Any modifications, equivalent substitutions, improvements, etc. made within the spirit and principles of this disclosure shall be included within the scope of protection of this disclosure.

Claims

1.A system for registering an APP, comprising a registry service (12) and an authentication server (14) ;the registry service (12) , configured to obtain a fingerprint of a public key, receive a registration request comprising the public key from an APP (11) to be registered, wherein the public key, the fingerprint and a private key that forms a key pair with the public key are generated by the APP (11) , and send the registration request to the authentication server (14) when the public key is successfully validated based on the fingerprint; andthe authentication server (14) , configured to store the public key and send a registration response comprising an identifier of the APP (11) to the registry service (12) .2.The system according to claim 1, wherein the registry service (12) is configured to receive the registration request from the APP (11) via a mutual authenticated secure connection.3.The system according to claim 1, wherein the authentication server (14) is configured to receive a token request comprising a JWT assertion from the APP (11) , the JWT assertion is generated based on the private key and the identifier, and send a token to the APP (11) when the JWT assertion is successfully validated based on the stored public key.4.The system according to claim 1, comprising:a business service (13) , configured to receive a business access request comprising the token from the APP (11) based on a mutual authenticated secure connection, and provide access to the APP (11) when the business access request is successfully validated based on the token.5.The system according to any one of claims 1-4, comprising:a client (15) , configured to obtain the fingerprint of the public key and send the fingerprint of the public key to the registry service (12) via a secure connection with the registry service (12) .6.The system according to claim 5, wherein the client (15) is configured to scan a QR code comprising the fingerprint of the public key to obtain the fingerprint of the public key.7.A method for registering an APP, the method is suitable for an APP, the method comprises:generating (101) a key pair comprising a public key and a private key, and a fingerprint of the public key;sending (102) a registration request comprising the public key to a registry service, wherein the registry service has obtained the fingerprint in advance; andreceiving (103) a registration response comprising an identifier of the APP from an authentication server via the registry service, when the public key is successfully validated based on the fingerprint by the registry service.8.The method according to claim 7, further comprising:generating a JWT assertion based on the private key and the identifier;sending a token request comprising the JWT assertion to the authentication server;receiving a token from the authentication server when the JWT assertion is successfully validated based on the public key by the authentication server.9.The method according to claim 7, wherein the sending a token request comprising the JWT assertion to the authentication server comprises:establishing a mutual authenticated secure connection with the registry service based on the fingerprint and a certificate of the registry service;sending the token request to the registry service based on the mutual authenticated secure connection.10.The method according to any one of claims 7-9, wherein the generating (101) a key pair and a fingerprint comprising:generating the key pair based on an asymmetric cryptographic algorithm;generating the fingerprint based on a hash algorithm.11.A method for registering an APP, the method is suitable for an authentication server, the method comprises:receiving (201) a registration request comprising a public key from a registry service, wherein the public key is successfully validated by the registry service based on a fingerprint of the public key;storing (202) the public key; andsending (203) a registration response comprising an identifier of an APP to the APP via the registry service, wherein the public key, the fingerprint, and a private key that forms a key pair with the public key are generated by the APP.12.The method according to claim 11, comprising:receiving a token request comprising a JWT assertion from the APP, wherein the JWT assertion is generated based on the private key and the identifier;sending a token to the APP when the JWT assertion is successfully validated based on the stored public key.13.A method for registering an APP, the method is suitable for a registry service, the method comprises:obtaining (301) a fingerprint of a public key;receiving (302) a registration request comprising the public key from an APP;sending (303) the registration request to an authentication server when the public key comprised in the registration request is successfully validated based on the fingerprint, wherein the public key, the fingerprint, and a private key that forms a key pair with the public key are generated by the APP;receiving (304) a registration response comprising an identifier of the APP from the authentication server; andsending (305) the registration response to the APP.14.The method according to claim 13, wherein the obtaining (301) a fingerprint of a public key comprises:obtaining the fingerprint from a client via a secure connection, wherein the client obtains the fingerprint by scanning a QR code comprising the fingerprint.15.An electronic device, comprising a processor (601) and a memory (602) , wherein an application program executable by the processor (601) is stored in the memory (602) for causing the processor (601) to execute a method for registering an APP according to any one of claims 7-14.16.A computer-readable medium comprising computer-readable instructions stored thereon, wherein the computer-readable instructions for executing a method for registering an APP according to any one of claims 7-14.17.A computer program product comprising a computer program, upon the computer program is executed by a processor for executing a method for registering an APP according to any one of claims 7-14.