CN113449269B - Core module activation method and device and storage medium - Google Patents

Core module activation method and device and storage medium Download PDF

Info

Publication number
CN113449269B
CN113449269B CN202110827142.5A CN202110827142A CN113449269B CN 113449269 B CN113449269 B CN 113449269B CN 202110827142 A CN202110827142 A CN 202110827142A CN 113449269 B CN113449269 B CN 113449269B
Authority
CN
China
Prior art keywords
activation
core module
activated
service
software
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202110827142.5A
Other languages
Chinese (zh)
Other versions
CN113449269A (en
Inventor
徐梁
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Ecarx Hubei Tech Co Ltd
Original Assignee
Ecarx Hubei Tech Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Ecarx Hubei Tech Co Ltd filed Critical Ecarx Hubei Tech Co Ltd
Priority to CN202110827142.5A priority Critical patent/CN113449269B/en
Publication of CN113449269A publication Critical patent/CN113449269A/en
Application granted granted Critical
Publication of CN113449269B publication Critical patent/CN113449269B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • G06F21/12Protecting executable software
    • G06F21/121Restricting unauthorised execution of programs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/602Providing cryptographic facilities or services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/71Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
    • G06F21/73Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information by creating or determining hardware identification, e.g. serial numbers

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Technology Law (AREA)
  • Multimedia (AREA)
  • Mathematical Physics (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Stored Programmes (AREA)

Abstract

The application provides a method, a device and a storage medium for activating a core module, wherein the method comprises the following steps: acquiring identification information of a core module to be activated through a core module activation service; the method comprises the steps of uploading identification information to a cloud server, receiving a first activation result returned by the cloud server and determining whether to activate a core module to be activated or not based on the identification information, further determining whether software activation service is integrated in terminal equipment or not if the first activation result indicates that the core module to be activated is successfully activated, activating a software system matched with the core module to be activated through the software activation service if the software activation service is integrated, obtaining a second activation result used for indicating whether the software system is successfully activated or not, and displaying the second activation result through the software activation service. According to the method and the device, the hardware system and the software system are respectively activated according to actual needs, so that the hardware system can be only activated, and the hardware system and the software system can be simultaneously activated, so that the activation scheme is more flexible and practical.

Description

Core module activation method and device and storage medium
Technical Field
The present application relates to the field of communications technologies, and in particular, to a method and an apparatus for activating a core module, and a storage medium.
Background
In recent years, with the development of social science and technology, the awareness of the right of maintenance is gradually increased, and more companies need to prevent unauthorized abuse of hardware or software so as to guarantee the benefits of the companies. And to pave the way for future expansion of more business possibilities through activation strategies.
At present, when an electronic device is activated, the electronic device is often activated and used under the condition that a software system and a hardware system are mutually bound, namely, the whole device is activated.
The method simultaneously activates the hardware of the electronic equipment and the software pre-loaded in the electronic equipment, which cannot meet the condition that only the hardware needs to be activated or only the software needs to be activated, and the activation mode is not flexible enough.
Disclosure of Invention
In order to meet the requirement that a user activates hardware and software separately, the application provides a core module activation method, a core module activation device and a storage medium.
In a first aspect, the present application provides a method for activating a core module, which is applied to a terminal device, and includes:
acquiring identification information of a core module to be activated through a core module activation service;
uploading the identification information to a cloud server;
receiving a first activation result which is returned by a cloud server and is used for determining whether to activate the core module to be activated or not based on the identification information, wherein the first activation result is used for indicating whether the core module to be activated is successfully activated or not;
if the first activation result indicates that the activation of the core module to be activated is successful, determining whether software activation service is integrated;
if the software activation service is integrated, activating a software system matched with the core module to be activated through the software activation service, and obtaining a second activation result, wherein the second activation result is used for indicating whether the software system is successfully activated;
the second activation result is displayed by the software activation service.
In one possible implementation, the identification information includes a core module identification, an international mobile equipment identity, a core module serial number, and a chip identification.
In one possible implementation manner, acquiring, by the core module activation service, the identification information of the core module to be activated includes: reading an international mobile equipment identification code, a core module serial number and a core module identification from a core module to be activated; and reading the chip identification from the chip inside the core module to be activated.
In one possible implementation, determining whether a software activation service is integrated includes: traversing the package names of the installed applications, and determining whether the package names of the installed applications have the same name as that of the software activation service; if the package name of the installed application has the name same as the package name of the software activation service, determining that the software activation service is integrated; or, if the same name as the package name of the software activation service does not exist in the package names of the installed applications, it is determined that the software activation service is not integrated.
In a possible implementation, the method further comprises: if the first activation result indicates that the activation of the core module to be activated fails, displaying the first activation result through the terminal equipment; and/or if the terminal equipment is not integrated with the software activation service, displaying the first activation result through the terminal equipment.
In a possible embodiment, the method further comprises: storing the first activation result or the second activation result in the non-data partition.
In one possible embodiment, storing the first activation result or the second activation result in the non-data partition includes: and adopting the chip identifier in the core module to be activated as a key, and encrypting and storing the first activation result or the second activation result in the non-data partition.
In one possible embodiment, a terminal device including a core module activation monitoring service, where the first activation result or the second activation result is stored in a non-data partition, includes: and encrypting and storing the first activation result or the second activation result in the non-data partition by using a preset encryption algorithm, wherein the preset encryption algorithm is an encryption algorithm negotiated in advance by a core module activation service and a core module activation monitoring service, and the core module activation monitoring service is used for monitoring whether the stored activation data is abnormal or not.
In a possible embodiment, the method further comprises: and if the core module activates the monitoring service to monitor that the stored activation data is abnormal, displaying abnormal prompt information in a full screen mode at intervals of set time.
In a second aspect, the present application provides a core module activation apparatus, which is applied to a terminal device, and includes:
the acquisition module acquires the identification information of the core module to be activated through the core module activation service;
the uploading module uploads the identification information to a cloud server;
the receiving module is used for receiving a first activation result which is returned by the cloud server and is used for determining whether to activate the core module to be activated or not based on the identification information, and the first activation result is used for indicating whether the core module to be activated is successfully activated or not;
the determining module is used for determining whether software activation service is integrated or not if the first activation result indicates that the core module to be activated is successfully activated;
the activation module activates a software system matched with the core module to be activated through the software activation service if the software activation service is integrated, and obtains a second activation result, wherein the second activation result is used for indicating whether the software system is successfully activated;
and the display module displays the second activation result through the software activation service.
In one possible embodiment, the identification information includes a core module identification, an international mobile equipment identity, a core module serial number, and a chip identification.
In a possible implementation manner, the obtaining module is specifically configured to: reading an international mobile equipment identification code, a core module serial number and a core module identification from a core module to be activated; and reading the chip identification from the chip inside the core module to be activated.
In a possible implementation, the determining module is specifically configured to: traversing the package names of the installed applications, and determining whether the package names of the installed applications have the same name as that of the software activation service; if the package name of the installed application has the name same as the package name of the software activation service, determining that the software activation service is integrated; or, if the same name as the package name of the software activation service does not exist in the package names of the installed applications, it is determined that the software activation service is not integrated.
In one possible embodiment, the display module is further configured to: if the first activation result indicates that the activation of the core module to be activated fails, displaying the first activation result through the terminal equipment; and/or if the terminal equipment is not integrated with the software activation service, displaying the first activation result through the terminal equipment.
In a possible embodiment, the method further comprises a storage module, configured to store the first activation result or the second activation result in the non-data partition.
In one possible implementation, the storage module is specifically configured to: and adopting the chip identifier in the core module to be activated as a key, and encrypting and storing the first activation result or the second activation result in the non-data partition.
In one possible implementation, the terminal device includes a core module activating the monitoring service, and the storage module is specifically configured to: and encrypting and storing the first activation result or the second activation result in the non-data partition through a preset encryption algorithm, wherein the preset encryption algorithm is an encryption algorithm negotiated in advance by the core module activation service and the core module activation monitoring service, and the core module activation monitoring service is used for monitoring whether the stored activation data are abnormal or not.
In one possible implementation, the display module is further configured to: and if the core module activates the monitoring service to monitor that the stored activation data is abnormal, displaying abnormal prompt information in a full screen mode at intervals of set time.
In a third aspect, the present application provides an electronic device, comprising:
a memory and a processor;
the memory is used for storing program instructions;
the processor is used for calling the program instructions in the memory to execute the core module activation method of the first aspect.
In a fourth aspect, the present application provides a computer-readable storage medium, in which computer program instructions are stored, and when the computer program instructions are executed, the core module activation method of the first aspect is implemented.
In a fifth aspect, the present application provides a computer program product comprising a computer program which, when executed by a processor, implements the core module activation method of the first aspect.
The application provides a core module activation method, a core module activation device and a storage medium, which are applied to terminal equipment, wherein identification information of a core module to be activated is obtained through a core module activation service, the identification information is uploaded to a cloud server, then a first activation result which is returned by the cloud server and is based on the identification information is received to determine whether the core module to be activated is activated, the first activation result is used for indicating whether the core module to be activated is successfully activated or not, if the first activation result indicates that the core module to be activated is successfully activated, whether a software activation service is integrated or not is determined, if the software activation service is integrated, a software system matched with the core module to be activated is activated through the software activation service, a second activation result is obtained, the second activation result is used for indicating whether the software system is successfully activated or not, and finally, the second activation result is displayed through the software activation service. According to the method and the device, the hardware system and the software system are respectively activated according to actual needs, and a user can only activate the hardware system and can also activate the hardware system and the software system simultaneously, so that the whole activation scheme is more flexible and practical.
Drawings
In order to more clearly illustrate the embodiments of the present application or the technical solutions in the prior art, the drawings needed to be used in the description of the embodiments or the prior art will be briefly introduced below, and it is obvious that the drawings in the following description are some embodiments of the present application, and for those skilled in the art, other drawings can be obtained according to these drawings without inventive exercise.
Fig. 1 is a schematic view of an application scenario provided in an embodiment of the present application;
fig. 2 is a flowchart of a core module activation method according to an embodiment of the present application;
fig. 3 is a flowchart of a core module activation method according to another embodiment of the present application;
fig. 4 is a schematic signal flow diagram illustrating a core module activation method according to an embodiment of the present disclosure;
fig. 5 is a schematic structural diagram of a core module activation device according to an embodiment of the present application;
fig. 6 is a schematic structural diagram of an electronic device according to an embodiment of the present application.
Detailed Description
In order to make the objects, technical solutions and advantages of the embodiments of the present application clearer, the technical solutions in the embodiments of the present application will be clearly and completely described below with reference to the drawings in the embodiments of the present application, and it is obvious that the described embodiments are some embodiments of the present application, but not all embodiments. All other embodiments, which can be derived by a person skilled in the art from the embodiments given herein without making any creative effort, shall fall within the protection scope of the present application.
First, some technical terms related to the present application are explained:
the serial number is commonly used in Mobile phones, and the core module in this application also carries the serial number.
The core module Serial Number is also called a core module SN, where Serial Number (SN) is used for short. The core module sequence number is a value defined specifically for the core module. Illustratively, the core module sequence number is 15 bits in total.
The Chip Id, i.e. Chip number (Chip Id), is a system on Chip (Soc) manufacturer Chip Id, and is used to identify each Chip and is not changeable.
The core module identification (Modular Id) is an Id formed by combining IMEI, core module SN and Chip Id into a whole and is used for uniquely identifying the core module. Optionally, the core module id includes 13-bit values, and is called as activated four elements together with the three numbers, so as to uniquely identify a core module, which is the basis for whether the core module can be activated.
Advanced Encryption Standard (AES) is a symmetric cipher proposed by the federal government in the united states and is intended to replace DES Encryption as a widely used Standard.
Currently, when an electronic device is activated, the electronic device is often activated and used when a software system and a hardware system are bound to each other, that is, the whole device is activated. The method simultaneously activates the hardware of the electronic equipment and the software pre-loaded in the electronic equipment, which cannot meet the condition that only the hardware needs to be activated or only the software needs to be activated, and the activation mode is not flexible enough.
Based on the above problems, embodiments of the present application provide a method, an apparatus, and a storage medium for activating a core module, which respectively activate a hardware system and a software system according to actual needs, so that a user can activate only the hardware system or simultaneously activate the hardware system and the software system, thereby making the whole activation scheme more flexible and practical.
Fig. 1 is a schematic view of an application scenario provided in an embodiment of the present application. The terminal device may be a vehicle, as shown in fig. 1, in the application scenario, the terminal device includes a vehicle 10 and a server 20, for example, the server 20 may be a cloud server, which is taken as an example for description in the embodiment of the present application, but the present application is not limited thereto. The vehicle 10 includes a vehicle unit, which is typically mounted in a central control panel. Optionally, the in-vehicle device further includes a core module activation service, a software activation service, a core module activation monitoring service, and a core module activation result storage module. The system comprises a core module activation service, a vehicle machine screen, a software system, a core module activation monitoring service, a core module activation result storage module and a software system activation monitoring module, wherein the core module activation service is used for activating a core module and displaying an activation result by the vehicle machine screen, the software activation service is used for activating the software system and displaying the software activation result by the vehicle machine screen, the core module activation monitoring service is used for monitoring the correctness of activation data, the core module activation result storage module is used for storing the activation result, and the activation result is stored in the module in a data form.
For example, when the in-vehicle device needs to activate the core module, the identification information of the core module needs to be sent to the cloud server 20, and the server 20 performs comparison and correction, and if the identification information is consistent, the information that the activation is successful is returned to the core module activation service in the in-vehicle device, and the subsequent processing is performed.
It should be noted that fig. 1 is only a schematic diagram of an application scenario provided in this embodiment, and this embodiment of the present application does not limit the devices included in fig. 1, and also does not limit the positional relationship between the devices in fig. 1. For example, in the application scenario shown in fig. 1, a data storage device may be further included, and the data storage device may be an external memory or an internal memory integrated in the car machine or the server 20.
The technical solution of the present application will be described in detail below with reference to specific examples. It should be noted that the following specific embodiments may be combined with each other, and the same or similar concepts or processes may not be described in detail in some embodiments.
Fig. 2 is a flowchart of a core module activation method according to an embodiment of the present application. Applied to a terminal device, as shown in fig. 2, the method includes:
s201, obtaining the identification information of the core module to be activated through the core module activation service.
The core module activation service in the terminal device reads its identification information from the core module, which is generated in the production stage of the core module and chips, for the purpose of uniquely determining a core module and its internal chips, and generally, at least one chip may exist in one module, and further, one chip includes a module that can implement various different functions.
S202, the identification information is uploaded to a cloud server.
S203, receiving a first activation result which is returned by the cloud server and is used for determining whether to activate the core module to be activated or not based on the identification information, wherein the first activation result is used for indicating whether the core module to be activated is successfully activated or not.
Specifically, the first activation result is an activation result of the core module. The core module activation service uploads the read identification information to the cloud server, and the identification information is synchronized to the cloud server after being determined in the core module production stage. Therefore, the cloud server already stores the identification information of the core module after production, when the core module needs to be activated, the cloud server compares the identification information sent by the core module activation service with the identification information stored before, and if the identification information is matched, an activation result of successful activation is returned to the core module activation service; otherwise, if the identification information is not matched, the activation result of the activation failure is returned to the core module to activate the service.
S204, if the first activation result indicates that the activation of the core module to be activated is successful, determining whether the software activation service is integrated.
In the application, after the core module is successfully activated, that is, the hardware system of the core module is successfully activated, and then whether the system of the terminal device contains the software activation service is further judged. The successful activation of the hardware system is a necessary condition for activating the software system, that is, only after the hardware system is activated, whether the software activation service is integrated is judged. Thus, when the hardware system is not activated or fails to be activated, the software system is not activated even if the software activation service exists. In addition, even if the software activation service does not exist or the software activation service fails to activate the software system, the use of the hardware system successfully activated is not affected, i.e. the two are independent.
S205, if the software activation service is integrated, activating the software system matched with the core module to be activated through the software activation service, and obtaining a second activation result, wherein the second activation result is used for indicating whether the software system is successfully activated.
Specifically, the second activation result is a result of the activation of the software system. In the above case, if the software activation service is integrated in the terminal device, the software system is activated, and if the activation is successful, a result of the successful activation is returned, and if the activation is failed, a result of the failed activation is returned. In addition, the software activation services provided by different terminal devices are different, for example, there are high-configuration, medium-configuration and low-configuration situations, and therefore, the activation of the software systems is not the same. In particular, a terminal device with medium or low configuration may have a failure in activating part of software.
And S206, displaying a second activation result through the software activation service.
After the second activation result is determined, specifically, the second activation result is displayed through a display area of the terminal device, so as to inform the specific situation of activation.
In the embodiment of the application, the identification information of the core module to be activated is acquired through the core module activation service; the method comprises the steps of uploading identification information to a cloud server, receiving a first activation result returned by the cloud server and determining whether to activate a core module to be activated or not based on the identification information, further determining whether software activation service is integrated in terminal equipment or not if the first activation result indicates that the core module to be activated is successfully activated, activating a software system matched with the core module to be activated through the software activation service if the software activation service is integrated, obtaining a second activation result used for indicating whether the software system is successfully activated or not, and displaying the second activation result through the software activation service. The user can respectively activate the hardware system and the software system according to actual needs, and the user can only activate the hardware system and can also simultaneously activate the hardware system and the software system, so that the whole activation scheme is more flexible and practical.
Further, the identification information in the above embodiment may include a core module identifier, an international mobile equipment identity, a core module serial number, a chip identifier, and the like.
As described in the noun explanation, the core module serial number is a code that the core module is specially equipped with in production, the international mobile equipment identity is a special code that is equipped with communication products internationally, and the chip identifier is a serial number of the chip itself in the core module.
In the method, the core module id is generated by a certain rule based on three elements, namely, a core module serial number, an international mobile equipment identity, and a chip id, and is used to uniquely identify a core module. As an example, the core module identification is 13 bits.
And taking the four elements of the core module identification, the international mobile equipment identification code, the core module serial number and the chip identification as four activation elements of the core module. The cloud server also determines whether to activate the core module by comparing the currently uploaded activation quad elements with the stored activation quad elements, namely, whether to activate the core module is the basis for activating the core module.
Optionally, based on the basis of the foregoing embodiment, in step S201, obtaining the identification information of the core module to be activated through the core module activation service may include: and reading the international mobile equipment identification code, the core module serial number and the core module identification from the core module to be activated, and reading the chip identification from the chip in the core module to be activated.
Specifically, since at least one chip may exist in one module, a plurality of chip identifiers may be read, and when the comparison is performed by the cloud server, the chip identifiers of the plurality of chips need to be compared.
In the embodiment of the application, the four elements are activated to authenticate the core module, so that the safety of the core module is improved, and the core module is prevented from being stolen or maliciously tampered.
Based on the above embodiment, determining whether the software activation service is integrated may further include: traversing the package names of the installed applications, determining whether the package names of the installed applications have the same name as the package name of the software activation service, if the package names of the installed applications have the same name as the package name of the software activation service, determining that the software activation service is integrated, or if the package names of the installed applications do not have the same name as the package name of the software activation service, determining that the software activation service is not integrated.
Specifically, the system in the terminal device may be an android system, and after receiving an activation result returned by the cloud server, the core module activation service of the terminal device traverses the Package names of all software Installed in the system by using a method for acquiring an Installed Package (Get inserted Packages) in a Package Manager (Package Manager) native to the android system, compares the Package names with the Package names of the software activation service, if the same Package names exist, it is indicated that the software activation service is integrated, and if the same Package names do not exist, it is determined that the core module is sold separately and is not sold by binding the software activation system. The judgment of whether the integrated software activation service is successful or failed is not the basis for the successful or failed activation of the core module, but is the basis for who to process the activation result after receiving the activation result. Because the software activation service and the core module activation service both have interface designs for interacting with the user, if both display the interface of the activation result, the interface is confused. Therefore, the rule is defined that the interface display of the software activation service is higher than that of the core module, if the software activation service is integrated in the system of the terminal equipment, the interface display is uniformly made by the software activation service, the activation result of the core module is only used as a sub item to inform the software activation service of the activation result, and the interface is not displayed any more.
Furthermore, the core module activation method may further include: if the first activation result indicates that the activation of the core module to be activated fails, displaying the first activation result through the terminal equipment; and/or if the terminal equipment is not integrated with the software activation service, displaying the first activation result through the terminal equipment.
For the condition that the core module is failed to be activated, no matter whether the software activation service is integrated or not, the software system is not activated, and the result of the failure of the activation of the core module, namely the first activation result, is directly displayed by the display area of the terminal equipment. In another case, the core module is successfully activated, the car machine does not integrate the software activation service at this time, so that the software system cannot be activated, and the display area of the terminal device also displays the first activation result of the failed activation of the core module.
In some embodiments, the method for activating a core module in the present application may further include: storing the first activation result or the second activation result in a non-data partition.
Specifically, in the present application, the activation result storage module may be a core module activation result storage module, and after the first activation result or the second activation result is determined, whether activation is successful or failed, the core module activation result storage module in the terminal device stores the first activation result or the second activation result. Moreover, user data stored in a data partition is generally cleared when the operating system such as an android system restores to the factory setting, so that the storage location of the first activation result or the second activation result is not under the data partition but an independent partition, and the first activation result or the second activation result is not cleared even when the vehicle-mounted device restores to the factory setting, thereby ensuring that the activation result is not changed.
Based on the foregoing embodiment, further, storing the first activation result or the second activation result in the non-data partition may include: and adopting the chip identifier in the core module to be activated as a key, and encrypting and storing the first activation result or the second activation result in the non-data partition.
Illustratively, when the activation result is written in the non-data partition, an AES encryption method or other encryption method is used, with the chip identification as the key. Since the chip identification of each chip is unique. Therefore, even if the activation data is maliciously copied to other core modules, the chip identification of the chip on different core modules is different, so that the correct decryption cannot be performed, and the activation result is ensured to correspond to the unique core module.
In addition, in the foregoing embodiment, the terminal device may further include a core module activation monitoring service, and store the first activation result or the second activation result in the non-data partition, and the method may further include: and encrypting and storing the first activation result or the second activation result in the non-data partition by using a preset encryption algorithm, wherein the preset encryption algorithm is an encryption algorithm negotiated in advance by a core module activation service and a core module activation monitoring service, and the core module activation monitoring service is used for monitoring whether the stored activation data is abnormal or not.
Still further, the core module activation method may further include: and if the core module activates the monitoring service to monitor that the stored activation data is abnormal, displaying abnormal prompt information in a full screen mode at intervals of set time.
Specifically, the activation result is written into the core module activation result storage module by the encryption algorithm agreed in advance by the core module activation service and the core module activation monitoring service, and the module belongs to the non-data partition. If the core module activation service is maliciously deleted, the activation data cannot be stored in the core module activation result storage module, the probability that the data read by the core module activation monitoring service is null is high, and even if three parties forge the activation data to be stored in the core module activation result storage module, the forged data cannot be correctly analyzed by the core module activation monitoring service because the three parties do not know the rule of an encryption algorithm. When the core module activates the monitoring service to monitor that the data is abnormal, namely the detected activation data is empty or the activation data cannot be correctly analyzed, the core module activates the monitoring service to pop up an interface at fixed time intervals, and the interface is displayed in a full screen mode in a display area of the terminal device, so that third-party application of the terminal device cannot be normally used, the core module activating service is prevented from being maliciously damaged by people, and the inactivated core module is prevented from being adopted to carry a third-party software system.
In the embodiment of the application, the core module activation result storage module of the terminal device is not located in the data partition of the system of the terminal device, so that the core module activation result storage module is not cleared by factory reset, and the activation data in the core module activation result storage module is encrypted by an AES (advanced encryption standard) method by using a chip identifier as a key, so that the forged core modules in the same form cannot read the real activation data stored in the core module. In addition, the activation data is also encrypted according to the core module activation service and the core module activation monitoring service preset encryption algorithm, and the core module activation monitoring service monitors the activation data. Therefore, when a hacker destroys or tampers with the core module activation service, the hacker cannot read the activation data or the read activation data cannot be correctly analyzed because the algorithm is composed of the core module activation service and the core module activation monitoring service. At this moment, the core module activates the monitoring service and can display the popup frame on the full screen in the display area, so that the third-party software application in the system of the terminal equipment cannot be normally used, and the safety is enhanced.
To show the complete scheme in more detail, fig. 3 is a flowchart of a core module activation method according to another embodiment of the present disclosure. In this embodiment, the terminal device may be a car machine, the system of the terminal device may be a car machine system, and the display area of the terminal device may be a central control screen. As shown in fig. 3, the method for activating a core module according to the embodiment of the present application may include:
s301, in the core module production stage, writing a core module serial number, a core module identification and an international mobile equipment identification code into a designated area of the nonvolatile random access memory by the tool terminal, and synchronizing the core module serial number, the core module identification and the international mobile equipment identification code with the chip identification to a cloud server.
In the production stage of the core module, the production tool end writes a core module serial number, a core module identification and an international mobile equipment identification code into the vehicle machine storage module, wherein the core module serial number, the core module identification and the international mobile equipment identification code are required for activating the core module. And reading the chip identification from the chip, and synchronizing the four elements to a cloud server through a network. The in-vehicle Memory module includes a Non-Volatile Random Access Memory (NVRAM), which is a Random Access Memory capable of maintaining data after power failure.
S302, in the vehicle machine production stage, the core module activation service reads the previously written core module serial number, the core module identification and the international mobile equipment identification code from the vehicle machine storage module, and reads the chip identification of the chip of the core module activation service.
When the car machine is produced, the core module needs to be activated, and at this time, the core module activation service in the car machine system reads and activates four elements.
S303, the core module activation service sends the read data to the cloud server to make an activation request.
The core module activation service judges whether the vehicle-mounted machine network is connected or not, and if the vehicle-mounted machine network is not connected, a full-screen covering popup frame is popped up to remind of connecting the network. And after the network is connected, uploading the read activated four elements to a cloud server.
S304, the cloud server judges whether the core module is allowed to be activated or not, and an activation result is returned to the core module activation service.
Specifically, the cloud server synchronizes the four activated elements of all the produced core modules, matches the four activated elements reported by the core module activation service according to data provided by the purchasing department (which number segments of four elements are purchased by the client), returns an activation success result if the reported four activated elements are in the number segments allowed to be activated, and returns an activation failure result if the reported four activated elements are not in the number segments allowed to be activated.
S305, after receiving the activation result of the cloud server, the core module activation service judges whether the vehicle-mounted machine system integrates the software activation service, if the vehicle-mounted machine system integrates the software activation service, the core module activation service reports the previous activation result to the software activation service, and the software activation service further activates the software system. And if the integrated software does not activate the service or fails to activate, displaying the failure result and reason by the central control screen pop-up box.
For example, if the cloud returns the information of the activation of the core module, and the android native file package manager detects that the car machine system is integrated with the software activation service, it is determined that the core module is matched with the software system, and the core module activation service reports the activation result of the core module to the software activation service. After the software activation service receives the activation result of the core module, if the activation is successful, the whole software system can be activated according to a set strategy, if the activation failure information is returned by the cloud, the software system is not allowed to be activated, a user cannot normally enter the software system, and various applications of the software system, such as map navigation, multimedia music and the like, cannot be used. Based on the above example, when a third party uses an inactivated core module to carry its own software system, since the core module service cannot activate the core module of the third party, that is, the hardware system cannot be activated, the pop-up warning may repeatedly appear on the central control screen, so that the third party cannot use its own carried software system.
And S306, writing the activation result into a core module activation result storage module through an AES encryption method by taking the chip identifier as a secret key, wherein the module is not positioned in a data area of the vehicle machine system. And the activation result is written into the core module activation result storage module by the core module activation service and the core module activation monitoring service according to a pre-encryption algorithm.
S307, if the software system is activated, only the activation result of the software system is displayed; and if only the hardware system is activated, only the result of the activation of the hardware system is displayed.
Fig. 4 is a schematic signal flow diagram of a core module activation method according to an embodiment of the present application, where in this embodiment, a system in a terminal device takes a car machine system as an example, and shows a relationship between modules in the car machine system 400, as shown in fig. 4:
in this embodiment, the tool side may be a writing tool 401 for a four-element identifier of a core module, and the in-vehicle storage module may be a storage module 402 for a four-element identifier of a core module.
In the production phase of the core module in the factory, the four-element id writing tool 401 writes the activated four-element into the four-element id storage module 402 of the core module.
When the core module needs to be activated, the core module activation service 403 in the in-vehicle system 400 reads the activated four elements from the core module four-element id storage module 402 and sends the activated four elements to the cloud server 404.
The cloud server 404 compares the received activated four elements with the previously stored activated four elements to determine whether to activate the core module. And returns the result to the core module activation service 403.
After receiving the activation result, the core module activation service 403 needs to determine whether the in-vehicle system 400 integrates the software activation service 405, that is, the software activation service. If the software activation service 405 is integrated, the core module activation service 403 reports the activation result to the software activation service 405, the software activation service 405 performs the next judgment according to the activation result, and if the activation is successful, the software activation service 405 performs software activation operation; and if the activation fails, the software activation service does not activate the software system. At the moment, the in-vehicle control screen displays the result and reason of the activation failure of the core module. And for the condition that the core module is successfully activated, the screen control in the vehicle machine only displays the activation result of the software system at the moment and does not display the activation result of the hardware system.
The in-vehicle system 400 further includes a core module activation result storage module 406 and a core module activation monitoring service 407. The core module activation result storage module 406 is configured to store an activation result of a hardware system or a software system, the module is located in a non-data partition of the in-vehicle system 400, the core module activation monitoring service 407 is configured to monitor activation data in the core module activation result storage module 406, and an encryption manner of the core module activation monitoring service 407 and the core module activation service 403 is written in according to a certain rule, so that an attacker cannot illegally utilize the core module by destroying the core module activation service 403.
The following are embodiments of the apparatus of the present application that may be used to perform embodiments of the method of the present application. For details which are not disclosed in the embodiments of the apparatus of the present application, reference is made to the embodiments of the method of the present application.
Fig. 5 is a schematic structural diagram of a core module activation apparatus according to an embodiment of the present application, and is applied to a terminal device. As shown in fig. 5, the core module activation device 500 includes:
an obtaining module 501, configured to obtain, through a core module activation service, identification information of a core module to be activated;
the uploading module 502 uploads the identification information to a cloud server;
a receiving module 503, configured to receive a first activation result returned by the cloud server and used for determining whether to activate the core module to be activated based on the identification information, where the first activation result is used to indicate whether the core module to be activated is successfully activated;
a determining module 504, configured to determine whether a software activation service is integrated if the first activation result indicates that the activation of the core module to be activated is successful;
an activation module 505, configured to activate, if a software activation service is integrated, a software system collocated with the core module to be activated through the software activation service, and obtain a second activation result, where the second activation result is used to indicate whether the software system is successfully activated;
a display module 506, configured to display the second activation result through the software activation service.
In one possible implementation, the identification information includes a core module identification, an international mobile equipment identity, a core module serial number, and a chip identification.
In a possible implementation manner, the obtaining module 501 is specifically configured to: reading an international mobile equipment identification code, a core module serial number and a core module identification from a core module to be activated; and reading the chip identification from the chip inside the core module to be activated.
In a possible implementation, the determining module 504 is specifically configured to: traversing the package names of the installed applications, and determining whether the package names of the installed applications have the same name as that of the software activation service; if the package name of the installed application has the name same as the package name of the software activation service, determining that the software activation service is integrated; or, if the same name as the package name of the software activation service does not exist in the package names of the installed applications, it is determined that the software activation service is not integrated.
In one possible implementation, the display module 506 is further configured to: if the first activation result indicates that the activation of the core module to be activated fails, displaying the first activation result through the terminal equipment; and/or if the terminal equipment is not integrated with the software activation service, displaying the first activation result through the terminal equipment.
In a possible embodiment, the system further includes a storage module 507 configured to store the first activation result or the second activation result in the non-data partition.
In a possible implementation manner, the storage module 507 is specifically configured to: and adopting the chip identifier in the core module to be activated as a key, and encrypting and storing the first activation result or the second activation result in the non-data partition.
In a possible implementation manner, the terminal device includes a core module activated monitoring service, and the storage module 507 is specifically configured to: and encrypting and storing the first activation result or the second activation result in the non-data partition by using a preset encryption algorithm, wherein the preset encryption algorithm is an encryption algorithm negotiated in advance by a core module activation service and a core module activation monitoring service, and the core module activation monitoring service is used for monitoring whether the stored activation data is abnormal or not.
In one possible implementation, the display module 506 is further configured to: and if the core module activates the monitoring service to monitor that the stored activation data is abnormal, displaying abnormal prompt information in a full screen mode at intervals of set time.
The apparatus provided in the embodiment of the present application may be used to execute the method of the foregoing embodiment, and the implementation principle and the technical effect are similar, which are not described herein again.
It should be noted that the division of the modules of the above apparatus is only a logical division, and the actual implementation may be wholly or partially integrated into one physical entity, or may be physically separated. And these modules can be realized in the form of software called by processing element; or can be implemented in the form of hardware; and part of the modules can be realized in the form of calling software by the processing element, and part of the modules can be realized in the form of hardware. For example, the processing module may be a processing element separately set up, or may be implemented by being integrated in a chip of the apparatus, or may be stored in a memory of the apparatus in the form of program code, and a function of the processing module may be called and executed by a processing element of the apparatus. Other modules are implemented similarly. In addition, all or part of the modules can be integrated together or can be independently realized. The processing element described herein may be an integrated circuit having signal processing capabilities. In implementation, each step of the above method or each module above may be implemented by an integrated logic circuit of hardware in a processor element or an instruction in the form of software.
For example, the above modules may be one or more integrated circuits configured to implement the above methods, such as: one or more Application Specific Integrated Circuits (ASICs), or one or more microprocessors (DSPs), or one or more Field Programmable Gate Arrays (FPGAs), among others. For another example, when some of the above modules are implemented in the form of a processing element scheduler code, the processing element may be a general-purpose processor, such as a Central Processing Unit (CPU) or other processor that can call program code. As another example, these modules may be integrated together, implemented in the form of a system-on-a-chip (SOC).
In the above embodiments, all or part of the implementation may be realized by software, hardware, firmware, or any combination thereof. When implemented in software, may be implemented in whole or in part in the form of a computer program product. The computer program product includes one or more computer instructions. The procedures or functions described in accordance with the embodiments of the application are all or partially generated when the computer program instructions are loaded and executed on a computer. The computer may be a general purpose computer, a special purpose computer, a network of computers, or other programmable device. The computer instructions may be stored in a computer readable storage medium or transmitted from one computer readable storage medium to another, for example, from one website site, computer, server, or data center to another website site, computer, server, or data center via wired (e.g., coaxial cable, fiber optic, digital Subscriber Line (DSL)) or wireless (e.g., infrared, wireless, microwave, etc.). The computer-readable storage medium can be any available medium that can be accessed by a computer or a data storage device, such as a server, a data center, etc., that incorporates one or more of the available media. The usable medium may be a magnetic medium (e.g., floppy disk, hard disk, magnetic tape), an optical medium (e.g., DVD), or a semiconductor medium (e.g., solid State Disk (SSD)), among others.
Fig. 6 is a schematic structural diagram of an electronic device according to an embodiment of the present application. Illustratively, the electronic device may be provided as a server or a computer. Referring to fig. 6, electronic device 600 includes a processing component 601 that further includes one or more processors and memory resources, represented by memory 602, for storing instructions, such as application programs, that are executable by processing component 601. The application programs stored in memory 602 may include one or more modules that each correspond to a set of instructions. Further, the processing component 601 is configured to execute instructions to perform any of the method embodiments described above.
The electronic device 600 may also include a power component 603 configured to perform power management of the electronic device 600, a wired or wireless network interface 604 configured to connect the electronic device 600 to a network, and an input/output (I/O) interface 605. The electronic device 900 may operate based on an operating system stored in the memory 602, such as Windows Server, mac OS XTM, unixTM, linuxTM, freeBSDTM, or the like.
The present application further provides a computer-readable storage medium, in which computer-executable instructions are stored, and when the processor executes the computer-executable instructions, the scheme of the above core module activation method is implemented.
The present application also provides a computer program product comprising a computer program which, when executed by a processor, implements the aspects of the core module activation method as described above.
The computer-readable storage medium may be any type or combination of volatile or non-volatile memory devices, such as Static Random Access Memory (SRAM), electrically erasable programmable read-only memory (EEPROM), erasable programmable read-only memory (EPROM), programmable read-only memory (PROM), read-only memory (ROM), magnetic memory, flash memory, magnetic or optical disk. Readable storage media can be any available media that can be accessed by a general purpose or special purpose computer.
An exemplary readable storage medium is coupled to the processor such the processor can read information from, and write information to, the readable storage medium. Of course, the readable storage medium may also be an integral part of the processor. The processor and the readable storage medium may reside in an Application Specific Integrated Circuits (ASIC). Of course, the processor and the readable storage medium may also reside as discrete components in the core module activation device.
Those of ordinary skill in the art will understand that: all or a portion of the steps of implementing the above-described method embodiments may be performed by hardware associated with program instructions. The program may be stored in a computer-readable storage medium. When executed, the program performs steps comprising the method embodiments described above; and the aforementioned storage medium includes: various media that can store program codes, such as ROM, RAM, magnetic or optical disks.
Finally, it should be noted that: the above embodiments are only used for illustrating the technical solutions of the present application, and not for limiting the same; although the present application has been described in detail with reference to the foregoing embodiments,
those of ordinary skill in the art will understand that: the technical solutions described in the foregoing embodiments may still be modified, or some or all of the technical features may be equivalently replaced; and the modifications or the substitutions do not make the essence of the corresponding technical solutions depart from the scope of the technical solutions of the embodiments of the present application.

Claims (10)

1. A core module activation method is applied to terminal equipment, and the core module activation method comprises the following steps:
acquiring identification information of a core module to be activated through a core module activation service;
uploading the identification information to a cloud server; the cloud server compares the identification information sent by the core module activation service with the identification information stored by the cloud server to determine whether to activate the core module to be activated;
receiving a first activation result returned by a cloud server and used for determining whether to activate the core module to be activated based on the identification information, wherein the first activation result is used for indicating whether the core module to be activated is successfully activated;
if the first activation result indicates that the core module to be activated is successfully activated, determining whether software activation service is integrated;
if the software activation service is integrated, activating a software system matched with the core module to be activated through the software activation service, and obtaining a second activation result, wherein the second activation result is used for indicating whether the software system is successfully activated;
displaying, by the software activation service, the second activation result;
the method further comprises the following steps:
storing the first activation result or the second activation result in a non-data partition;
the identification information comprises a core module identification, an international mobile equipment identification code, a core module serial number and a chip identification;
the obtaining of the identification information of the core module to be activated through the core module activation service includes:
reading the international mobile equipment identification code, the core module serial number and the core module identification from the core module to be activated;
and reading the chip identification from the chip in the core module to be activated.
2. The method for activating a core module according to claim 1, wherein the determining whether the software activation service is integrated includes:
traversing the package names of the installed applications, and determining whether the package names of the installed applications have the same name as that of the software activation service;
if the package name of the installed application has the same name as the package name of the software activation service, determining that the software activation service is integrated;
or if the same name as the package name of the software activation service does not exist in the package name of the installed application, determining that the software activation service is not integrated.
3. The method for activating a core module according to claim 1 or 2, further comprising:
if the first activation result indicates that the activation of the core module to be activated fails, displaying the first activation result through the terminal equipment;
and/or if the terminal equipment is not integrated with the software activation service, displaying the first activation result through the terminal equipment.
4. The method for activating a core module according to claim 1, wherein storing the first activation result or the second activation result in a non-data partition comprises:
and adopting the chip identifier in the core module to be activated as a key, and encrypting and storing the first activation result or the second activation result in the non-data partition.
5. The method according to claim 1, wherein the terminal device includes a core module activation monitoring service, and the storing the first activation result or the second activation result in the non-data partition includes:
and encrypting and storing the first activation result or the second activation result in the non-data partition through a preset encryption algorithm, wherein the preset encryption algorithm is an encryption algorithm negotiated in advance by the core module activation service and the core module activation monitoring service, and the core module activation monitoring service is used for monitoring whether the stored activation data are abnormal or not.
6. The method of activating a core module as recited in claim 5, further comprising:
and if the core module activates the monitoring service to monitor that the stored activation data is abnormal, displaying abnormal prompt information in a full screen mode at set intervals.
7. The utility model provides a core module activation device which characterized in that is applied to terminal equipment, core module activation device includes:
the acquisition module acquires the identification information of the core module to be activated through the core module activation service;
the uploading module uploads the identification information to a cloud server; the cloud server compares the identification information sent by the core module activation service with the identification information stored by the cloud server to determine whether to activate the core module to be activated;
the receiving module is used for receiving a first activation result which is returned by the cloud server and is used for determining whether to activate the core module to be activated or not based on the identification information, and the first activation result is used for indicating whether the core module to be activated is successfully activated or not;
the determining module is used for determining whether software activation service is integrated or not if the first activation result indicates that the core module to be activated is successfully activated;
the activation module activates a software system matched with the core module to be activated through the software activation service if the software activation service is integrated, and obtains a second activation result, wherein the second activation result is used for indicating whether the software system is successfully activated;
the display module displays the second activation result through the software activation service;
the core module activation device further comprises a storage module, wherein the storage module is used for storing a first activation result or a second activation result in a non-data partition;
the identification information comprises a core module identification, an international mobile equipment identification code, a core module serial number and a chip identification;
the acquisition module is specifically configured to: reading the international mobile equipment identification code, the core module serial number and the core module identification from the core module to be activated;
and reading the chip identification from the chip inside the core module to be activated.
8. An electronic device, comprising: a memory and a processor;
the memory is to store program instructions;
the processor is configured to call program instructions in the memory to perform the core module activation method of any of claims 1 to 6.
9. A computer-readable storage medium having computer program instructions stored therein which, when executed, implement the core module activation method of any one of claims 1 to 6.
10. A computer program product comprising a computer program, wherein the computer program when executed by a processor implements the core module activation method of any one of claims 1 to 6.
CN202110827142.5A 2021-07-21 2021-07-21 Core module activation method and device and storage medium Active CN113449269B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110827142.5A CN113449269B (en) 2021-07-21 2021-07-21 Core module activation method and device and storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110827142.5A CN113449269B (en) 2021-07-21 2021-07-21 Core module activation method and device and storage medium

Publications (2)

Publication Number Publication Date
CN113449269A CN113449269A (en) 2021-09-28
CN113449269B true CN113449269B (en) 2023-03-28

Family

ID=77816986

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110827142.5A Active CN113449269B (en) 2021-07-21 2021-07-21 Core module activation method and device and storage medium

Country Status (1)

Country Link
CN (1) CN113449269B (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115174576A (en) * 2022-07-04 2022-10-11 重庆长安汽车股份有限公司 Service activation management method, device, system, equipment and storage medium

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019214614A1 (en) * 2018-05-10 2019-11-14 鸿合科技股份有限公司 Automatic software activation verification method, apparatus and system, and computer readable storage medium
WO2021134711A1 (en) * 2019-12-31 2021-07-08 深圳市大疆创新科技有限公司 Activation method, activation device, server, user terminal and activation system

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150188765A1 (en) * 2013-12-31 2015-07-02 Microsoft Corporation Multimode gaming server
US10359833B2 (en) * 2016-06-20 2019-07-23 Qualcomm Incorporated Active-core-based performance boost
CN109726528B (en) * 2019-03-18 2021-05-04 百度在线网络技术(北京)有限公司 Method, device, equipment and medium for activating and requesting vehicle-machine service
CN112632474B (en) * 2020-12-28 2022-06-14 亿咖通(湖北)技术有限公司 Vehicle-mounted machine software and hardware activation method

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019214614A1 (en) * 2018-05-10 2019-11-14 鸿合科技股份有限公司 Automatic software activation verification method, apparatus and system, and computer readable storage medium
WO2021134711A1 (en) * 2019-12-31 2021-07-08 深圳市大疆创新科技有限公司 Activation method, activation device, server, user terminal and activation system

Also Published As

Publication number Publication date
CN113449269A (en) 2021-09-28

Similar Documents

Publication Publication Date Title
CN110113167B (en) Information protection method and system of intelligent terminal and readable storage medium
CN110826111B (en) Test supervision method, device, equipment and storage medium
CN111723383B (en) Data storage and verification method and device
US10147096B2 (en) Device diagnostic and data retrieval
US8555060B2 (en) Managing method, device and terminal for application program
US20160285854A1 (en) Android-based mobile equipment security protection method, and device
CN105975867B (en) A kind of data processing method
US20100223668A1 (en) Apparatus and method for managing terminal users
WO2017071579A1 (en) Method and device for mining android system vulnerabilities
CN109977039A (en) HD encryption method for storing cipher key, device, equipment and readable storage medium storing program for executing
CN113449269B (en) Core module activation method and device and storage medium
US20040111618A1 (en) Software integrity test
US20240163264A1 (en) Real-time data encryption/decryption security system and method for network-based storage
CN109117625B (en) Method and device for determining safety state of AI software system
CN115567218A (en) Data processing method and device of security certificate based on block chain and server
CN115794683A (en) Method, device and equipment for protecting upper electric writing and storage medium
CN115081017A (en) Large-field data calling method and system
CN111291366B (en) Secure middleware system
EP3926992A1 (en) Electronic device, and authentication method in electronic device
CN110851881B (en) Security detection method and device for terminal equipment, electronic equipment and storage medium
CN108449753B (en) Method for reading data in trusted computing environment by mobile phone device
CN112532790B (en) Short message processing method, system, terminal device and storage medium
CN114756827A (en) License file management method, device and equipment
CN114584287A (en) Method and device for key management
CN111258598A (en) Measurement updating method, device, system, storage medium and computer equipment

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
TA01 Transfer of patent application right
TA01 Transfer of patent application right

Effective date of registration: 20220328

Address after: 430051 No. b1336, chuanggu startup area, taizihu cultural Digital Creative Industry Park, No. 18, Shenlong Avenue, Wuhan Economic and Technological Development Zone, Wuhan, Hubei Province

Applicant after: Yikatong (Hubei) Technology Co.,Ltd.

Address before: 430056 building B, No.7 building, kaidixiexin kechuangyuan, South taizihu innovation Valley, Wuhan Economic and Technological Development Zone, Wuhan City, Hubei Province

Applicant before: HUBEI ECARX TECHNOLOGY Co.,Ltd.

GR01 Patent grant
GR01 Patent grant