Linux operating system-based license authorization management method and system
By detecting and verifying the activation license when the Linux operating system is started, and establishing a secure connection with the server to execute the activation process, the problem of only controlling the unstarted functional characteristics in the existing technology is solved, and faster system startup and more convenient user experience is achieved.
Patent Information
- Application Number
- CN202411826387.6
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-12-11
- Publication Date
- 2025-04-04
- Estimated Expiration
- 2044-12-11
AI Technical Summary
The existing Linux operating system can only control functional features that have not been started yet and cannot effectively control the startup and basic operation of the operating system.
Provide a license authorization management method based on Linux operating system, including detecting and verifying the activation license when the operating system is first installed, performing signature verification through preset first process, and establishing a secure connection with the server using user ID/user key, and performing the first activation or update activation process to ensure that the operating system performs license verification at startup.
It enables functional features faster after system startup, reduces system startup and preparation time, provides a smoother and more convenient user experience, and reduces system maintenance costs and management workload.
Smart Images

Figure CN119760670A_ABST
Abstract
Description
Technical Field
[0001] The embodiments of the present invention relate to the technical field of operating systems, and in particular to a license authorization management method and system based on a Linux operating system. Background Art
[0002] A license is a legal agreement for software usage rights that defines how users can use the software. This includes the scope of use (such as personal use, corporate use), the method of use (single user or multiple users), and the region of use (such as limited to a specific country or global use). The license also stipulates how many devices a user can install and activate the software on, which helps software developers control the distribution and use of the software.
[0003] Software often offers different levels of functionality based on different license tiers. For example, a free version may only offer basic functionality, while a paid professional or enterprise version offers advanced functionality. This tiered system allows software developers to offer different versions of their products based on user needs and willingness to pay.
[0004] The license may specify the period of use of the software. Some licenses are perpetual, while others are subscription-based and require users to renew their subscriptions regularly to continue using the software. This model is a revenue stream for the software developer, and for users, it allows them to flexibly choose the length of use according to their needs. The license reaffirms the ownership of the intellectual property rights of the software and clarifies that users are not allowed to make unauthorized copies, distribution, decompilation, tampering or reverse engineering. This is an important means of protecting the rights and interests of software developers and ensuring that their R&D investment is reasonably returned.
[0005] Linux operating systems often use a subscription model. After the system is started, users communicate with the verification server through the subscription management service to complete the verification of the license. After the verification is passed, users can use specific functions or services. This model is suitable for enterprise-level software that requires regular updates and maintenance. However, after the operating system is started, the verification method through the subscription management service can only control the functions and features that have not yet been started, and there is no special restriction on the startup and basic operation of the operating system itself.
[0006] When installing the Windows operating system, you need to enter the activation serial number, which will be sent to Microsoft's service platform for verification. After the verification is passed, the user can unlock all the functions of Windows. However, the verification method of activation by serial number is inconvenient and not conducive to batch processing. Summary of the invention
[0007] To this end, an embodiment of the present invention provides a license authorization management method and system based on a Linux operating system to solve the technical problem that the existing Linux operating system can only control functional features that have not yet been started by verifying through a subscription management service.
[0008] In order to achieve the above purpose, the embodiment of the present invention provides the following technical solutions:
[0009] According to a first aspect of an embodiment of the present invention, a method for managing license authorization based on a Linux operating system is provided, the method comprising:
[0010] When the operating system is installed and started for the first time, detect whether the activation license exists and verify the legitimacy of the activation license;
[0011] If the activation license does not exist or is illegal, the activation process is executed;
[0012] Perform signature verification on the preset first process, and activate it using the preset first process after the verification passes;
[0013] Obtain a user ID / user key, use the user ID / user key to establish a secure connection with a server and send an activation request to the server;
[0014] The server receives the activation request from the user and executes the corresponding activation process according to the request type, wherein the activation process includes the first activation process and the update activation process;
[0015] After the initial activation process is started, the license verification is performed in the first process when the operating system is started again.
[0016] Further, the signature verification is performed on the preset first process, including:
[0017] Verify the kernel level by level through efuse / bootrom as the trusted root;
[0018] After the kernel verification is passed, the kernel is used to perform signature verification on the preset first process.
[0019] Further, obtaining a user ID / user key, using the user ID / user key to establish a secure connection with a server and sending an activation request to the server, includes:
[0020] The activation request includes: hardware information, OS version number information, and current processor architecture information;
[0021] The hardware information includes: cpu, emmc, and mac address information.
[0022] Furthermore, the server receives an activation request from the user and executes a corresponding activation process according to the request type, wherein the activation process includes an initial activation process and an update activation process, including:
[0023] Obtain the number of licenses, OS type and architecture under the user ID, and use the number of licenses, OS type and architecture to determine whether the activation can be supported;
[0024] If the activation can be supported and the hardware information corresponding to the current device is not recorded in the database, it is considered as the first activation;
[0025] The first activation process includes:
[0026] Record user device information and generate activation codes and authorization licenses based on hardware information;
[0027] Generate an RSA key pair dedicated to the authorization process and generate a public key certificate for the public key through the internal CA process;
[0028] Sign the license using the generated private key;
[0029] Sending the authorization license, license signature and public key certificate to the user device;
[0030] Among them, the user device information includes hardware information, version number and architecture; the authorization license information includes activation code, authorization architecture, authorization characteristics and expiration time; and the license signature is a hash signature.
[0031] Further, sending the authorization license, the license signature and the public key certificate to the user device also includes:
[0032] After receiving the authorization license, the license signature and the public key certificate, the user equipment verifies the public key certificate and verifies the license signature using the verified public key certificate;
[0033] Use the license information after the signature verification to extract the license activation code, authorized OS version, architecture and time information;
[0034] The user device generates a user activation code and verifies it with the license activation code. If the verification is successful, the license and signature information are written to the specified location on the disk and the software features authorized by the license are configured into the kernel through a specific driver for maintenance.
[0035] Furthermore, after the first activation process is started, the license verification is performed in the first process when the operating system is started again, including:
[0036] Read the license information and signature information from the specified location on the disk and verify the public key certificate;
[0037] Use the verified public key certificate to verify the license signature and extract the activation code, authorized OS version, architecture and practice information from the license information after the signature verification is passed;
[0038] Generate an activation code and verify it with the activation code extracted from the license to verify the OS version, architecture and authorization period;
[0039] After verification, the software features authorized by the license are configured into the kernel through the preset driver for maintenance and the OS is started, completing the first installation and startup of the operating system.
[0040] Furthermore, the method further comprises:
[0041] When encountering a scenario where an authorization update is required, the user re-purchases the corresponding authorization, and the management platform configures the user's device in advance to indicate that an authorization update is required;
[0042] Start the user device and determine whether it can enter the OS. If it can enter the OS, clear the local license information through the tools under the OS, and restart the activation process;
[0043] If you cannot enter the OS, reinstall the OS and clear the local license information through the tools under the OS, and then restart the activation process;
[0044] When the hardware information changes, the activation process is directly entered after starting the user device;
[0045] Among them, the scenarios that require authorization updates are: user equipment is returned to the factory for repair resulting in hardware information changes, license authorization renewal, license feature additions, and certificate updates.
[0046] Furthermore, the method further comprises:
[0047] License authorization supports individual control of features, and the feature list is loaded into the kernel during the boot phase;
[0048] When a feature is enabled, a separate device driver is used to enter the kernel to query whether the feature is supported. If not, the feature cannot be enabled.
[0049] Furthermore, the method further comprises:
[0050] Detecting abnormal situations:
[0051] The user device encrypts the local hardware information with the device authorization public key and sends it to the server;
[0052] The abnormal situations include: certificate revocation and discovery of unauthorized illegal licenses;
[0053] When the CA private key / device-specific authorization private key is leaked, the private key is changed and the public key certificate is revoked, and a new public key certificate is generated;
[0054] After decryption, the server compares the information with the hardware information recorded in the database. If they are consistent, the certificate is normal. If they are inconsistent, the certificate is abnormal. The server returns the abnormal result and updates the certificate.
[0055] The client uses the updated certificate to verify the license. If the verification fails, it re-enters the activation process.
[0056] According to a second aspect of an embodiment of the present invention, a license authorization management system based on a Linux operating system is provided, the system comprising:
[0057] A legality detection module is used to detect whether an activation license exists and verify the legality of the activation license when the operating system is installed and started for the first time;
[0058] An activation process execution module, used to execute the activation process if the activation license does not exist or the activation license is illegal;
[0059] A signature verification module, used to perform signature verification on the preset first process, and activate the preset first process after the verification passes;
[0060] An activation request sending module, used to obtain a user ID / user key, establish a secure connection with a server using the user ID / user key, and send an activation request to the server;
[0061] An activation process execution module, used for the server to receive an activation request from the user and execute a corresponding activation process according to the request type, wherein the activation process includes an initial activation process and an update activation process;
[0062] The license verification module is used to perform license verification in the first process when the operating system is started again after the first activation process is started.
[0063] The embodiments of the present invention have the following advantages:
[0064] The embodiments of the present invention can enable functional features more quickly by performing verification after the system is started, thereby reducing system startup and preparation time; users do not need to interrupt the installation process to enter serial numbers, providing a smoother and more convenient user experience; since the need to manually enter serial numbers is reduced, the maintenance cost and management workload of the system are reduced; the risk of unauthorized use is reduced, and flexible license management: the present invention may provide more flexible license management options, such as a usage-based subscription model to meet the needs of different users, and reduce software piracy: through an improved verification mechanism, the present invention helps to reduce software piracy and protect intellectual property rights. BRIEF DESCRIPTION OF THE DRAWINGS
[0065] In order to more clearly illustrate the implementation methods of the present invention or the technical solutions in the prior art, the following briefly introduces the drawings required for the implementation methods or the description of the prior art. Obviously, the drawings in the following description are only exemplary, and for ordinary technicians in this field, other implementation drawings can be derived from the provided drawings without creative work.
[0066] The structures, proportions, sizes, etc. illustrated in this specification are only used to match the contents disclosed in the specification so as to facilitate understanding and reading by persons familiar with the technology. They are not used to limit the conditions under which the present invention can be implemented, and therefore have no substantial technical significance. Any structural modification, change in proportion or adjustment of size shall still fall within the scope of the technical contents disclosed in the present invention without affecting the effects and purposes that can be achieved by the present invention.
[0067] Figure 1 A schematic diagram of the logical structure of a license authorization management system based on the Linux operating system provided by an embodiment of the present invention;
[0068] Figure 2 A flowchart of a license authorization management method based on a Linux operating system is provided in an embodiment of the present invention. DETAILED DESCRIPTION
[0069] The following is a description of the implementation of the present invention by specific embodiments. People familiar with the art can easily understand other advantages and effects of the present invention from the contents disclosed in this specification. Obviously, the described embodiments are part of the embodiments of the present invention, not all of the embodiments. Based on the embodiments of the present invention, all other embodiments obtained by ordinary technicians in this field without creative work are within the scope of protection of the present invention.
[0070] Linux operating systems often use a subscription model. After the system is started, users communicate with the verification server through the subscription management service to complete the verification of the license. After the verification is passed, users can use specific functions or services. This model is suitable for enterprise-level software that requires regular updates and maintenance. However, after the operating system is started, the verification method through the subscription management service can only control the functions and features that have not yet been started, and there is no special restriction on the startup and basic operation of the operating system itself.
[0071] When installing the Windows operating system, you need to enter the activation serial number, which will be sent to Microsoft's service platform for verification. After the verification is passed, the user can unlock all the functions of Windows. However, the verification method of activation by serial number is inconvenient and not conducive to batch processing.
[0072] In order to solve the technical problem that the existing Linux operating system can only control the functional characteristics that have not been started by verifying through the subscription management service.
[0073] refer to Figure 1 The embodiment of the present invention discloses a license authorization management system based on the Linux operating system, which includes: a legality detection module 1; an activation process execution module 2; a signature verification module 3; an activation request sending module 4; an activation process execution module 5; and a license verification module 6.
[0074] Corresponding to the above-disclosed license authorization management system based on Linux operating system, the embodiment of the present invention further discloses a license authorization management method based on Linux operating system. The following describes in detail a license authorization management method based on Linux operating system disclosed in the embodiment of the present invention in combination with the above-described license authorization management system based on Linux operating system.
[0075] refer to Figure 2 The present invention discloses a license authorization management method based on a Linux operating system, the method comprising: when the operating system is installed and started for the first time, detecting whether an activation license exists and verifying the legality of the activation license; executing an activation process if the activation license does not exist or the activation license is illegal; performing signature verification on a preset first process, and activating the preset first process after the verification is passed; obtaining a user ID / user key, establishing a secure connection with a server using the user ID / user key and sending an activation request to the server; the server receives the activation request from the user and executes a corresponding activation process according to the request type, the activation process including a first activation process and an update activation process; after the first activation process is started, performing license verification in the first process when the operating system is started again.
[0076] Furthermore, the signature verification is performed on the preset first process, including: verifying the kernel step by step through efuse / bootrom as a trusted root; and using the kernel to perform signature verification on the preset first process after the kernel verification passes.
[0077] Furthermore, a user ID / user key is obtained, a secure connection is established with a server using the user ID / user key, and an activation request is sent to the server, including: the activation request includes: hardware information, OS version number information, and current processor architecture information.
[0078] The hardware information includes: cpu, emmc, and mac address information.
[0079] Furthermore, the server receives an activation request from the user and executes a corresponding activation process according to the request type, wherein the activation process includes an initial activation process and an update activation process, including: obtaining the number of licenses, OS type and architecture under the user ID, and using the number of licenses, OS type and architecture to determine whether this activation can be supported; if this activation can be supported and the hardware information corresponding to the current device is not recorded in the database, it is a first activation.
[0080] When the operating system is installed and started for the first time, the system checks whether the activation license exists and verifies the legitimacy of the activation license. If the activation license does not exist or is illegal, the system starts the activation process.
[0081] Use custom process No. 1 or customize systemd to implement the activation verification function.
[0082] In order to prevent process 1 from being bypassed, it is necessary to implement kernel signature verification on process 1, and the kernel module signature verification mechanism can be reused. It is recommended that the released system version needs to enable the security verification function, and use efuse / bootrom as the trusted root for step-by-step verification to ensure that the kernel is trustworthy, thereby ensuring that process 1 is trustworthy.
[0083] The first activation process includes: recording the user's device information and generating an activation code and authorization license based on the hardware information; generating an RSA key pair dedicated to the authorization process and generating a public key certificate for the public key through an internal CA process; signing the license with the generated private key; and sending the authorization license, license signature, and public key certificate to the user's device.
[0084] Among them, the user device information includes hardware information, version number and architecture; the authorization license information includes activation code, authorization architecture, authorization characteristics and expiration time; and the license signature is a hash signature.
[0085] Activation uses the customer name (ID) / customer key method to establish a secure connection with the management backend. The activation request sent needs to carry the following information: hardware information (CPU, eMMC, MAC address and other hardware information), OS version number, current processor architecture (aarch64, etc.).
[0086] The server needs to check whether the number of licenses, OS type, architecture, etc. under the customer ID can support this activation, and the hardware information corresponding to the current device is not recorded in the database, which is the first activation. If it is the first activation, the process needs to be completed: a) Record the device information, including hardware information, version number, architecture, etc.; b) Generate an activation code: Run a specific algorithm based on the hardware information to generate an activation code; c) Generate an authorization license, and the license information includes: activation code + authorization architecture + authorization features + expiration time; d) Generate an RSA key pair dedicated to the authorization process, which is unique for each device; and generate a certificate for the public key through the internal CA process; e) Use the generated private key to hash the license; send the license, license signature, and public key certificate to the device.
[0087] Furthermore, sending the authorization license, license signature and public key certificate to the user device also includes: after the user device receives the authorization license, license signature and public key certificate, verifying the public key certificate and using the verified public key certificate to verify the license signature; using the verified license information to extract the license activation code, authorized OS version, architecture and time information; the user device generates a user activation code and verifies it with the license activation code. If the verification passes, the license and signature information are written to a specified location on the disk and the software features authorized by the license are configured into the kernel through a specific driver for maintenance.
[0088] The device verifies the received information through the following process: a) verifying the public key certificate; b) using the verified public key to verify the license signature; c) extracting the activation code, authorized OS version, architecture, and time information from the verified license information; d) using the same method to generate an activation code and verifying it with the activation code extracted from the license; e) if the verification passes, writing the license and signature information to a specific location on the disk; f) configuring the software features authorized by the license to the kernel through a specific driver for maintenance; g) continuing to boot the OS.
[0089] Furthermore, after the first activation process is started, the license verification is performed in the first process when the operating system is started again, including: reading the license information and signature information from the specified location on the disk and verifying the public key certificate; verifying the license signature using the verified public key certificate and extracting the activation code, authorized OS version, architecture and practice information from the license information after the signature verification is passed; generating an activation code and verifying it with the activation code extracted from the license, verifying the OS version, architecture and authorization period; after the verification is passed, the software features authorized by the license are configured into the kernel through a preset driver for maintenance and the OS is started, completing the first installation and startup of the operating system.
[0090] After the first activation, the system will perform license verification in process 1 when it is started again: a) Read the license information and signature from a specific location on the disk; b) Verify the public key certificate; c) Use the verified public key to verify the license signature; d) After the signature verification, extract the activation code, authorized OS version, architecture, and time information from the license information; e) Generate an activation code using the same method and verify it with the activation code extracted from the license; f) Verify the OS version and architecture; g) Verify the authorization period; h) If the verification passes, configure the software features authorized by the license into the kernel through a specific driver for maintenance; i) Start the OS.
[0091] Furthermore, the method also includes: when encountering a scenario where an authorization update is required, after the user re-purchases the corresponding authorization, the management platform configures the user device in advance to indicate that an authorization update is required; the user device is started and it is determined whether the OS can be entered. If the OS can be entered, the local license information is cleared through the tools under the OS, and the activation process is re-performed after restart; if the OS cannot be entered, the OS is reinstalled and the local license information is cleared through the tools under the OS, and the activation process is re-performed after restart; when the hardware information changes, the activation process is directly entered after the user device is started.
[0092] Among them, the scenarios that require authorization updates are: user equipment is returned to the factory for repair resulting in hardware information changes, license authorization renewal, license feature additions, and certificate updates.
[0093] The following scenarios require authorization updates: 1) The device is returned to the factory for repair, resulting in changes in hardware information; 2) License renewal; 3) License feature additions; 4) Certificate updates.
[0094] After the customer repurchases the corresponding authorization, the device is configured in advance on the management platform to indicate that the authorization needs to be updated. If the system can enter the OS after startup, the local license information is cleared through the tools under the OS, and the activation process is repeated after restart. If the hardware information changes, the activation process will be directly entered at startup. The re-activation process is the same as the first activation process.
[0095] Furthermore, the method also includes: the license authorization supports the individual control of the feature, and the feature list is loaded into the kernel during the startup phase; when the feature is started, a separate device driver is used to enter the kernel to query whether the feature is supported, and if not, the feature cannot be started.
[0096] License authorization supports individual control of features. During the startup phase, the feature list is loaded into the kernel. When a feature is started, a separate device driver is used to enter the kernel to query feature support. If it is not supported, the feature cannot be started.
[0097] Furthermore, the method also includes: detecting abnormal situations: the user device encrypts the local hardware information through the device authorization public key and sends it to the server; the abnormal situations include: certificate revocation and discovery of unauthorized illegal licenses.
[0098] When the CA private key / device-specific authorization private key is leaked, the private key is changed and the public key certificate is revoked, and a new public key certificate is updated and generated; the server decrypts and compares it with the hardware information recorded in the database. If they are consistent, the certificate is normal. If they are inconsistent, the certificate is abnormal. The server returns the abnormal result and updates the certificate; the client uses the updated certificate to verify the license. If the verification fails, it re-enters the activation process.
[0099] Exceptions to consider include:
[0100] 1) Certificate revocation:
[0101] If the CA private key / device-specific authorization private key is leaked, the previous public key certificate needs to be revoked and updated after the private key is changed.
[0102] 2) Unauthorized and illegal licenses are discovered.
[0103] For abnormal situations, you only need to check the certificate when the system starts: the client encrypts the local hardware information with the device authorization public key and sends it to the server; the server decrypts and compares it with the hardware information recorded in the database. If they are inconsistent, it means that the certificate is abnormal. The server returns the abnormal result and the updated certificate; the client uses the updated certificate to verify the license. If the verification fails, it enters the reactivation process.
[0104] The embodiment of the present invention includes the following key functions: activating the OS product when the machine is installed and started for the first time to obtain the authorized license; binding the activation license information with the hardware information and user information and managing and maintaining it; the license authorization includes the OS version, architecture support and validity period; a list of features authorized by the license; saving the activation license locally and quickly verifying the activation status at subsequent startups; and detecting and disabling illegal licenses.
[0105] In addition, an embodiment of the present invention also provides a license authorization management device based on the Linux operating system, the device comprising: a processor and a memory; the memory is used to store one or more program instructions; the processor is used to run one or more program instructions to execute the steps of a license authorization management method based on the Linux operating system as described in any of the above items.
[0106] In addition, an embodiment of the present invention further provides a computer-readable storage medium, on which a computer program is stored. When the computer program is executed by a processor, the steps of a license authorization management method based on a Linux operating system as described in any of the above items are implemented.
[0107] In the embodiment of the present invention, the processor may be an integrated circuit chip having the signal processing capability. The processor may be a general-purpose processor, a digital signal processor (DSP), an application-specific integrated circuit (ASIC), a field programmable gate array (FPGA), or other programmable logic devices, discrete gate or transistor logic devices, or discrete hardware components.
[0108] The methods, steps and logic block diagrams disclosed in the embodiments of the present invention can be implemented or executed. The general processor can be a microprocessor or the processor can also be any conventional processor, etc. The steps of the method disclosed in the embodiments of the present invention can be directly embodied as a hardware decoding processor for execution, or can be executed by a combination of hardware and software modules in the decoding processor. The software module can be located in a mature storage medium in the field such as a random access memory, a flash memory, a read-only memory, a programmable read-only memory or an electrically erasable programmable memory, a register, etc. The processor reads the information in the storage medium and completes the steps of the above method in combination with its hardware.
[0109] The storage medium may be a memory, which may be, for example, a volatile memory or a nonvolatile memory, or may include both volatile and nonvolatile memory.
[0110] Among them, the non-volatile memory can be a read-only memory (ROM), a programmable ROM (PROM), an erasable programmable read-only memory (EPROM), an electrically erasable programmable read-only memory (EEPROM), or a flash memory.
[0111] The volatile memory may be a random access memory (RAM) which is used as an external cache. By way of example and not limitation, many forms of RAM are available, such as static RAM (SRAM), dynamic RAM (DRAM), synchronous DRAM (SDRAM), double data rate synchronous DRAM (DDRSDRAM), enhanced synchronous DRAM (ESDRAM), synchronous link DRAM (SLDRAM), and direct RAM bus DRAM (DRRAM).
[0112] The storage media described in the embodiments of the present invention are intended to include, but are not limited to, these and any other suitable types of memory.
[0113] Those skilled in the art will appreciate that in one or more of the above examples, the functions described in the present invention can be implemented using a combination of hardware and software. When software is used, the corresponding functions can be stored in a computer-readable medium or transmitted as one or more instructions or codes on a computer-readable medium. Computer-readable media include computer storage media and communication media, wherein communication media include any media that facilitates the transmission of computer programs from one place to another. Storage media can be any available media that can be accessed by general or special-purpose computers.
[0114] Although the present invention has been described in detail above by general description and specific embodiments, it is obvious to those skilled in the art that some modifications or improvements can be made to the present invention. Therefore, these modifications or improvements made without departing from the spirit of the present invention all belong to the scope of protection claimed by the present invention.
Claims
1. A license authorization management method based on Linux operating system, characterized in that: The method comprises: When the operating system is installed and started for the first time, detect whether the activation license exists and verify the legitimacy of the activation license; If the activation license does not exist or is illegal, the activation process is executed; Perform signature verification on the preset first process, and activate it using the preset first process after the verification passes; Obtain a user ID / user key, use the user ID / user key to establish a secure connection with a server and send an activation request to the server; The server receives the activation request from the user and executes the corresponding activation process according to the request type, wherein the activation process includes the first activation process and the update activation process; After the initial activation process is started, the license verification is performed in the first process when the operating system is started again.
2. A method for managing license authorization based on a Linux operating system as claimed in claim 1, characterized in that: Perform signature verification on the preset first process, including: Verify the kernel level by level through efuse / bootrom as the trusted root; After the kernel verification is passed, the kernel is used to perform signature verification on the preset first process.
3. A method for managing license authorization based on a Linux operating system as claimed in claim 2, characterized in that: Obtaining a user ID / user key, using the user ID / user key to establish a secure connection with a server and sending an activation request to the server, including: The activation request includes: hardware information, OS version number information, and current processor architecture information; The hardware information includes but is not limited to CPU, eMMC and MAC address information.
4. A method for managing license authorization based on a Linux operating system as claimed in claim 3, characterized in that: The server receives the activation request from the user and executes the corresponding activation process according to the request type. The activation process includes the first activation process and the update activation process, including: Obtain the number of licenses, OS type and architecture under the user ID, and use the number of licenses, OS type and architecture to determine whether the activation can be supported; If the activation can be supported and the hardware information corresponding to the current device is not recorded in the database, it is considered as the first activation; The first activation process includes: Record user device information and generate activation codes and authorization licenses based on hardware information; Generate an RSA key pair dedicated to the authorization process and generate a public key certificate for the public key through the internal CA process; Sign the license using the generated private key; Sending the authorization license, license signature and public key certificate to the user device; Among them, the user device information includes hardware information, version number and architecture; the authorization license information includes activation code, authorization architecture, authorization characteristics and expiration time; and the license signature is a hash signature.
5. A method for managing license authorization based on a Linux operating system as claimed in claim 4, characterized in that: Send the authorization certificate, license signature and public key certificate to the user's device, including: After receiving the authorization license, the license signature and the public key certificate, the user equipment verifies the public key certificate and verifies the license signature using the verified public key certificate; Use the license information after the signature verification to extract the license activation code, authorized OS version, architecture and time information; The user device generates a user activation code and verifies it with the license activation code. If the verification is successful, the license and signature information are written to the specified location on the disk and the software features authorized by the license are configured into the kernel through a specific driver for maintenance.
6. A method for managing license authorization based on a Linux operating system as claimed in claim 5, characterized in that: After the first activation process is started, the license verification is performed in the first process when the operating system is started again, including: Read the license information and signature information from the specified location on the disk and verify the public key certificate; Use the verified public key certificate to verify the license signature and extract the activation code, authorized OS version, architecture and practice information from the license information after the signature verification is passed; Generate an activation code and verify it with the activation code extracted from the license to verify the OS version, architecture and authorization period; After verification, the software features authorized by the license are configured into the kernel through the preset driver for maintenance and the OS is started, completing the first installation and startup of the operating system.
7. A method for managing license authorization based on a Linux operating system as claimed in claim 6, characterized in that: The method further comprises: When encountering a scenario where an authorization update is required, the user re-purchases the corresponding authorization, and the management platform configures the user's device in advance to indicate that an authorization update is required; Start the user device and determine whether it can enter the OS. If it can enter the OS, clear the local license information through the tools under the OS, and restart the activation process; If you cannot enter the OS, reinstall the OS and clear the local license information through the tools under the OS, and then restart the activation process; When the hardware information changes, the activation process is directly entered after starting the user device; Among them, the scenarios that require authorization updates are: user equipment is returned to the factory for repair resulting in hardware information changes, license authorization renewal, license feature additions, and certificate updates.
8. A method for managing license authorization based on a Linux operating system as claimed in claim 7, characterized in that: The method further comprises: License authorization supports individual control of features, and the feature list is loaded into the kernel during the boot phase; When a feature is enabled, a separate device driver is used to enter the kernel to query whether the feature is supported. If not, the feature cannot be enabled.
9. A method for managing license authorization based on a Linux operating system as claimed in claim 8, characterized in that: The method further comprises: Detecting abnormal situations: The user device encrypts the local hardware information with the device authorization public key and sends it to the server; The abnormal situations include: certificate revocation and discovery of unauthorized illegal licenses; When the CA private key / device-specific authorization private key is leaked, the private key is changed and the public key certificate is revoked, and a new public key certificate is generated; After decryption, the server compares the information with the hardware information recorded in the database. If they are consistent, the certificate is normal. If they are inconsistent, the certificate is abnormal. The server returns the abnormal result and updates the certificate. The client uses the updated certificate to verify the license. If the verification fails, it re-enters the activation process.
10. A license authorization management system based on Linux operating system, characterized in that: The system comprises: A legality detection module is used to detect whether an activation license exists and verify the legality of the activation license when the operating system is installed and started for the first time; An activation process execution module, used to execute the activation process if the activation license does not exist or the activation license is illegal; A signature verification module, used to perform signature verification on the preset first process, and activate the preset first process after the verification passes; An activation request sending module, used to obtain a user ID / user key, establish a secure connection with a server using the user ID / user key, and send an activation request to the server; An activation process execution module, used for the server to receive an activation request from the user and execute a corresponding activation process according to the request type, wherein the activation process includes an initial activation process and an update activation process; The license verification module is used to perform license verification in the first process when the operating system is started again after the first activation process is started.
Citation Information
Patent Citations
Software authorization management method, system, equipment and storage medium
CN113806786A
License authentication method and system
CN115022065A
Information processing apparatus, information processing system, and image forming apparatus
JP2013125461A
Revocation of a certificate and exclusion of other principals in a digital rights management (DRM) system based on a revocation list from a delegated revocation authority
US20040168056A1
System and method for software activation and license tracking
US20170255762A1