CN116016168A - Software function activation method, device, equipment and storage medium - Google Patents
Software function activation method, device, equipment and storage medium Download PDFInfo
- Publication number
- CN116016168A CN116016168A CN202211600561.6A CN202211600561A CN116016168A CN 116016168 A CN116016168 A CN 116016168A CN 202211600561 A CN202211600561 A CN 202211600561A CN 116016168 A CN116016168 A CN 116016168A
- Authority
- CN
- China
- Prior art keywords
- function
- data
- activation
- verification
- configuration data
- 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.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/30—Authentication, i.e. establishing the identity or authorisation of security principals
- G06F21/31—User authentication
- G06F21/34—User authentication involving the use of external additional devices, e.g. dongles or smart cards
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/51—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems at application loading time, e.g. accepting, rejecting, starting or inhibiting executable software based on integrity or source reliability
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/08—Configuration management of networks or network elements
- H04L41/0803—Configuration setting
- H04L41/0806—Configuration setting for initial configuration or provisioning, e.g. plug-and-play
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/12—Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Computer Hardware Design (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Health & Medical Sciences (AREA)
- Computing Systems (AREA)
- General Health & Medical Sciences (AREA)
- Medical Informatics (AREA)
- Storage Device Security (AREA)
Abstract
Description
技术领域technical field
本发明涉及工业网络技术领域,尤其涉及一种软件功能激活方法、装置、设备及存储介质。The present invention relates to the technical field of industrial networks, in particular to a software function activation method, device, equipment and storage medium.
背景技术Background technique
传统的软件授权方式包括网络授权、许可证文件授权以及硬件加密狗授权,但是网络授权和许可证文件授权主要为通用的纯软件授权激活方案,安全性无法得到保障,采用硬件加密狗的成本较高,且灵活性、可扩展性和定制化较差,对于迭代开发中的产品以及多样化的授权场景难以快速响应。Traditional software authorization methods include network authorization, license file authorization, and hardware dongle authorization, but network authorization and license file authorization are mainly general-purpose pure software authorization activation solutions, security cannot be guaranteed, and the cost of using hardware dongles is relatively high. High, and poor flexibility, scalability, and customization, it is difficult to quickly respond to products in iterative development and diverse authorization scenarios.
上述内容仅用于辅助理解本发明的技术方案,并不代表承认上述内容是现有技术。The above content is only used to assist in understanding the technical solution of the present invention, and does not mean that the above content is admitted as prior art.
发明内容Contents of the invention
本发明的主要目的在于提供了一种软件功能激活方法、装置、设备及存储介质,旨在解决现有技术中采用的激活方案安全性低且无法适用于工业场景需求的技术问题。The main purpose of the present invention is to provide a software function activation method, device, device and storage medium, aiming to solve the technical problem that the activation scheme adopted in the prior art has low security and cannot be applied to the requirements of industrial scenarios.
为实现上述目的,本发明提供了一种软件功能激活方法,所述软件功能激活方法应用于设备端,所述设备端设置有加密芯片,所述方法包括以下步骤:In order to achieve the above object, the present invention provides a software function activation method, the software function activation method is applied to the device end, the device end is provided with an encryption chip, and the method includes the following steps:
根据待激活功能的功能数据和所述加密芯片内存储的设备数据生成设备配置数据;generating device configuration data according to the function data of the function to be activated and the device data stored in the encrypted chip;
将所述设备配置数据上传至激活服务器,并接收所述激活服务器基于所述设备配置数据下发的激活验证数据和激活功能配置数据;uploading the device configuration data to an activation server, and receiving activation verification data and activation function configuration data issued by the activation server based on the device configuration data;
在所述激活验证数据通过数据验证时,根据所述激活功能配置数据激活所述待激活功能。When the activation verification data passes the data verification, the function to be activated is activated according to the activation function configuration data.
可选地,所述激活验证数据包括加密芯片认证密钥、验证哈希值和激活哈希值;Optionally, the activation verification data includes an encrypted chip authentication key, a verification hash value and an activation hash value;
所述在所述激活验证数据通过数据验证时,根据所述激活功能配置数据激活所述待激活功能,包括:The activating the function to be activated according to the activation function configuration data when the activation verification data passes the data verification includes:
发送随机验证字符至所述加密芯片,并获取所述加密芯片基于所述随机验证字符反馈的验证数据;Send random verification characters to the encryption chip, and obtain verification data fed back by the encryption chip based on the random verification characters;
根据所述加密芯片认证密钥和所述随机验证字符生成认证请求数据,并在所述认证请求数据与所述验证数据一致时,判断所述验证哈希值与设备哈希值是否一致,所述设备哈希值根据所述设备数据生成;Generate authentication request data according to the encryption chip authentication key and the random verification character, and when the authentication request data is consistent with the verification data, determine whether the verification hash value is consistent with the device hash value, so The device hash value is generated according to the device data;
若一致,则在所述激活哈希值与功能哈希值一致时,将所述激活功能配置数据写入所述加密芯片,以激活所述待激活功能,所述功能哈希值根据所述功能数据生成。If they are consistent, when the activation hash value is consistent with the function hash value, write the activation function configuration data into the encryption chip to activate the function to be activated, and the function hash value is based on the Functional data generation.
可选地,所述设备数据包括已激活功能配置数据,所述激活验证数据还包括历史配置数据;Optionally, the device data includes activated function configuration data, and the activation verification data further includes historical configuration data;
所述在所述激活哈希值与所述功能哈希值一致时之后,还包括:After the activation hash value is consistent with the function hash value, it also includes:
获取所述加密芯片内存储的已激活功能配置数据,并判断所述已激活功能配置数据与所述历史配置数据是否一致;Obtaining the activated function configuration data stored in the encryption chip, and judging whether the activated function configuration data is consistent with the historical configuration data;
若一致,则将所述激活功能配置数据写入所述加密芯片,以激活所述待激活功能。If they are consistent, write the activation function configuration data into the encryption chip to activate the function to be activated.
可选地,所述根据待激活功能的功能数据和所述加密芯片内存储的设备数据生成设备配置数据之前,还包括:Optionally, before generating the device configuration data according to the function data of the function to be activated and the device data stored in the encryption chip, the method further includes:
根据用户选择的待激活功能生成功能数据;Generate function data according to the function to be activated selected by the user;
在对输入至加密芯片的密文信息验证通过时,从所述加密芯片的存储区域内读取设备数据。When the verification of the ciphertext information input to the encryption chip is passed, the device data is read from the storage area of the encryption chip.
为实现上述目的,本发明还提出一种软件功能激活方法,所述软件功能激活方法应用于激活服务器,所述方法包括以下步骤:In order to achieve the above object, the present invention also proposes a method for activating software functions, the method for activating software functions is applied to an activation server, and the method includes the following steps:
从设备端上传的设备配置数据中读取设备标识信息、设备电子标签数据、芯片识别号、功能数据和已激活功能配置数据,并根据所述设备标识信息和所述功能数据判断所述设备端是否具备功能激活权限;Read the device identification information, device electronic label data, chip identification number, function data and activated function configuration data from the device configuration data uploaded by the device end, and judge the device end according to the device identification information and the function data Whether it has the function activation authority;
在所述设备端具备功能激活权限时,根据所述设备标识信息、所述设备电子标签数据、所述芯片识别号、所述功能数据和所述已激活功能配置数据生成激活验证数据;When the device end has the function activation authority, generate activation verification data according to the device identification information, the device electronic label data, the chip identification number, the function data and the activated function configuration data;
根据所述功能数据生成激活功能配置数据;generating activation function configuration data based on said function data;
将所述激活验证数据和所述激活功能配置数据下发至所述设备端,以使所述设备端进行功能激活。Sending the activation verification data and the activation function configuration data to the device end, so that the device end performs function activation.
可选地,所述根据所述设备标识信息、所述设备电子标签数据、所述芯片识别号、所述功能数据和所述已激活功能配置数据生成激活验证数据,包括:Optionally, the generating activation verification data according to the device identification information, the device electronic label data, the chip identification number, the function data and the activated function configuration data includes:
根据所述设备电子标签数据和所述芯片识别号生成加密芯片认证密钥;generating an encrypted chip authentication key according to the device electronic tag data and the chip identification number;
对所述设备标识信息进行哈希处理,获得验证哈希值,并对所述功能数据进行哈希处理,获得激活哈希值;performing hash processing on the device identification information to obtain a verification hash value, and performing hash processing on the functional data to obtain an activation hash value;
根据所述加密芯片认证密钥、所述验证哈希值、所述激活哈希值和所述已激活功能配置数据生成激活验证数据。Activation verification data is generated based on the encrypted chip authentication key, the verification hash value, the activation hash value, and the activated function configuration data.
可选地,所述根据所述设备标识信息和所述功能数据判断所述设备端是否具备功能激活权限,包括:Optionally, the judging whether the device end has function activation authority according to the device identification information and the function data includes:
根据所述设备标识信息确定所述设备端的授权功能数据;determining the authorized function data of the device according to the device identification information;
在所述授权功能数据中存在所述功能数据时,判定所述设备端具备功能激活权限。When the function data exists in the authorized function data, it is determined that the device has the function activation authority.
此外,为实现上述目的,本发明还提出一种软件功能激活装置,所述装置包括:In addition, in order to achieve the above purpose, the present invention also proposes a software function activation device, which includes:
生成模块,用于根据待激活功能的功能数据和所述加密芯片内存储的设备数据生成设备配置数据;A generating module, configured to generate device configuration data according to the function data of the function to be activated and the device data stored in the encrypted chip;
上传模块,用于将所述设备配置数据上传至激活服务器,并接收所述激活服务器基于所述设备配置数据下发的激活验证数据和激活功能配置数据;An upload module, configured to upload the device configuration data to an activation server, and receive activation verification data and activation function configuration data issued by the activation server based on the device configuration data;
激活模块,用于在所述激活验证数据通过数据验证时,根据所述激活功能配置数据激活所述待激活功能。An activation module, configured to activate the function to be activated according to the activation function configuration data when the activation verification data passes the data verification.
此外,为实现上述目的,本发明还提出一种软件功能激活设备,所述设备包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的软件功能激活程序,所述软件功能激活程序配置为实现如上文所述的软件功能激活方法的步骤。In addition, in order to achieve the above object, the present invention also proposes a software function activation device, which includes: a memory, a processor, and a software function activation program stored in the memory and operable on the processor. The above-mentioned software function activation program is configured to realize the steps of the above-mentioned software function activation method.
此外,为实现上述目的,本发明还提出一种存储介质,所述存储介质上存储有软件功能激活程序,所述软件功能激活程序被处理器执行时实现如上文所述的软件功能激活方法的步骤。In addition, in order to achieve the above object, the present invention also proposes a storage medium, on which a software function activation program is stored, and when the software function activation program is executed by a processor, the software function activation method as described above is realized. step.
本发明提出一种软件功能激活方法,应用于设备端,所述设备端设置有加密芯片,该方法包括:根据待激活功能的功能数据和所述加密芯片内存储的设备数据生成设备配置数据;将所述设备配置数据上传至激活服务器,并接收所述激活服务器基于所述设备配置数据下发的激活验证数据和激活功能配置数据;在所述激活验证数据通过数据验证时,根据所述激活功能配置数据激活所述待激活功能。本发明根据待激活功能的功能数据和加密芯片内存储的设备数据生成设备配置数据,并根据激活服务器基于设备配置数据下发的激活验证数据进行数据验证,并在数据验证通过时根据激活服务器下发的激活功能配置数据激活待激活功能,能够根据用户需求来激活设备端的软件功能,提高了软件功能激活的灵活性,而且将激活软件功能过程中需要用到的设备数据存储至加密芯片内,提高了软件功能激活的安全性。The present invention proposes a method for activating a software function, which is applied to a device end. The device end is provided with an encryption chip. The method includes: generating device configuration data according to the function data of the function to be activated and the device data stored in the encryption chip; Upload the device configuration data to an activation server, and receive activation verification data and activation function configuration data issued by the activation server based on the device configuration data; when the activation verification data passes data verification, according to the activation The function configuration data activates the function to be activated. The present invention generates device configuration data according to the functional data of the function to be activated and the device data stored in the encryption chip, and performs data verification according to the activation verification data issued by the activation server based on the device configuration data, and when the data verification passes, according to the The activation function configuration data sent to activate the function to be activated can activate the software function of the device according to the user's needs, improve the flexibility of software function activation, and store the device data needed in the process of activating the software function into the encrypted chip. Improved security for software feature activation.
附图说明Description of drawings
图1是本发明实施例方案涉及的硬件运行环境的软件功能激活设备的结构示意图;Fig. 1 is a schematic structural diagram of a software function activation device of a hardware operating environment involved in the solution of an embodiment of the present invention;
图2为本发明软件功能激活方法第一实施例的流程示意图;Fig. 2 is a schematic flow chart of the first embodiment of the software function activation method of the present invention;
图3为本发明软件功能激活方法一实施例中激活网络增强和Ether CAT功能的示意图;Fig. 3 is the synoptic diagram of activation network enhancement and Ether CAT function in one embodiment of software function activation method of the present invention;
图4为本发明软件功能激活方法第二实施例的流程示意图;4 is a schematic flowchart of a second embodiment of the software function activation method of the present invention;
图5为本发明软件功能激活方法第三实施例的流程示意图;FIG. 5 is a schematic flowchart of a third embodiment of the software function activation method of the present invention;
图6为本发明软件功能激活装置第一实施例的结构框图;Fig. 6 is a structural block diagram of the first embodiment of the software function activation device of the present invention;
图7为本发明软件功能激活装置第三实施例的结构框图。Fig. 7 is a structural block diagram of the third embodiment of the device for activating software functions according to the present invention.
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。The realization of the purpose of the present invention, functional characteristics and advantages will be further described in conjunction with the embodiments and with reference to the accompanying drawings.
具体实施方式Detailed ways
应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。It should be understood that the specific embodiments described here are only used to explain the present invention, not to limit the present invention.
参照图1,图1为本发明实施例方案涉及的硬件运行环境的软件功能激活设备结构示意图。Referring to FIG. 1 , FIG. 1 is a schematic structural diagram of a software function activation device in a hardware operating environment involved in an embodiment of the present invention.
如图1所示,该软件功能激活设备可以包括:处理器1001,例如中央处理器(Central Processing Unit,CPU),通信总线1002、用户接口1003,网络接口1004,存储器1005。其中,通信总线1002用于实现这些组件之间的连接通信。用户接口1003可以包括显示屏(Display)、输入单元比如键盘(Keyboard),可选用户接口1003还可以包括标准的有线接口、无线接口。网络接口1004可选的可以包括标准的有线接口、无线接口(如无线保真(Wireless-Fidelity,WI-FI)接口)。存储器1005可以是高速的随机存取存储器(RandomAccess Memory,RAM),也可以是稳定的非易失性存储器(Non-Volatile Memory,NVM),例如磁盘存储器。存储器1005可选的还可以是独立于前述处理器1001的存储装置。As shown in FIG. 1, the software function activation device may include: a
本领域技术人员可以理解,图1中示出的结构并不构成对软件功能激活设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。Those skilled in the art can understand that the structure shown in FIG. 1 does not constitute a limitation on the software function activation device, and may include more or less components than those shown in the figure, or combine some components, or arrange different components.
如图1所示,作为一种存储介质的存储器1005中可以包括操作系统、网络通信模块、用户接口模块以及软件功能激活程序。As shown in FIG. 1 ,
在图1所示的软件功能激活设备中,网络接口1004主要用于与网络服务器进行数据通信;用户接口1003主要用于与用户进行数据交互;本发明软件功能激活设备中的处理器1001、存储器1005可以设置在软件功能激活设备中,所述软件功能激活设备通过处理器1001调用存储器1005中存储的软件功能激活程序,并执行本发明实施例提供的软件功能激活方法。In the software function activation device shown in Figure 1, the
目前,软件授权方式主要包括网络授权、许可证文件授权和硬件加密狗授权,网络授权主要是授权程序会获取设备自身网卡MAC、CPU等硬件信息,根据获取到的硬件信息生成设备ID,并向远程的服务器查询设备是否获得授权;许可证文件授权主要是将只有厂商知道的特定数据放在指定的文件内,授权软件工作过程中对该文件的内容进行检查,以判断是否获得授权;硬件加密狗一般会与专用的安全加密设备绑定,并在软件中集成特定认证功能库与专用的加密设备进行通信。采用网络授权和许可证文件授权的激活方案安全性较低,而且网络授权需要一直保持网络连接,不符合工业现场的应用场景;采用硬件加密狗的激活方案成本较高,且激活方案灵活性、可扩展性以及定制化较差,对于迭代开发中的产品以及多样化的授权场景无法快速响应。At present, software authorization methods mainly include network authorization, license file authorization and hardware dongle authorization. Network authorization mainly means that the authorization program will obtain hardware information such as the device's own network card MAC and CPU, generate a device ID based on the obtained hardware information, and send The remote server inquires whether the device is authorized; the authorization of the license file mainly puts the specific data known only to the manufacturer in the specified file, and the content of the file is checked during the working process of the authorized software to determine whether it is authorized; hardware encryption The dog is generally bound to a dedicated security encryption device, and a specific authentication function library is integrated in the software to communicate with the dedicated encryption device. The activation scheme using network authorization and license file authorization has low security, and network authorization needs to maintain network connection all the time, which does not meet the application scenarios of industrial sites; the activation scheme using hardware dongle is relatively expensive, and the activation scheme is flexible, The scalability and customization are poor, and it cannot respond quickly to products in iterative development and diversified authorization scenarios.
基于上述问题,本发明实施例提供了一种软件功能激活方法,所述软件功能激活方法应用于设备端,所述设备端设置有加密芯片,参照图2,图2为本发明软件功能激活方法第一实施例的流程示意图。Based on the above problems, the embodiment of the present invention provides a software function activation method, the software function activation method is applied to the device end, and the device end is provided with an encryption chip, referring to Figure 2, Figure 2 is the software function activation method of the present invention Schematic flow chart of the first embodiment.
本实施例中,所述软件功能激活方法包括以下步骤:In this embodiment, the software function activation method includes the following steps:
步骤S10:根据待激活功能的功能数据和所述加密芯片内存储的设备数据生成设备配置数据。Step S10: Generate device configuration data according to the function data of the function to be activated and the device data stored in the encryption chip.
需要说明的是,本实施例的执行主体可以是一种具有数据处理、网络通信以及程序运行功能的计算服务设备,或者是一种能够实现上述功能的电子设备、软件功能激活设备或待激活设备等。以下以待激活设备(简称设备端)为例,对本实施例及下述各实施例进行举例说明。It should be noted that the execution subject of this embodiment may be a computing service device with data processing, network communication and program running functions, or an electronic device capable of realizing the above functions, a software function activation device or a device to be activated wait. The following takes the device to be activated (referred to as the device end) as an example to illustrate this embodiment and the following embodiments.
可以理解的是,待激活功能可以是设备端需要激活的软件功能;功能数据可以是设备端程序基于待激活功能生成的数据,例如待激活功能和功能数据呈映射关系存储,用户选择的待激活功能为移动端控制支持功能,设备端根据上述映射关系确定移动端控制支持功能对应的功能数据,或设备端对字符“移动端控制支持”进行哈希处理,获得移动端控制支持功能对应的功能数据,还可通过其他方式生成功能数据,本实施例在此不作限制;加密芯片可以是在设备端设置的用于存储设备数据的芯片,设备数据包括设备端的身份数据、设备端已激活功能的配置数据等;设备配置数据可以是能够唯一定位设备端以及该设备端的授权功能的数据,设备配置数据可写入预设格式的文件中。It can be understood that the function to be activated may be the software function that needs to be activated on the device side; the function data may be the data generated by the program on the device side based on the function to be activated, for example, the function to be activated and the function data are stored in a mapping relationship, and the user-selected The function is the mobile terminal control support function. The device side determines the function data corresponding to the mobile terminal control support function according to the above mapping relationship, or the device side performs hash processing on the character "mobile terminal control support" to obtain the corresponding function of the mobile terminal control support function Data, function data can also be generated in other ways, and this embodiment is not limited here; the encryption chip can be a chip set on the device side for storing device data, and the device data includes the identity data of the device side, and the activated function of the device side. Configuration data, etc.; the device configuration data can be data that can uniquely locate the device and the authorization function of the device, and the device configuration data can be written into a file in a preset format.
在具体实施中,用户在设备端的程序选择需要激活的软件功能,设备端根据用户选择的软件功能确定待激活功能,根据待激活功能生成对应的功能数据,设备端从加密芯片的存储数据中读取设备数据,将功能数据和设备数据写入预设格式的文件,获得设备配置数据。In the specific implementation, the user selects the software function to be activated in the program on the device side, the device side determines the function to be activated according to the software function selected by the user, generates the corresponding function data according to the function to be activated, and the device side reads from the storage data of the encryption chip. Get device data, write function data and device data into a file with preset format, and obtain device configuration data.
步骤S20:将所述设备配置数据上传至激活服务器,并接收所述激活服务器基于所述设备配置数据下发的激活验证数据和激活功能配置数据。Step S20: Upload the device configuration data to an activation server, and receive activation verification data and activation function configuration data issued by the activation server based on the device configuration data.
在本实施例中,激活服务器可以是对设备端进行软件功能激活的服务器;激活验证数据可以是对设备端是否具备软件功能激活权限进行验证的数据。激活功能配置数据可以是对待激活的软件功能进行参数配置的数据。In this embodiment, the activation server may be a server for activating the software function of the device; the activation verification data may be data for verifying whether the device has the right to activate the software function. The activation function configuration data may be data for parameter configuration of the software function to be activated.
步骤S30:在所述激活验证数据通过数据验证时,根据所述激活功能配置数据激活所述待激活功能。Step S30: when the activation verification data passes the data verification, activate the function to be activated according to the activation function configuration data.
在具体实施中,用户在设备端选择需要激活的软件功能,设备端确定用户选择的软件功能为待激活功能,并根据待激活功能生成功能数据,从内部设置的加密芯片内读取设备端的身份数据,将功能数据和身份数据写入预设格式的文件内生成设备配置文件,将该设备配置文件上传至激活服务器,并接收激活服务器基于设备配置文件下发的激活验证数据和激活功能配置数据,设备端基于激活验证数据对设备端的激活权限进行验证,并在激活权限验证通过时,将激活功能配置数据写入加密芯片,并根据写入加密芯片内的配置数据对待激活的软件功能进行参数配置,从而激活对应的软件功能。In the specific implementation, the user selects the software function to be activated on the device side, and the device side determines that the software function selected by the user is the function to be activated, and generates function data according to the function to be activated, and reads the identity of the device side from the internal encryption chip Data, write function data and identity data into a file with a preset format to generate a device configuration file, upload the device configuration file to the activation server, and receive activation verification data and activation function configuration data issued by the activation server based on the device configuration file , the device side verifies the activation authority of the device side based on the activation verification data, and when the activation authority verification passes, writes the activation function configuration data into the encryption chip, and configures the parameters of the software function to be activated according to the configuration data written into the encryption chip configuration to activate the corresponding software functions.
在另一种实现方式中,设备端根据用户选择的待激活功能生成功能数据,从加密芯片内读取设备端的身份数据和已激活功能的配置数据,将功能数据、身份数据和已激活功能的配置数据写入预设格式的文件内,生成设备配置文件,并将设备配置文件上传至激活服务器,根据激活服务器基于设备配置文件下发的激活验证数据进行权限验证,并在验证通过时根据激活功能配置数据激活用户选择的软件功能。In another implementation, the device side generates function data according to the function to be activated selected by the user, reads the identity data of the device side and the configuration data of the activated function from the encrypted chip, and converts the function data, identity data and configuration data of the activated function The configuration data is written into a file with a preset format, a device configuration file is generated, and the device configuration file is uploaded to the activation server. The authority verification is performed according to the activation verification data issued by the activation server based on the device configuration file. The feature configuration data activates user-selected software features.
可以理解的是,为了提高软件功能激活的安全性,设备端可使用RSA密钥对的私钥对设备配置数据加密后上传至激活服务器,激活服务器接收到加密数据后,需要使用RSA密钥对的公钥对加密数据进行解密后得到设备配置数据。It is understandable that in order to improve the security of software function activation, the device can use the private key of the RSA key pair to encrypt the device configuration data and upload it to the activation server. After the activation server receives the encrypted data, it needs to use the RSA key pair The public key to decrypt the encrypted data to obtain the device configuration data.
在本实施例中,例如,参照图3,图3为激活网络增强和Ether CAT功能的示意图,假设用户在设备端的功能激活程序内选择网络增强和Ether CAT功能,激活程序确定待激活功能为网络增强和Ether CAT,根据网络增强和Ether CAT生成功能数据,功能激活程序从加密芯片内读取设备ID,根据功能数据和设备ID生成设备配置文件,将该设备配置文件导出后上传至激活服务器,以使激活服务器根据设备配置文件下发权限验证数据以及与网络增强和Ether CAT功能对应的配置数据,设备端内的功能激活程序根据验证数据对设备端是否具有网络增强和Ether CAT的功能权限进行验证,并在功能权限验证通过时,将网络增强和Ether CAT的配置数据写入加密芯片,并根据该配置数据进行参数配置,以在设备端激活网络增强和Ether CAT功能。In this embodiment, for example, referring to Fig. 3, Fig. 3 is a schematic diagram of activating network enhancement and Ether CAT functions, assuming that the user selects network enhancement and Ether CAT functions in the function activation program on the device side, and the activation program determines that the function to be activated is the network Enhancement and Ether CAT, generate function data according to network enhancement and Ether CAT, the function activation program reads the device ID from the encryption chip, generates a device configuration file according to the function data and device ID, and then uploads the device configuration file to the activation server after exporting it. In order to enable the activation server to issue permission verification data and configuration data corresponding to network enhancement and Ether CAT functions according to the device configuration file, the function activation program in the device side can check whether the device side has network enhancement and Ether CAT function permissions according to the verification data. Verification, and when the functional permission verification is passed, the configuration data of network enhancement and Ether CAT is written into the encryption chip, and parameter configuration is performed according to the configuration data to activate the network enhancement and Ether CAT functions on the device side.
进一步地,为了提高激活安全性,所述步骤S10之前,还包括:根据用户选择的待激活功能生成功能数据;在对输入至加密芯片的密文信息验证通过时,从所述加密芯片的存储区域内读取设备数据。Further, in order to improve the activation security, before the step S10, it also includes: generating function data according to the function to be activated selected by the user; Read device data in the area.
可以理解的是,密文信息可以是确定是否具有从加密芯片内读取数据的权限的验证信息,例如密文信息为预先设置的密码或加密芯片的公钥等。It can be understood that the ciphertext information may be verification information for determining whether there is an authority to read data from the encryption chip, for example, the ciphertext information is a preset password or a public key of the encryption chip.
在具体实施中,设备端根据用户通过设备端的功能激活程序选择的待激活功能生成功能数据,并获取用户输入的验证密码,根据验证密码判断该设备端是否具备读取设备数据的权限,若具备,则从加密芯片的存储区域内读取设备数据。In the specific implementation, the device side generates function data according to the function to be activated selected by the user through the function activation program of the device side, and obtains the verification password entered by the user, and judges whether the device side has the authority to read device data according to the verification password. , the device data is read from the storage area of the encryption chip.
在本实施例中,由于本实施例中根据待激活功能的功能数据和加密芯片内存储的设备数据生成设备配置数据,根据激活服务器基于设备配置数据下发的激活功能配置数据进行软件功能激活,若将本实施例提出的软件功能激活方法应用于迭代开发中的产品中,在迭代开发中的产品增加了新功能时,只需增加对应的功能数据即可,灵活性高且能够对迭代开发中产品和多样化的授权场景进行快速响应,而且通过设备端的加密芯片存储设备数据,在降低成本的同时提高了激活安全性;若将本实施例提出的软件功能激活方法应用于非迭代开发的产品,可以根据产品的功能进行相应的功能扩展和定制化改进,在提高激活安全性的同时,使得激活方案的可扩展性和定制化程度更高,能够适用于更多应用场景的需求。In this embodiment, since the device configuration data is generated according to the function data of the function to be activated and the device data stored in the encryption chip in this embodiment, and the software function is activated according to the activation function configuration data issued by the activation server based on the device configuration data, If the software function activation method proposed in this embodiment is applied to products in iterative development, when a new function is added to a product in iterative development, only the corresponding function data needs to be added, which has high flexibility and can support iterative development. Quickly respond to mid-range products and diversified authorization scenarios, and store device data through the encryption chip on the device side, which reduces costs and improves activation security; if the software function activation method proposed in this embodiment is applied to non-iterative development The product can be extended and customized according to the function of the product. While improving the security of the activation, it makes the activation solution more scalable and customizable, and can be applied to the needs of more application scenarios.
本实施例提出一种软件功能激活方法,应用于设备端,所述设备端设置有加密芯片,该方法包括:根据待激活功能的功能数据和所述加密芯片内存储的设备数据生成设备配置数据;将所述设备配置数据上传至激活服务器,并接收所述激活服务器基于所述设备配置数据下发的激活验证数据和激活功能配置数据;在所述激活验证数据通过数据验证时,根据所述激活功能配置数据激活所述待激活功能。本实施例根据待激活功能的功能数据和加密芯片内存储的设备数据生成设备配置数据,并根据激活服务器基于设备配置数据下发的激活验证数据进行数据验证,并在数据验证通过时根据激活服务器下发的激活功能配置数据激活待激活功能,能够根据用户需求来激活设备端的软件功能,提高了软件功能激活的灵活性,而且将激活软件功能过程中需要用到的设备数据存储至加密芯片内,提高了软件功能激活的安全性。This embodiment proposes a method for activating a software function, which is applied to a device end. The device end is provided with an encryption chip. The method includes: generating device configuration data according to the function data of the function to be activated and the device data stored in the encryption chip. ; Upload the device configuration data to the activation server, and receive the activation verification data and activation function configuration data issued by the activation server based on the device configuration data; when the activation verification data passes the data verification, according to the The activation function configuration data activates the function to be activated. In this embodiment, the device configuration data is generated according to the function data of the function to be activated and the device data stored in the encryption chip, and the data verification is performed according to the activation verification data issued by the activation server based on the device configuration data, and when the data verification is passed, according to the activation server The issued activation function configuration data activates the function to be activated, which can activate the software function of the device according to the user's needs, improves the flexibility of software function activation, and stores the device data needed in the process of activating the software function into the encryption chip , improving the security of software function activation.
参考图4,图4为本发明软件功能激活方法第二实施例的流程示意图。Referring to FIG. 4 , FIG. 4 is a schematic flowchart of a second embodiment of a software function activation method according to the present invention.
基于上述第一实施例,在本实施例中,所述激活验证数据包括加密芯片认证密钥、验证哈希值和激活哈希值;所述步骤S30包括:Based on the first embodiment above, in this embodiment, the activation verification data includes an encrypted chip authentication key, a verification hash value and an activation hash value; the step S30 includes:
步骤S301:发送随机验证字符至所述加密芯片,并获取所述加密芯片基于所述随机验证字符反馈的验证数据。Step S301: Send a random verification character to the encryption chip, and obtain verification data fed back by the encryption chip based on the random verification character.
可以理解的是,加密芯片认证密钥可以是在向加密芯片中写入数据时,对权限进行验证的秘钥;随机验证字符可以是随机生成的用于生成验证数据的字符。加密芯片内部存储有加密芯片验证密钥,加密芯片接收到随机验证字符后,根据内部存储的加密芯片验证密钥和随机验证字符生成验证数据,并反馈生成的验证数据。It can be understood that the encryption chip authentication key may be a secret key for verifying authority when writing data into the encryption chip; the random verification character may be a randomly generated character for generating verification data. An encryption chip verification key is stored inside the encryption chip. After receiving a random verification character, the encryption chip generates verification data according to the internally stored encryption chip verification key and random verification characters, and feeds back the generated verification data.
步骤S302:根据所述加密芯片认证密钥和所述随机验证字符生成认证请求数据,并在所述认证请求数据与所述验证数据一致时,判断所述验证哈希值与设备哈希值是否一致,所述设备哈希值根据所述设备数据生成。Step S302: Generate authentication request data according to the encryption chip authentication key and the random verification character, and when the authentication request data is consistent with the verification data, determine whether the verification hash value and the device hash value Consistent, the device hash value is generated according to the device data.
在本实施例中,设备端根据加密芯片认证密钥和随机验证字符生成认证请求数据,生成认证请求数据的方式与加密芯片生成验证数据的方式相同,例如通过哈希运算的方式生成验证数据和认证请求数据。在认证请求数据与验证数据一致时,判定认证通过,继续执行后续验证;否则判定软件功能激活失败。In this embodiment, the device side generates authentication request data according to the encryption chip authentication key and random verification characters. Authentication request data. When the authentication request data is consistent with the verification data, it is determined that the authentication is passed, and the subsequent verification is continued; otherwise, it is determined that the activation of the software function fails.
可以理解的是,验证哈希值可以是激活服务器通过SHA256算法对接收到的设备配置数据中的设备数据进行哈希处理获得的哈希值;激活哈希值可以是激活服务器通过SHA256算法对接收到的设备配置数据中的功能数据进行哈希处理获得的哈希值;设备哈希值可以是设备端根据加密芯片内存储的设备数据生成的哈希值。It can be understood that the verification hash value may be the hash value obtained by the activation server through the SHA256 algorithm on the received device data in the device configuration data; the activation hash value may be the activation server through the SHA256 algorithm on the received The hash value obtained by hashing the functional data in the received device configuration data; the device hash value may be a hash value generated by the device side based on the device data stored in the encryption chip.
步骤S303:若一致,则在所述激活哈希值与功能哈希值一致时,将所述激活功能配置数据写入所述加密芯片,以激活所述待激活功能,所述功能哈希值根据所述功能数据生成。Step S303: If they are consistent, when the activation hash value is consistent with the function hash value, write the activation function configuration data into the encryption chip to activate the function to be activated, and the function hash value Generated from the functional data.
在本实施例中,功能哈希值可以是设备端根据待激活功能的功能数据生成的哈希值;在激活哈希值与功能哈希值一致时,判定接收到激活服务器下发的软件功能激活数据的设备与上传设备配置数据的设备为同一设备。In this embodiment, the function hash value may be a hash value generated by the device according to the function data of the function to be activated; when the activation hash value is consistent with the function hash value, it is determined that the software function issued by the activation server is received The device that activates the data is the same device that uploads the device configuration data.
在具体实施中,设备端根据加密芯片内存储的设备数据生成设备哈希值,根据待激活功能的功能数据生成功能哈希值,设备端在接收到激活服务器下发的软件功能激活数据时,先生成随机验证字符,并接收加密芯片基于随机验证字符生成的验证数据,并根据加密芯片认证密钥和随机验证字符生成认证请求数据,若验证数据与认证请求数据一致;则判断软件功能激活数据中的验证哈希值与设备哈希值是否一致,若一致,则继续判断软件功能激活数据中的激活哈希值与功能哈希值是否一致,若一致,则判定接收到激活服务器下发的软件功能激活数据的设备与上传设备配置数据的设备为同一设备,此时将激活功能的配置数据写入加密芯片,以激活对应的软件功能。In the specific implementation, the device side generates the device hash value according to the device data stored in the encryption chip, and generates the function hash value according to the function data of the function to be activated. When the device side receives the software function activation data issued by the activation server, Generate a random verification character first, and receive the verification data generated by the encryption chip based on the random verification character, and generate the authentication request data according to the encryption chip authentication key and the random verification character, if the verification data is consistent with the authentication request data; then judge the software function activation data Check whether the verification hash value in the device is consistent with the device hash value. If they are consistent, continue to judge whether the activation hash value in the software function activation data is consistent with the function hash value. The device that activates the software function data and the device that uploads the device configuration data are the same device. At this time, the configuration data of the activation function is written into the encryption chip to activate the corresponding software function.
进一步地,为了提高激活的安全性,所述设备数据包括已激活功能配置数据,所述激活验证数据还包括历史配置数据,所述在所述激活哈希值与所述功能哈希值一致时之后,还包括:获取所述加密芯片内存储的已激活功能配置数据,并判断所述已激活功能配置数据与所述历史配置数据是否一致;若一致,则将所述激活功能配置数据写入所述加密芯片,以激活所述待激活功能。Further, in order to improve the security of activation, the device data includes activated function configuration data, and the activation verification data also includes historical configuration data, when the activation hash value is consistent with the function hash value After that, it also includes: obtaining the activated function configuration data stored in the encryption chip, and judging whether the activated function configuration data is consistent with the historical configuration data; if they are consistent, writing the activated function configuration data into The encryption chip is used to activate the function to be activated.
可以理解的是,已激活功能配置数据可以是加密芯片内存储的已激活软件功能对应的配置数据;历史配置数据可以是设备端上传的设备配置数据中包含的配置数据;在已激活功能配置数据与历史配置数据一致时,判定接收到激活服务器下发的激活功能配置数据的设备与上传设备配置数据的设备为同一设备,此时将激活功能配置数据写入加密芯片,以激活对应的软件功能。It can be understood that the activated function configuration data may be the configuration data corresponding to the activated software function stored in the encrypted chip; the historical configuration data may be the configuration data contained in the device configuration data uploaded by the device; the activated function configuration data When it is consistent with the historical configuration data, it is determined that the device that received the activation function configuration data issued by the activation server is the same device as the device that uploaded the device configuration data. At this time, the activation function configuration data is written into the encryption chip to activate the corresponding software function .
在具体实施中,激活服务器下发的验证激活数据中包括历史配置数据,设备端先使用加密芯片认证密钥向加密芯片请求认证,若认证不通过,则判定软件功能激活失败;若认证通过,则判断设备哈希值与验证哈希值是否一致,若不一致,则激活失败,若一致,则判断激活哈希值与功能哈希值是否一致,若不一致,则激活失败,若一致,则判断历史配置数据与已激活功能配置数据是否一致,若不一致,则激活失败,若一致,则将待激活功能的最新配置数据写入加密芯片,以激活待激活功能,进一步地,还可将加密芯片内存储的已激活功能配置数据清除,仅保留待激活功能对应的最新配置数据,通过多种验证,进一步提高了激活的安全性。In the specific implementation, the verification and activation data issued by the activation server includes historical configuration data. The device first uses the encryption chip authentication key to request authentication from the encryption chip. If the authentication fails, it is determined that the activation of the software function has failed; if the authentication passes, Then judge whether the device hash value is consistent with the verification hash value. If they are not consistent, the activation will fail. If they are consistent, then judge whether the activation hash value is consistent with the function hash value. Whether the historical configuration data is consistent with the activated function configuration data, if not, the activation fails, if consistent, write the latest configuration data of the function to be activated into the encryption chip to activate the function to be activated, further, the encryption chip can also be The activated function configuration data stored in the internal memory is cleared, and only the latest configuration data corresponding to the function to be activated is retained. Through various verifications, the activation security is further improved.
本实施例发送随机验证字符至所述加密芯片,并获取所述加密芯片基于所述随机验证字符反馈的验证数据;根据所述加密芯片认证密钥和所述随机验证字符生成认证请求数据,并在所述认证请求数据与所述验证数据一致时,判断所述验证哈希值与设备哈希值是否一致,所述设备哈希值根据所述设备数据生成;若一致,则在所述激活哈希值与功能哈希值一致时,将所述激活功能配置数据写入所述加密芯片,以激活所述待激活功能,所述功能哈希值根据所述功能数据生成。本实施例通过加密芯片认证密钥、验证哈希值和激活哈希值进行多重验证,在多重验证通过时,激活软件功能,进一步提高了软件功能激活的安全性。In this embodiment, a random verification character is sent to the encryption chip, and the verification data fed back by the encryption chip based on the random verification character is obtained; authentication request data is generated according to the encryption chip authentication key and the random verification character, and When the authentication request data is consistent with the verification data, it is judged whether the verification hash value is consistent with the device hash value, and the device hash value is generated according to the device data; When the hash value is consistent with the function hash value, the activation function configuration data is written into the encryption chip to activate the function to be activated, and the function hash value is generated according to the function data. In this embodiment, multiple verifications are performed by encrypting the chip authentication key, the verification hash value, and the activation hash value. When the multiple verifications pass, the software function is activated, which further improves the security of software function activation.
参考图5,图5为本发明软件功能激活方法第三实施例的流程示意图。Referring to FIG. 5 , FIG. 5 is a schematic flowchart of a third embodiment of a software function activation method according to the present invention.
基于上述各实施例,在本实施例中,所述软件功能激活方法应用于激活服务器,包括:Based on the above embodiments, in this embodiment, the software function activation method is applied to an activation server, including:
步骤S01:从设备端上传的设备配置数据中读取设备标识信息、设备电子标签数据、芯片识别号、功能数据和已激活功能配置数据,并根据所述设备标识信息和所述功能数据判断所述设备端是否具备功能激活权限。Step S01: Read the device identification information, device electronic label data, chip identification number, function data and activated function configuration data from the device configuration data uploaded by the device, and judge the device according to the device identification information and the function data. Whether the above-mentioned device has the function activation authority.
需要说明的是,本实施例的执行主体可以是一种具有数据处理、网络通信以及程序运行功能的计算服务设备,或者是一种能够实现上述功能的电子设备、软件功能激活设备或激活服务器等。以下以激活服务器为例,对本实施例及下述各实施例进行举例说明。It should be noted that the execution subject of this embodiment may be a computing service device with data processing, network communication and program running functions, or an electronic device capable of realizing the above functions, software function activation device or activation server, etc. . The following uses an activation server as an example to illustrate this embodiment and the following embodiments.
可以理解的是,设备标识信息可以是能够唯一标识设备端的信息,例如设备标识信息包括设备ID、设备编号等;激活服务器中维护有设备标识信息和具备激活权限功能数据的映射关系,根据该映射关系可判断上传设备配置数据的设备端是否具备功能激活权限。It can be understood that the device identification information may be information that can uniquely identify the device, for example, the device identification information includes device ID, device number, etc.; the activation server maintains a mapping relationship between the device identification information and the functional data with activation rights, according to the mapping The relationship can determine whether the device that uploads the device configuration data has the function activation permission.
应该理解的是,设备电子标签数据可以是能够详细标识设备属性的数据,例如设备电子标签数据包括:设备生产厂家、操作系统、版本等。芯片识别号也可称为芯片ID,能够唯一标识加密芯片。已激活功能数据可以是设备端已经激活的功能的配置数据。It should be understood that the device electronic tag data may be data capable of identifying device attributes in detail, for example, the device electronic tag data includes: device manufacturer, operating system, version, and so on. The chip identification number can also be called the chip ID, which can uniquely identify the encryption chip. The activated function data may be configuration data of functions already activated on the device side.
步骤S02:在所述设备端具备功能激活权限时,根据所述设备标识信息、所述设备电子标签数据、所述芯片识别号、所述功能数据和所述已激活功能配置数据生成激活验证数据。Step S02: When the device has function activation authority, generate activation verification data according to the device identification information, the device electronic label data, the chip identification number, the function data and the activated function configuration data .
在具体实现中,在设备端具备功能激活权限时,根据设备配置数据中的设备标识信息、设备电子标签数据、芯片识别号、功能数据和已激活功能配置数据生成激活验证数据,并根据设备配置数据中的功能数据生成激活功能配置数据。In the specific implementation, when the device has the function activation authority, the activation verification data is generated according to the device identification information, device electronic label data, chip identification number, function data and activated function configuration data in the device configuration data, and according to the device configuration The function data in the data generates activation function configuration data.
步骤S03:根据所述功能数据生成激活功能配置数据;Step S03: Generate activation function configuration data according to the function data;
步骤S04:将所述激活验证数据和所述激活功能配置数据下发至所述设备端,以使所述设备端根据所述软件功能激活数据进行功能激活。Step S04: sending the activation verification data and the activation function configuration data to the device, so that the device performs function activation according to the software function activation data.
需要说明的是,为了提高软件功能激活的安全性,激活服务器可采用RAS密钥对的公钥对激活验证数据和激活功能配置数据进行加密,并将加密后的数据下发至设备端,设备端需采用RAS密钥对的私钥对加密数据解密后,才能进行下一步操作。It should be noted that, in order to improve the security of software function activation, the activation server can use the public key of the RAS key pair to encrypt the activation verification data and activation function configuration data, and send the encrypted data to the device. The terminal needs to use the private key of the RAS key pair to decrypt the encrypted data before proceeding to the next step.
进一步地,为了提高软件功能激活的安全性,所述根据所述设备配置数据生成软件功能激活数据,包括:根据所述设备电子标签数据和所述芯片识别号生成加密芯片认证密钥;对所述设备标识信息进行哈希处理,获得验证哈希值,并对所述功能数据进行哈希处理,获得激活哈希值;根据所述加密芯片认证密钥、所述验证哈希值、所述激活哈希值和所述已激活功能配置数据生成激活验证数据。Further, in order to improve the security of software function activation, the generating software function activation data according to the device configuration data includes: generating an encrypted chip authentication key according to the device electronic label data and the chip identification number; Perform hash processing on the device identification information to obtain a verification hash value, and perform hash processing on the functional data to obtain an activation hash value; according to the encryption chip authentication key, the verification hash value, the The activation hash value and the activated function configuration data generate activation verification data.
在具体实施中,例如激活服务器对设备电子标签数据和芯片识别号进行哈希处理,获得加密芯片认证密钥;激活服务器接收到设备端上传的设备配置数据后,通过SHA256算法对设备配置数据中的功能数据进行哈希处理,获得激活哈希值,通过SHA256算法对设备配置数据中的设备数据进行哈希处理,获得验证哈希值,加密芯片认证密钥、验证哈希值、激活哈希值和已激活功能配置数据组成激活验证数据。In the specific implementation, for example, the activation server performs hash processing on the device electronic label data and chip identification number to obtain the encrypted chip authentication key; after the activation server receives the device configuration data uploaded by the device end, it uses the SHA256 algorithm to The function data of the device is hashed to obtain the activation hash value, and the device data in the device configuration data is hashed by the SHA256 algorithm to obtain the verification hash value, and the chip authentication key, verification hash value, and activation hash are encrypted. The value and activated feature configuration data constitute the activation verification data.
进一步地,为了判断设备端是否具备功能激活权限,以提高软件功能激活的安全性,所述根据所述设备标识信息和所述功能数据判断所述设备端是否具备功能激活权限,包括:根据所述设备标识信息确定所述设备端的授权功能数据;在所述授权功能数据中存在所述功能数据时,判定所述设备端具备功能激活权限。Further, in order to determine whether the device end has the function activation authority to improve the security of software function activation, the determining whether the device end has the function activation authority according to the device identification information and the function data includes: according to the The device identification information determines the authorized function data of the device; when the function data exists in the authorized function data, it is determined that the device has the function activation authority.
可以理解的是,授权功能数据可以是设备端具备激活权限的软件功能数据;若授权功能数据中存在待激活功能的功能数据,则判定设备端具备待激活功能的激活权限。It can be understood that the authorized function data may be the software function data that the device end has the activation authority; if the function data of the function to be activated exists in the authorized function data, it is determined that the device end has the activation authority of the function to be activated.
在具体实施中,继续参照图3,图3为激活网络增强和Ether CAT功能的示意图,假设用户在设备端的功能激活程序内选择网络增强和Ether CAT功能,激活程序确定待激活功能为网络增强和Ether CAT,根据网络增强和Ether CAT生成功能数据,功能激活程序从加密芯片内读取设备ID、设备电子标签数据、芯片ID和已激活功能配置数据,根据上述数据生成设备配置文件,将该设备配置文件导出,并通过RSA密钥对的私钥将设备配置文件加密后上传至激活服务器,激活服务器接收到加密后的文件后,通过RSA密钥对的公钥对加密文件解密获得设备配置文件,激活服务器根据设备配置文件中的设备ID和功能数据判断设备端是否具备功能激活权限,若具备,根据设备电子标签数据和芯片ID生成加密芯片认证密钥;并对功能数据进行哈希处理获得激活哈希值,对设备数据进行哈希处理获得验证哈希值,并获取网络增强和Ether CAT对应的激活功能配置数据,加密芯片认证密钥、激活哈希值、验证哈希值和历史配置数据组成激活验证数据,采用RAS密钥将的公钥对将激活验证数据和激活功能配置数据加密后下发至设备端,设备端接收到加密文件后,利用RSA密钥对的私钥对加密文件解密得到激活验证数据和激活功能配置数据,根据激活验证数据中的加密芯片认证密钥向加密芯片发出认证请求,若认证请求未通过,则激活失败;若认证请求通过,设备端获取根据设备端自身的功能数据和加密芯片内的设备数据生成功能哈希值和设备哈希值,比对设备哈希值与验证哈希值是否一致,若不一致,则激活失败,若一致,则比对功能哈希值和激活哈希值是否一致,若不一致,则激活失败,若一致,则比对历史配置数据与加密芯片内存储的配置数据是否一致,若不一致,则激活失败,若一致,则将网络增强和Ether CAT的配置数据写入加密芯片,并根据该配置数据进行参数配置,以在设备端激活网络增强和Ether CAT功能。In specific implementation, continue to refer to Fig. 3, Fig. 3 is the synoptic diagram of activating network enhancement and Ether CAT function, suppose the user selects network enhancement and Ether CAT function in the function activation program of device end, and activation procedure determines that the function to be activated is network enhancement and Ether CAT function Ether CAT, according to network enhancement and Ether CAT to generate functional data, the function activation program reads the device ID, device electronic label data, chip ID and activated function configuration data from the encrypted chip, generates a device configuration file based on the above data, and activates the device The configuration file is exported, and the device configuration file is encrypted by the private key of the RSA key pair and uploaded to the activation server. After the activation server receives the encrypted file, the encrypted file is decrypted by the public key of the RSA key pair to obtain the device configuration file. , the activation server judges whether the device has the function activation authority according to the device ID and function data in the device configuration file, and if so, generates an encrypted chip authentication key according to the device electronic label data and chip ID; and performs hash processing on the function data to obtain Activate the hash value, hash the device data to obtain the verification hash value, and obtain the activation function configuration data corresponding to network enhancement and Ether CAT, encrypt the chip authentication key, activation hash value, verification hash value and historical configuration The data constitutes the activation verification data. The public key pair of the RAS key is used to encrypt the activation verification data and activation function configuration data and then send it to the device. After receiving the encrypted file, the device uses the private key pair of the RSA key pair to encrypt The file is decrypted to obtain activation verification data and activation function configuration data, and an authentication request is sent to the encryption chip according to the encryption chip authentication key in the activation verification data. If the authentication request fails, the activation fails; if the authentication request passes, the device obtains the The terminal's own functional data and the device data in the encryption chip generate a function hash value and a device hash value, and compare whether the device hash value is consistent with the verification hash value. If they are not consistent, the activation fails. If they are consistent, compare Whether the function hash value is consistent with the activation hash value. If they are inconsistent, the activation fails. If they are consistent, compare whether the historical configuration data is consistent with the configuration data stored in the encrypted chip. If they are inconsistent, the activation fails. Write the configuration data of network enhancement and Ether CAT into the encryption chip, and perform parameter configuration according to the configuration data to activate the network enhancement and Ether CAT functions on the device side.
本实施例从设备端上传的设备配置数据中读取设备标识信息、设备电子标签数据、芯片识别号、功能数据和已激活功能配置数据,并根据所述设备标识信息和所述功能数据判断所述设备端是否具备功能激活权限;在所述设备端具备功能激活权限时,根据所述设备标识信息、所述设备电子标签数据、所述芯片识别号、所述功能数据和所述已激活功能配置数据生成激活验证数据;根据所述功能数据生成激活功能配置数据;将所述激活验证数据和所述激活功能配置数据下发至所述设备端,以使所述设备端进行功能激活。本实施例在根据设备配置数据中的设备标识信息和功能数据判断设备端具备功能激活权限时,将激活验证数据和激活功能配置数据下发至设备端,使得设备端在激活验证数据通过数据验证后,根据激活功能配置数据激活软件功能,能够根据用户需求来激活软件功能,提高了软件功能激活的灵活性和安全性,并且能够适用于工业应用场景。In this embodiment, the device identification information, device electronic label data, chip identification number, function data, and activated function configuration data are read from the device configuration data uploaded by the device side, and the device identification information and the function data are used to determine the Whether the device end has the function activation authority; when the device end has the function activation authority, according to the device identification information, the device electronic label data, the chip identification number, the function data and the activated function Generate activation verification data from the configuration data; generate activation function configuration data according to the function data; send the activation verification data and the activation function configuration data to the device end, so that the device end performs function activation. In this embodiment, when judging that the device has function activation authority according to the device identification information and function data in the device configuration data, the activation verification data and activation function configuration data are sent to the device, so that the device passes the data verification in the activation verification data Finally, the software function is activated according to the activation function configuration data, and the software function can be activated according to user requirements, which improves the flexibility and security of software function activation, and is applicable to industrial application scenarios.
此外,本发明实施例还提出一种存储介质,所述存储介质上存储有软件功能激活程序,所述软件功能激活程序被处理器执行时实现如上文所述的软件功能激活方法的步骤。In addition, an embodiment of the present invention also proposes a storage medium, on which a software function activation program is stored, and when the software function activation program is executed by a processor, the steps of the method for activating the software function as described above are implemented.
参照图6,图6为本发明软件功能激活装置第一实施例的结构框图。Referring to FIG. 6 , FIG. 6 is a structural block diagram of the first embodiment of the device for activating software functions according to the present invention.
如图6所示,本发明实施例提出的软件功能激活装置包括:As shown in Figure 6, the software function activation device proposed by the embodiment of the present invention includes:
生成模块10,用于根据待激活功能的功能数据和所述加密芯片内存储的设备数据生成设备配置数据;A generating
上传模块20,用于将所述设备配置数据上传至激活服务器,并接收所述激活服务器基于所述设备配置数据下发的激活验证数据和激活功能配置数据;The upload
激活模块30,用于在所述激活验证数据通过数据验证时,根据所述激活功能配置数据激活所述待激活功能。The
本实施例根据待激活功能的功能数据和加密芯片内存储的设备数据生成设备配置数据,并根据激活服务器基于设备配置数据下发的激活验证数据进行数据验证,并在数据验证通过时根据激活服务器下发的激活功能配置数据激活待激活功能,能够根据用户需求来激活设备端的软件功能,提高了软件功能激活的灵活性,而且将激活软件功能过程中需要用到的设备数据存储至加密芯片内,提高了软件功能激活的安全性。In this embodiment, the device configuration data is generated according to the function data of the function to be activated and the device data stored in the encryption chip, and the data verification is performed according to the activation verification data issued by the activation server based on the device configuration data, and when the data verification is passed, according to the activation server The issued activation function configuration data activates the function to be activated, which can activate the software function of the device according to the user's needs, improves the flexibility of software function activation, and stores the device data needed in the process of activating the software function into the encryption chip , improving the security of software function activation.
基于本发明上述软件功能激活装置第一实施例,提出本发明软件功能激活装置的第二实施例。Based on the above first embodiment of the software function activating device of the present invention, a second embodiment of the software function activating device of the present invention is proposed.
在本实施例中,所述激活模块30,还用于发送随机验证字符至所述加密芯片,并获取所述加密芯片基于所述随机验证字符反馈的验证数据;根据所述加密芯片认证密钥和所述随机验证字符生成认证请求数据,并在所述认证请求数据与所述验证数据一致时,判断所述验证哈希值与设备哈希值是否一致,所述设备哈希值根据所述设备数据生成;若一致,则在所述激活哈希值与功能哈希值一致时,将所述激活功能配置数据写入所述加密芯片,以激活所述待激活功能,所述功能哈希值根据所述功能数据生成;所述激活验证数据包括加密芯片认证密钥、验证哈希值和激活哈希值。In this embodiment, the
所述激活模块30,还用于获取所述加密芯片内存储的已激活功能配置数据,并判断所述已激活功能配置数据与所述历史配置数据是否一致;若一致,则将所述激活功能配置数据写入所述加密芯片,以激活所述待激活功能;所述设备数据包括已激活功能配置数据,所述激活验证数据还包括历史配置数据。The
所述生成模块10,还用于根据用户选择的待激活功能生成功能数据;在对输入至加密芯片的密文信息验证通过时,从所述加密芯片的存储区域内读取设备数据。The
参照图7,图7为本发明软件功能激活装置第三实施例的结构框图。Referring to FIG. 7 , FIG. 7 is a structural block diagram of a third embodiment of an apparatus for activating software functions according to the present invention.
如图7所示,本发明实施例提出的软件功能激活装置包括:As shown in Figure 7, the software function activation device proposed by the embodiment of the present invention includes:
判断模块40,用于从设备端上传的设备配置数据中读取设备标识信息、设备电子标签数据、芯片识别号、功能数据和已激活功能配置数据,并根据所述设备标识信息和所述功能数据判断所述设备端是否具备功能激活权限;
验证数据生成模块50,用于在所述设备端具备功能激活权限时,根据所述设备标识信息、所述设备电子标签数据、所述芯片识别号、所述功能数据和所述已激活功能配置数据生成激活验证数据;The verification
配置数据生成模块60,用于根据所述功能数据生成激活功能配置数据Configuration data generating module 60, configured to generate activation function configuration data according to the function data
下发模块70,用于将所述激活验证数据和所述激活功能配置数据下发至所述设备端,以使所述设备端进行功能激活。A sending
进一步地,所述验证数据生成模块50,还用于根据所述设备电子标签数据和所述芯片识别号生成加密芯片认证密钥;对所述设备标识信息进行哈希处理,获得验证哈希值,并对所述功能数据进行哈希处理,获得激活哈希值;根据所述加密芯片认证密钥、所述验证哈希值、所述激活哈希值和所述已激活功能配置数据生成激活验证数据。Further, the verification
进一步地,所述判断模块40,还用于根据所述设备标识信息确定所述设备端的授权功能数据;在所述授权功能数据中存在所述功能数据时,判定所述设备端具备功能激活权限。Further, the judging
本发明软件功能激活装置的其他实施例或具体实现方式可参照上述各方法实施例,此处不再赘述。For other embodiments or specific implementations of the device for activating software functions of the present invention, reference may be made to the above-mentioned method embodiments, which will not be repeated here.
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者系统不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者系统所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者系统中还存在另外的相同要素。It should be noted that, as used herein, the term "comprises", "comprises" or any other variation thereof is intended to cover a non-exclusive inclusion such that a process, method, article or system comprising a set of elements includes not only those elements, It also includes other elements not expressly listed, or elements inherent in the process, method, article, or system. Without further limitations, an element defined by the phrase "comprising a..." does not preclude the presence of additional identical elements in the process, method, article or system comprising that element.
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。The serial numbers of the above embodiments of the present invention are for description only, and do not represent the advantages and disadvantages of the embodiments.
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如只读存储器/随机存取存储器、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本发明各个实施例所述的方法。Through the description of the above embodiments, those skilled in the art can clearly understand that the methods of the above embodiments can be implemented by means of software plus a necessary general-purpose hardware platform, and of course also by hardware, but in many cases the former is better implementation. Based on this understanding, the technical solution of the present invention can be embodied in the form of software products in essence or in other words, the part that contributes to the prior art, and the computer software products are stored in a storage medium (such as read-only memory/random access memory, magnetic disk, optical disk), including several instructions to make a terminal device (which can be a mobile phone, computer, server, air conditioner, or network equipment, etc.) execute the methods described in various embodiments of the present invention.
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。The above are only preferred embodiments of the present invention, and are not intended to limit the patent scope of the present invention. Any equivalent structure or equivalent process conversion made by using the description of the present invention and the contents of the accompanying drawings, or directly or indirectly used in other related technical fields , are all included in the scope of patent protection of the present invention in the same way.
Claims (10)
Priority Applications (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN202211600561.6A CN116016168B (en) | 2022-12-12 | 2022-12-12 | Software function activation method, device, equipment and storage medium |
| PCT/CN2023/095347 WO2024124804A1 (en) | 2022-12-12 | 2023-05-19 | Software function activation method, apparatus and device, and storage medium |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN202211600561.6A CN116016168B (en) | 2022-12-12 | 2022-12-12 | Software function activation method, device, equipment and storage medium |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| CN116016168A true CN116016168A (en) | 2023-04-25 |
| CN116016168B CN116016168B (en) | 2024-09-20 |
Family
ID=86022378
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| CN202211600561.6A Active CN116016168B (en) | 2022-12-12 | 2022-12-12 | Software function activation method, device, equipment and storage medium |
Country Status (2)
| Country | Link |
|---|---|
| CN (1) | CN116016168B (en) |
| WO (1) | WO2024124804A1 (en) |
Cited By (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| WO2024124804A1 (en) * | 2022-12-12 | 2024-06-20 | 深圳市汇川技术股份有限公司 | Software function activation method, apparatus and device, and storage medium |
| CN118395517A (en) * | 2024-06-25 | 2024-07-26 | 北京芯驰半导体科技股份有限公司 | Information processing method and system for chip development and electronic equipment |
Citations (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN101404052A (en) * | 2008-05-04 | 2009-04-08 | 北京深思洛克软件技术股份有限公司 | Method for remotely activating software |
| AU2017206968A1 (en) * | 2016-01-15 | 2018-07-12 | Nuovo Pignone Tecnologie Srl | Industrial control system management |
| CN112307443A (en) * | 2020-12-29 | 2021-02-02 | 畅捷通信息技术股份有限公司 | Product activation method, apparatus, system, storage medium and computing device |
| CN113965360A (en) * | 2021-09-29 | 2022-01-21 | 达闼科技(北京)有限公司 | Intelligent device cloud server access method, device, medium, device and system |
Family Cites Families (9)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP4769608B2 (en) * | 2006-03-22 | 2011-09-07 | 富士通株式会社 | Information processing apparatus having start verification function |
| US20120130838A1 (en) * | 2006-09-24 | 2012-05-24 | Rfcyber Corp. | Method and apparatus for personalizing secure elements in mobile devices |
| CN106778084A (en) * | 2016-11-18 | 2017-05-31 | 畅捷通信息技术股份有限公司 | Software activation method and device and software activation system |
| CN109241701A (en) * | 2018-08-31 | 2019-01-18 | 郑州云海信息技术有限公司 | A kind of application program Activiation method, correlation technique and relevant apparatus |
| CN114896570B (en) * | 2020-05-27 | 2025-08-12 | 支付宝(杭州)信息技术有限公司 | Method, equipment and system for installation management of applet application |
| CN112398818B (en) * | 2020-11-02 | 2023-03-07 | 深圳数联天下智能科技有限公司 | Software activation method and related device thereof |
| DE102021110143A1 (en) * | 2021-04-21 | 2022-10-27 | Bundesdruckerei Gmbh | Creation of a cryptographically secured electronic identity |
| CN114925336A (en) * | 2022-05-06 | 2022-08-19 | 统信软件技术有限公司 | Method and system for activating software |
| CN116016168B (en) * | 2022-12-12 | 2024-09-20 | 深圳市汇川技术股份有限公司 | Software function activation method, device, equipment and storage medium |
-
2022
- 2022-12-12 CN CN202211600561.6A patent/CN116016168B/en active Active
-
2023
- 2023-05-19 WO PCT/CN2023/095347 patent/WO2024124804A1/en not_active Ceased
Patent Citations (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN101404052A (en) * | 2008-05-04 | 2009-04-08 | 北京深思洛克软件技术股份有限公司 | Method for remotely activating software |
| AU2017206968A1 (en) * | 2016-01-15 | 2018-07-12 | Nuovo Pignone Tecnologie Srl | Industrial control system management |
| CN112307443A (en) * | 2020-12-29 | 2021-02-02 | 畅捷通信息技术股份有限公司 | Product activation method, apparatus, system, storage medium and computing device |
| CN113965360A (en) * | 2021-09-29 | 2022-01-21 | 达闼科技(北京)有限公司 | Intelligent device cloud server access method, device, medium, device and system |
Non-Patent Citations (2)
| Title |
|---|
| YUE ZENG; SONGTAO GUO; GUIYAN LIU; PAN LI; YUANYUAN YANG: "Energy-Efficient Device Activation, Rule Installation and Data Transmission in Software Defined DCNs", IEEE, 16 October 2019 (2019-10-16) * |
| 何永瑾;郭肖旺;赵德政;: "基于注册码的软件授权保护系统的设计与实现", 信息技术与网络安全, no. 05, 10 May 2020 (2020-05-10) * |
Cited By (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| WO2024124804A1 (en) * | 2022-12-12 | 2024-06-20 | 深圳市汇川技术股份有限公司 | Software function activation method, apparatus and device, and storage medium |
| CN118395517A (en) * | 2024-06-25 | 2024-07-26 | 北京芯驰半导体科技股份有限公司 | Information processing method and system for chip development and electronic equipment |
Also Published As
| Publication number | Publication date |
|---|---|
| CN116016168B (en) | 2024-09-20 |
| WO2024124804A1 (en) | 2024-06-20 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US9270466B2 (en) | System and method for temporary secure boot of an electronic device | |
| US7908483B2 (en) | Method and apparatus for binding TPM keys to execution entities | |
| US7313828B2 (en) | Method and apparatus for protecting software against unauthorized use | |
| US8060751B2 (en) | Access-control method for software module and programmable electronic device therefor | |
| US10038681B2 (en) | Method for managing an access from a remote device to data accessible from a local device and corresponding system | |
| US7353385B2 (en) | Authentication system, authentication method, authentication apparatus, and authentication method therefor | |
| US10021104B2 (en) | Method for operating a security element | |
| JP2008287335A (en) | Authentication information management system, authentication information management server, authentication information management method and program | |
| CN112513844A (en) | Secure element for processing and authenticating digital keys and method of operation thereof | |
| CN110621014A (en) | Vehicle-mounted equipment, program upgrading method thereof and server | |
| CN111917536A (en) | Identity authentication key generation method, identity authentication method, device and system | |
| CN116016168A (en) | Software function activation method, device, equipment and storage medium | |
| CN110659522A (en) | Storage medium security authentication method and device, computer equipment and storage medium | |
| CN117910057A (en) | Operation method of trusted execution environment, computer architecture system and encrypted hard disk | |
| AU2019279983B2 (en) | Secure access to encrypted data of a user terminal | |
| US9674272B2 (en) | Information processing apparatus and method, and program | |
| CN110533128B (en) | Encryption-based anti-counterfeiting traceability data processing method, device, system and medium | |
| JP6860464B2 (en) | System and management method | |
| CN117492636B (en) | Data storage method and electronic equipment | |
| CN115037496A (en) | Endpoint customization via online firmware stores | |
| US10565356B2 (en) | Method, printing device and system for printing a three dimensional object | |
| CN115756314B (en) | NVRAM data processing method, electronic device and readable storage medium | |
| CN113506390B (en) | Access control method, device, equipment and readable storage medium | |
| US20230098969A1 (en) | Sim, communication device, and writing method for application | |
| JP7170588B2 (en) | Data processing method and data processing system |
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 | ||
| GR01 | Patent grant | ||
| GR01 | Patent grant | ||
| TR01 | Transfer of patent right | ||
| TR01 | Transfer of patent right |
Effective date of registration: 20251112 Address after: 710100 Shaanxi Province Xi'an City Xixang New District Fengdong New City Planning Hongguang Avenue South Tongxie Innovation Port Academic Research Square Building B 6th Floor 601 Patentee after: Xi'an Huichuan Technology R&D Center Co.,Ltd. Country or region after: China Address before: 518000 Huichuan technology headquarters building, Guanlan high tech Industrial Park, Longhua New District, Shenzhen City, Guangdong Province Patentee before: SHENZHEN INOVANCE TECHNOLOGY Co.,Ltd. Country or region before: China |