CN117235685A - Software authorization authentication method and device based on authorization board - Google Patents

Software authorization authentication method and device based on authorization board Download PDF

Info

Publication number
CN117235685A
CN117235685A CN202311269242.6A CN202311269242A CN117235685A CN 117235685 A CN117235685 A CN 117235685A CN 202311269242 A CN202311269242 A CN 202311269242A CN 117235685 A CN117235685 A CN 117235685A
Authority
CN
China
Prior art keywords
authorization
core algorithm
algorithm program
software
board
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.)
Pending
Application number
CN202311269242.6A
Other languages
Chinese (zh)
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.)
Shanghai Slamtec Co Ltd
Original Assignee
Shanghai Slamtec 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 Shanghai Slamtec Co Ltd filed Critical Shanghai Slamtec Co Ltd
Priority to CN202311269242.6A priority Critical patent/CN117235685A/en
Publication of CN117235685A publication Critical patent/CN117235685A/en
Pending legal-status Critical Current

Links

Landscapes

  • Storage Device Security (AREA)

Abstract

The application aims to provide a method and equipment for software authorization authentication based on an authorization board, wherein an installation package of software containing a core algorithm program is installed in a user machine to start a service item in the user machine, wherein the service item comprises a core algorithm program service; and judging whether the interaction between the authorization board and the core algorithm program is successful or not, and determining the software authorization information of the core algorithm program according to the authentication result. Loading the software into a user's machine by installing an installation package of the software, and automatically deactivating the whole authorized step to simplify the user operation; and the security of the authorization software is improved by introducing the authorization board hardware.

Description

Software authorization authentication method and device based on authorization board
Technical Field
The present application relates to the field of computers, and in particular, to a method and apparatus for software authorization authentication based on an authorization board.
Background
In the computer field, in order to ensure legitimate software use and to protect intellectual property, software providers need to implement authorization and license management systems. In the robot field, when the core algorithm is carried on a user's machine, the user can conveniently and rapidly perform iterative update of the product, and the intellectual property rights of the core algorithm software provider are protected, so that the core algorithm software needs to be subjected to operations of authorization and license management.
Existing implementations typically involve digital signing and encryption to protect the integrity of the software, and use of licenses to control access and use of the software. However, the prior art has the following disadvantages:
1) Piracy abuse: while many authorization schemes are intended to prevent piracy and abuse, there is always a way for software to crack, e.g., decompilate, and then bypass the encryption measures, resulting in unauthorized software use and loss of revenue for the software provider;
2) Complexity and difficulty to manage: many existing software authorization schemes can become very complex, difficult to manage, especially for large software systems or enterprise-level applications, which can lead to license confusion and management difficulties.
Disclosure of Invention
The application aims to provide a software authorization authentication method and device based on an authorization board, which solve the problems of easiness in software cracking, piracy abuse and complex management of software authorization in the prior art.
According to one aspect of the present application, there is provided a method of software authorisation authentication based on an authorisation board, the method comprising:
installing an installation package containing software of a core algorithm program into a user's machine, and starting to start a service item in the user's machine, wherein the service item comprises the service of the core algorithm program;
and judging whether the interaction between the authorization board and the core algorithm program is successful or not, and determining the software authorization information of the core algorithm program according to the authentication result.
Further, determining the software authorization information of the core algorithm program according to the authentication result, including:
when the authentication result is authentication failure, determining that the software authorization information is authorization failure, starting a trial version of a core algorithm program, and closing after a designated time;
and when the authentication result is that the authentication is successful, the determined software authorization information is that the authentication is successful, whether the hardware unit where the core algorithm program is located operates normally is judged, and if yes, the core algorithm program is operated.
Further, determining whether the interaction of the authorization board and the core algorithm program is successful includes:
when the authorization board interacts with the core algorithm program, acquiring a certificate in the authorization board for analysis;
and comparing and authenticating according to the analysis result, and judging whether the authentication is successful or not.
Further, before acquiring the certificate in the authorization board for analysis, the method comprises the following steps:
generating a public-private key pair, wherein the public key is stored in a core algorithm program, and the private key is stored in a production system;
and generating a certificate of the core algorithm program according to the private key, and writing the certificate into the authorization board in the production stage by the production system.
Further, generating a certificate of the core algorithm program according to the private key comprises:
carrying out hash processing on the algorithm function and the unique identification code to generate a summary;
encrypting the abstract by using an asymmetric encryption algorithm and a private key to obtain a digital signature;
and splicing the digital signature with the algorithm function and the unique identification code to generate a certificate of the core algorithm program.
Further, performing comparison authentication according to the analysis result, including:
decrypting the parsed digital signature by using an asymmetric encryption algorithm and a public key to obtain a digest;
carrying out hash processing on the analyzed algorithm function and the unique identification code to obtain a processed result;
and comparing and authenticating the processed result with the abstract, and judging whether the processed result is consistent with the abstract.
Further, when the machine of the user is used for mapping navigation, judging whether the hardware unit where the core algorithm program is located operates normally or not includes:
and judging whether the inertial measurement unit where the core algorithm program is positioned normally operates or not.
According to yet another aspect of the present application, there is also provided an apparatus for software authorization authentication based on an authorization board, the apparatus comprising:
one or more processors; and
a memory storing computer readable instructions that, when executed, cause the processor to perform operations of the method as described above.
According to yet another aspect of the present application there is also provided a computer readable medium having stored thereon computer readable instructions executable by a processor to implement a method as described above.
Compared with the prior art, the method starts to start the service item in the user machine by installing the installation package of the software containing the core algorithm program into the user machine, wherein the service item comprises the core algorithm program service; and judging whether the interaction between the authorization board and the core algorithm program is successful or not, and determining the software authorization information of the core algorithm program according to the authentication result. Loading the software into a user's machine by installing an installation package of the software, and automatically deactivating the whole authorized step to simplify the user operation; and the security of the authorization software is improved by introducing the authorization board hardware.
Drawings
Other features, objects and advantages of the present application will become more apparent upon reading of the detailed description of non-limiting embodiments, made with reference to the accompanying drawings in which:
FIG. 1 is a flow chart of a method for software authorization authentication based on an authorization board according to one aspect of the application;
FIG. 2 is a flow chart of a method for software authorization authentication in practical application according to an embodiment of the present application;
FIG. 3 is a schematic diagram of a certificate generation process in an authorization board in accordance with an embodiment of the present application;
FIG. 4 is a schematic diagram illustrating a process of verifying certificates by a core algorithm in an embodiment of the present application.
The same or similar reference numbers in the drawings refer to the same or similar parts.
Detailed Description
The application is described in further detail below with reference to the accompanying drawings.
In one exemplary configuration of the application, the terminal, the device of the service network, and the trusted party each include one or more processors (e.g., central processing units (Central Processing Unit, CPU)), input/output interfaces, network interfaces, and memory.
The Memory may include non-volatile Memory in a computer readable medium, random access Memory (Random Access Memory, RAM) and/or non-volatile Memory, etc., such as Read Only Memory (ROM) or flash RAM. Memory is an example of computer-readable media.
Computer readable media, including both non-transitory and non-transitory, removable and non-removable media, may implement information storage by any method or technology. The information may be computer readable instructions, data structures, modules of a program, or other data. Examples of storage media for a computer include, but are not limited to, phase-Change RAM (PRAM), static random access Memory (Static Random Access Memory, SRAM), dynamic random access Memory (Dynamic Random Access Memory, DRAM), other types of Random Access Memory (RAM), read-Only Memory (ROM), electrically erasable programmable read-Only Memory (Electrically Erasable Programmable Read-Only Memory, EEPROM), flash Memory or other Memory technology, read-Only optical disk read-Only Memory (Compact Disc Read-Only Memory, CD-ROM), digital versatile disks (Digital Versatile Disk, DVD) or other optical storage, magnetic cassettes, magnetic tape disk storage or other magnetic storage devices, or any other non-transmission medium, which can be used to store information that can be accessed by the computing device. Computer readable media, as defined herein, does not include non-transitory computer readable media (transmission media), such as modulated data signals and carrier waves.
Fig. 1 is a schematic flow chart of a software authorization authentication method based on an authorization board according to an aspect of the present application, the method includes: step S11 and step S12, wherein in step S11, an installation package of software containing a core algorithm program is installed in a user 'S machine, and starting to start a service item in the user' S machine, wherein the service item comprises a core algorithm program service; the software is installed in the machine of the user by installing the installation package of the software, and the authorized whole steps are automatically started, so that the operation of the user is simplified. Step S12, judging whether the interaction between the authorization board and the core algorithm program is successful, and determining the software authorization information of the core algorithm program according to the authentication result. And the security of the authorization software is improved by introducing the authorization board hardware.
Specifically, in step S11, an installation package of software including a core algorithm program is installed in a user 'S machine, and starting a service item in the user' S machine, wherein the service item includes a core algorithm program service. Here, the software for performing authorization and authentication is software of a core algorithm program, and when a user's machine performs some actions by performing algorithms, the execution of the core algorithm program is required to be completed, for example, in a robot, some mapping navigation and the like. The installation package can use a deb package mode, wherein the deb package is an installation package under Linux, and some file information and program related contents are packaged through a compression command. After loading the software into the user's machine by means of the deb package, subsequent software upgrades may be accomplished by the upgrade program enabled after the deb package is installed. The services are started, and include core algorithm services, online upgrade services, proxy services and the like.
Step S12, judging whether the interaction between the authorization board and the core algorithm program is successful, and determining the software authorization information of the core algorithm program according to the authentication result. The authorization board uses CP0 hardware, accesses to the user's machine through a usb interface, interacts with the core algorithm program, judges whether the authentication is successful, namely whether the authentication core algorithm program is authorized to be used, and obtains the authorization information of the software according to the interactive authentication result, wherein the authorization information comprises the success of the authorization and the failure of the authorization. By introducing the CP0, unique hardware identification is added into software authorization logic, so that the security of authorized software is improved, and the risk of software piracy and abuse is reduced.
In one embodiment of the present application, in step S12, when the authentication result is authentication failure, the determined software authorization information is authorization failure, a trial version of the core algorithm program is started, and the process is closed after a specified time; and when the authentication result is that the authentication is successful, the determined software authorization information is that the authentication is successful, whether the hardware unit where the core algorithm program is located operates normally is judged, and if yes, the core algorithm program is operated. Here, it is determined whether the interaction between the authorization board CP0 and the core algorithm program is successful, if not, it indicates that the software of the core algorithm program is not authorized yet, then a trial version is used and is closed after a specified time (for example, 30 minutes), if so, it indicates that the software of the core algorithm program is authorized, then it is continuously determined whether the hardware unit where the core algorithm program is located can normally acquire the software of the core algorithm program, if not, still the trial version is used and is closed after the specified time, and if so, the acquired core algorithm program is operated.
When the machine of the user is used for mapping navigation, whether the inertial measurement unit where the core algorithm program is located operates normally or not is judged. Here, as shown in fig. 2, if the installation of the core algorithm program is packaged into the robot, when the robot is used for mapping navigation, after each service enabling is started, the authorization board and the core algorithm program interactively confirm whether authentication is successful, if not, the trial board is closed after 30 minutes, if yes, whether the inertial measurement unit can be normally acquired is judged, if not, the trial board is closed after 30 minutes, and if yes, the core algorithm program is operated.
In one embodiment of the present application, in step S12, when the authorization board interacts with the core algorithm program, a certificate in the authorization board is acquired for analysis; and comparing and authenticating according to the analysis result, and judging whether the authentication is successful or not. Here, when the CP0 performs interactive confirmation with the core algorithm program, there is a certificate in the CP0, the core algorithm program obtains the certificate to analyze, and determines whether the analyzed result is consistent with the core algorithm program itself, if yes, it indicates that the authentication is successful, if not, it indicates that the interaction is failed, the CP0 does not contain the certificate of the core algorithm program, and the authentication is failed.
Specifically, before resolving a certificate in an obtained authorization board, generating a public-private key pair when preparing operation is performed, wherein the public key is stored in a core algorithm program, and the private key is stored in a production system; generating a certificate of the core algorithm program according to the private key, and writing the certificate into the authorization board in the production stage by the production system;
and the core algorithm program acquires the certificate in the authorization board for analysis. Here, a public-private key pair is generated in the production system, the public-private key pair including a pair of a public key and a private key, the private key being stored in the production system and the public key being stored in the core algorithm program. The private key can be used for generating a certificate, and the certificate is written into the authorization board in the production stage, so that when the authorization board interacts with the core algorithm program, the core algorithm program obtains the certificate for analysis.
Following the above embodiment, the process of generating a certificate: carrying out hash processing on the algorithm function and the unique identification code to generate a summary; encrypting the abstract by using an asymmetric encryption algorithm and a private key to obtain a digital signature; and splicing the digital signature with the algorithm function and the unique identification code to generate a certificate of the core algorithm program. Here, as shown in fig. 3, SN is a unique identification code of the hardware of the authorization board, and the feature function is characterized by taking corresponding bits from integers or using character strings, and is defined according to specific scenes; the unique identification code can distinguish the using functions of different users on the algorithm, so that the encryption process is more random and is not easy to crack. Performing hash () processing on feature+SN to generate digest, encrypting the digest by using a private key to generate a digital signature, splicing the feature+SN and the digital signature together by using an asymmetric encryption algorithm by using an encryption algorithm to generate a certificate, and writing the certificate into an authorization board in a production stage.
Continuing to connect with the above embodiment, decrypting the parsed digital signature by using an asymmetric encryption algorithm and a public key to obtain a digest; carrying out hash processing on the analyzed algorithm function and the unique identification code to obtain a processed result; and comparing and authenticating the processed result with the abstract, and judging whether the processed result is consistent with the abstract. Here, as shown in fig. 4, before the core algorithm program is started, a certificate is acquired and written into a file, the core algorithm program end reads the certificate in the file and analyzes the certificate to obtain an algorithm function, a unique identification code and a digital signature, namely a feature function+sn is obtained, a processing result is obtained by using hash () to process the feature function+sn, the digital signature is decrypted by using a public key to generate a digest, the processing result is compared with the digest generated by decryption, after the comparison is successful, the data verification operation of the inertia measurement unit is entered, if the inertia measurement unit can normally acquire, the core algorithm program can be operated, and if the inertia measurement unit cannot normally acquire, the core algorithm program trial version is entered. Therefore, the core software is installed by using deb, the subsequent upgrading core software can be performed by an upgrading program, the installation and upgrading operation flow is simplified, and a quick and convenient solution is provided for a client to realize the map building, positioning and navigation functions; by adding the authorization board, asymmetric encryption is used in interaction between the core algorithm program and the authorization board, and software copying and tampering are prevented, so that the aim of increasing security in software authorization is fulfilled.
In addition, the embodiment of the application also provides a computer readable medium, wherein computer readable instructions are stored on the computer readable medium, and the computer readable instructions can be executed by a processor to realize the method for software authorization authentication based on the authorization board.
In an embodiment of the present application, there is also provided an apparatus for software authorization authentication based on an authorization board, the apparatus including:
one or more processors; and
a memory storing computer readable instructions that, when executed, cause the processor to perform operations of the method as described above.
For example, computer-readable instructions, when executed, cause the one or more processors to:
installing an installation package containing software of a core algorithm program into a user's machine, and starting to start a service item in the user's machine, wherein the service item comprises the service of the core algorithm program;
and judging whether the interaction between the authorization board and the core algorithm program is successful or not, and determining the software authorization information of the core algorithm program according to the authentication result.
It will be apparent to those skilled in the art that various modifications and variations can be made to the present application without departing from the spirit or scope of the application. Thus, it is intended that the present application also include such modifications and alterations insofar as they come within the scope of the appended claims or the equivalents thereof.
It should be noted that the present application may be implemented in software and/or a combination of software and hardware, e.g., using Application Specific Integrated Circuits (ASIC), a general purpose computer or any other similar hardware device. In one embodiment, the software program of the present application may be executed by a processor to perform the steps or functions described above. Likewise, the software programs of the present application (including associated data structures) may be stored on a computer readable recording medium, such as RAM memory, magnetic or optical drive or diskette and the like. In addition, some steps or functions of the present application may be implemented in hardware, for example, as circuitry that cooperates with the processor to perform various steps or functions.
Furthermore, portions of the present application may be implemented as a computer program product, such as computer program instructions, which when executed by a computer, may invoke or provide methods and/or techniques in accordance with the present application by way of operation of the computer. Program instructions for invoking the inventive methods may be stored in fixed or removable recording media and/or transmitted via a data stream in a broadcast or other signal bearing medium and/or stored within a working memory of a computer device operating according to the program instructions. An embodiment according to the application comprises an apparatus comprising a memory for storing computer program instructions and a processor for executing the program instructions, wherein the computer program instructions, when executed by the processor, trigger the apparatus to operate a method and/or a solution according to the embodiments of the application as described above.
It will be evident to those skilled in the art that the application is not limited to the details of the foregoing illustrative embodiments, and that the present application may be embodied in other specific forms without departing from the spirit or essential characteristics thereof. The present embodiments are, therefore, to be considered in all respects as illustrative and not restrictive, the scope of the application being indicated by the appended claims rather than by the foregoing description, and all changes which come within the meaning and range of equivalency of the claims are therefore intended to be embraced therein. Any reference sign in a claim should not be construed as limiting the claim concerned. Furthermore, it is evident that the word "comprising" does not exclude other elements or steps, and that the singular does not exclude a plurality. The terms first, second, etc. are used to denote a name, but not any particular order.

Claims (9)

1. A method for software authorization authentication based on an authorization board, the method comprising:
installing an installation package containing software of a core algorithm program into a user's machine, and starting to start a service item in the user's machine, wherein the service item comprises the service of the core algorithm program;
and judging whether the interaction between the authorization board and the core algorithm program is successful or not, and determining the software authorization information of the core algorithm program according to the authentication result.
2. The method of claim 1, wherein determining the software authorization information of the core algorithm based on the authentication result comprises:
when the authentication result is authentication failure, determining that the software authorization information is authorization failure, starting a trial version of a core algorithm program, and closing after a designated time;
and when the authentication result is that the authentication is successful, the determined software authorization information is that the authentication is successful, whether the hardware unit where the core algorithm program is located operates normally is judged, and if yes, the core algorithm program is operated.
3. The method of claim 1, wherein determining whether the authorization board interacts with the core algorithm program successfully comprises:
when the authorization board interacts with the core algorithm program, acquiring a certificate in the authorization board for analysis;
and comparing and authenticating according to the analysis result, and judging whether the authentication is successful or not.
4. A method according to claim 3, comprising, before acquiring the certificate in the authorization board for resolution:
generating a public-private key pair, wherein the public key is stored in a core algorithm program, and the private key is stored in a production system;
and generating a certificate of the core algorithm program according to the private key, and writing the certificate into the authorization board in the production stage by the production system.
5. The method of claim 4, wherein generating the certificate of the core algorithm program from the private key comprises:
carrying out hash processing on the algorithm function and the unique identification code to generate a summary;
encrypting the abstract by using an asymmetric encryption algorithm and a private key to obtain a digital signature;
and splicing the digital signature with the algorithm function and the unique identification code to generate a certificate of the core algorithm program.
6. The method of claim 5, wherein performing comparison authentication based on the parsing result comprises:
decrypting the parsed digital signature by using an asymmetric encryption algorithm and a public key to obtain a digest;
carrying out hash processing on the analyzed algorithm function and the unique identification code to obtain a processed result;
and comparing and authenticating the processed result with the abstract, and judging whether the processed result is consistent with the abstract.
7. The method of claim 2, wherein determining whether the hardware unit in which the core algorithm program is located is operating properly when the user's machine is used for mapping navigation, comprises:
and judging whether the inertial measurement unit where the core algorithm program is positioned normally operates or not.
8. An apparatus for software authorization authentication based on an authorization board, the apparatus comprising:
one or more processors; and
a memory storing computer readable instructions that, when executed, cause the processor to perform the operations of the method of any one of claims 1 to 7.
9. A computer readable medium having computer readable instructions stored thereon, the computer readable instructions
The instructions being executable by a processor to implement the method of any one of claims 1 to 7.
CN202311269242.6A 2023-09-27 2023-09-27 Software authorization authentication method and device based on authorization board Pending CN117235685A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202311269242.6A CN117235685A (en) 2023-09-27 2023-09-27 Software authorization authentication method and device based on authorization board

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202311269242.6A CN117235685A (en) 2023-09-27 2023-09-27 Software authorization authentication method and device based on authorization board

Publications (1)

Publication Number Publication Date
CN117235685A true CN117235685A (en) 2023-12-15

Family

ID=89089252

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202311269242.6A Pending CN117235685A (en) 2023-09-27 2023-09-27 Software authorization authentication method and device based on authorization board

Country Status (1)

Country Link
CN (1) CN117235685A (en)

Similar Documents

Publication Publication Date Title
JP6719079B2 (en) Information equipment, data processing system, data processing method and computer program
US7921293B2 (en) Apparatus and method for unilaterally loading a secure operating system within a multiprocessor environment
US7356682B2 (en) Attesting to a value of a register and/or memory region
US7610632B2 (en) Software use permission method and system
US7062650B2 (en) System and method for verifying integrity of system with multiple components
US8204233B2 (en) Administration of data encryption in enterprise computer systems
US20090183001A1 (en) Method for offline drm authentication and a system thereof
NO330422B1 (en) Encryption for digital rights management, as well as data protection of content on a device without interactive authentication
JPH10171648A (en) Application authenticating device
EP2051181A1 (en) Information terminal, security device, data protection method, and data protection program
JP2002319230A (en) Recording medium, information processor, server, and method, program for contents distribution and recording medium thereof
CN110555293A (en) Method, apparatus, electronic device and computer readable medium for protecting data
US20050246530A1 (en) Confirmation method of software and apparatus for executing software
US7353386B2 (en) Method and device for authenticating digital data by means of an authentication extension module
JP4978896B2 (en) Communication terminal device, server terminal device, and communication system using them
KR101405915B1 (en) Method for writing data by encryption and reading the data thereof
KR101711024B1 (en) Method for accessing temper-proof device and apparatus enabling of the method
WO2022242035A1 (en) Software secure application method and apparatus
CN115935396A (en) Computing device, data encryption method, data decryption method and storage medium
CN117235685A (en) Software authorization authentication method and device based on authorization board
CN111611551A (en) Dynamic link library protection method and system based on state cryptographic algorithm
US10318766B2 (en) Method for the secured recording of data, corresponding device and program
WO2022068693A1 (en) Preprocessing method, processing method, decrypting and reading methods, device, and medium
CN117892290A (en) Vehicle refreshing method, device, terminal equipment and storage medium
CN115906029A (en) Authentication method, authentication device, electronic equipment, storage medium and product

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