CN108897995A - 一种结合嵌入式设备的嵌入式软件加密注册方法 - Google Patents
一种结合嵌入式设备的嵌入式软件加密注册方法 Download PDFInfo
- Publication number
- CN108897995A CN108897995A CN201810630765.1A CN201810630765A CN108897995A CN 108897995 A CN108897995 A CN 108897995A CN 201810630765 A CN201810630765 A CN 201810630765A CN 108897995 A CN108897995 A CN 108897995A
- Authority
- CN
- China
- Prior art keywords
- embedded
- registration
- embedded device
- software
- registration code
- 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.)
- Withdrawn
Links
- 238000000034 method Methods 0.000 title claims abstract description 28
- 238000005538 encapsulation Methods 0.000 claims abstract description 5
- 230000006870 function Effects 0.000 claims description 5
- 230000000694 effects Effects 0.000 claims description 3
- 238000012986 modification Methods 0.000 claims description 3
- 230000004048 modification Effects 0.000 claims description 3
- 238000005336 cracking Methods 0.000 abstract description 3
- 238000012544 monitoring process Methods 0.000 description 4
- 230000008569 process Effects 0.000 description 4
- 230000008901 benefit Effects 0.000 description 2
- 230000009191 jumping Effects 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 125000004122 cyclic group Chemical group 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 238000003780 insertion Methods 0.000 description 1
- 230000037431 insertion Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 238000012827 research and development Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/10—Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
- G06F21/12—Protecting executable software
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Multimedia (AREA)
- Technology Law (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Storage Device Security (AREA)
Abstract
本发明公开了一种结合嵌入式设备的嵌入式软件加密注册方法,将嵌入式软件与连接的嵌入式设备的核心处理器ID进行绑定,以嵌入式设备的核心处理器ID作和时间为加密的参数变量,用aes算法中的Rijndael算法进行加密生成注册码,生成的注册码和嵌入式设备的核心处理器ID用crc算法进行二次封装加密,防止注册码相互传递的过程中出现错误,实现嵌入式软件的注册加密,保证了嵌入式软件的正常安全可靠运行,也有效防止恶意竞争对手的对管理软件的恶意破解,降低了原厂家的损失。
Description
技术领域
本发明涉及一种加密方法技术领域有,尤其涉及一种结合嵌入式设备的嵌入式软件加密注册方法。
背景技术
目前一些行业使用的在线监测、在线监控等科技化信息化手段进行管理,提高了管理水平,降低和杜绝了因管理不当造成的损失,但是,这些在线监测、在线监控等科技化信息化手段都离不开相应的硬件产品和管理软件,相关厂家研发这些高稳定性和可靠性的硬件产品花费的研发成本很高,但是有一些竞争对手,为了省力,会对同行的这些产品进行破解,而部分用户为了节省费用也愿意使用破解后的产品,这往往给原厂家造成很大的损失,为了防止这种现象,很多厂家都会采用加密方法来防止产品被破解。
目前,大多数的厂家采用的都是比较简单的加密方法,当用户更改系统时间后,就有可能将加密方法破坏,导致破解,少数厂家采用比较简单的硬件加密,比如:交换总线、使用替代RAM、使用GAL器件、对器件外EPROM中的软件进行加密,这样做也确实在一定程度上增大了破解产品的难度,但总体上看产品仍然有较大的可能被破解,加密效果不理想。
发明内容
针对上述问题,本发明公开了一种结合嵌入式设备的嵌入式软件加密注册方法,结合嵌入式设备的核心处理器ID,采用高级加密算法,生成注册码,并附加循环冗余校验码,对生成的注册码和嵌入式设备的核心处理器ID进行二次封装,实现嵌入式软件的注册加密,保证了嵌入式软件的正常安全可靠运行,也有效防止恶意竞争对手的对管理软件的恶意破解,降低了原厂家的损失。
为了实现上述目的,本发明采用如下技术方案:
一种结合嵌入式设备的嵌入式软件加密注册方法,将嵌入式软件与连接的嵌入式设备的核心处理器ID进行绑定,以嵌入式设备的核心处理器ID和时间作为加密的参数变量,用aes算法中的Rijndael算法进行加密生成注册码,生成的注册码和嵌入式设备的核心处理器ID用crc算法进行二次封装加密,防止注册码相互传递的过程中出现错误。
优选的,采用绑定嵌入式设备的核心处理器ID的方式,每个嵌入式设备的核心处理器ID都有一个世界唯一ID,不同ID的嵌入式设备的核心处理器中软件代码是不同的,每个处理器包含有一种独一无二的软件代码,所有的软件功能均与ID号绑定。
优选的,时间也是一个非常重要的加密的参数变量,包括生成注册码时的标准时间、注册码未注册过期时间、注册码注册后使用时间,不同时间基于同一个嵌入式设备的核心处理器ID用aes算法中的Rijndael算法进行加密生成注册码不同。
优选的,用aes算法中的Rijndael算法进行加密生成注册码只能用于对应的嵌入式设备中运行的嵌入式软件,生成的注册码超过有效期未注册,则将失效不能使用;生成的注册码只能注册一次;嵌入式设备中运行的嵌入式软件中包含了crc算法和用aes算法中的Rijndael算法用于注册码的验证和解密注册。
优选的,已经注册的注册码,对于外部修改系统时间不受干扰,即到有效期结束失效。
优选的,已经注册的注册码,对于突然断电等意外情况发生,也不受影响,即到有效期结束失效。
优选的,嵌入式设备的硬件架构包括核心处理器内核、存储器、RTC时钟和触摸屏,所述核心处理器内核处于所述架构的中央,所述存储器、RTC时钟和触摸屏都围绕着所述核心处理器内核来验证、运算、显示、读取和存储相应的数据,嵌入式软件存储于存储器中,嵌入式软件的运行需要核心处理器内核、存储器、RTC时钟和触摸屏协同。
嵌入式设备中运行的软件包括主程序,TRC子程序和注册子程序。
嵌入式设备中运行的软件的主程序运行流程为:开机运行软件,读取存储器内的注册码,如果没有注册码,则直接跳转到注册子程序,如果已经有注册码,但注册码已经到期失效或是无效注册码,则也直接跳转到注册子程序,如果注册码有效,则运行RTC子程序,然后进入正常系统功能。
嵌入式设备中运行的软件的RTC子程序的运行流程为:主程序开始运行,读取RTC时间,读取存储器备份时间,将两种时间进行对比,如果RTC时间比备份时间靠后,且二者相差不为0点,则RTC子程序正常;如果RTC时间与备份时间相同,即二者相差为0点,则剩余可用天数再减去1备份时间到存储器中,然后再次对比,如果二者相差不为0点,则表示RTC子程序正常;如果RTC时间比备份时间靠前,则重置RTC时间为备份时间,将剩余可用天数减去1备份到存储器中,重置后的备份到存储器的时间与RTC时间再次对比,如果二者相差为0点,则将剩余可用天数再减去1备份时间到存储器中,然后再次对比,如果二者相差不为0点,则表示RTC子程序正常,RTC子程序结束。
嵌入式设备中运行的嵌入式软件的注册子程序流程步骤如下:
步骤1:开始运行软件;
步骤2:软件检测是否收到注册码;
步骤3:若收到注册码,则解析注册码,进行下一步骤,若未收到注册码,则直接跳转到步骤7;
步骤4:验证收到的注册码是否有效,若有效,则进行下一步骤;若无效,则直接跳转到步骤7;
步骤5:验证注册码是否被使用过,若未被使用过,则进行下一步骤;若被使用过,则直接跳转到步骤7;
步骤6:验证通过的注册码,被写入存储器,注册成功,软件正常运行;
步骤7:没有注册码或错误注册码,则软件返回开机画面。
与现有技术相比,本发明的有益效果是:
1、本发明的一种结合嵌入式设备的嵌入式软件加密注册方法,不需要采用加密狗,也不要外围增加加密芯片,加密方式简单,可靠。
2、本发明的一种结合嵌入式设备的嵌入式软件加密注册方法,支持嵌入式软件在有效期内软件的升级,易于维护。
3、本发明的一种结合嵌入式设备的嵌入式软件加密注册方法,嵌入式软件与所运行该软件的嵌入式设备的核心处理器ID紧密结合,只有包含有该嵌入式设备的核心处理器ID信息的注册码才能被注册,否则,嵌入式软件将无法正常运行。
4、本发明的一种结合嵌入式设备的嵌入式软件加密注册方法,维护了原厂商的权益,有效的防止了竞争对手的恶意破解和恶意竞争。
附图说明
图1为本发明的嵌入式设备的硬件架构图。
图2为本发明的主程序流程图
图3为本发明的RTC子程序流程图。
图4为本发明的注册子程序流程图。
具体实施方式
为了使本发明的目的,技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用于解释本发明,并不用于限定本发明。
如图1所示,嵌入式设备的硬件架构包括型号为ARM Cortex-M3内核1,存储器2、RTC时钟4和触摸屏3,所述ARM Cortex-M3内核1处于所述架构的中央,所述存储器2、RTC时钟4和触摸屏3都围绕着所述ARM Cortex-M3内核1来验证、运算、显示、读取和存储相应的数据。
嵌入式软件存储于存储器2中,嵌入式软件的运行需要ARM Cortex-M3内核1、存储器2、RTC时钟4和触摸屏2协同。
嵌入式设备中运行的软件包括主程序,TRC子程序和注册子程序。
如图2所示,嵌入式设备中运行的软件的主程序运行流程为:开机运行软件,读取存储器内的注册码,如果没有注册码,则直接跳转到注册子程序,如果已经有注册码,但注册码已经到期失效或是无效注册码,则也直接跳转到注册子程序,如果注册码有效,则运行RTC子程序,然后进入正常系统功能。
如图3所示,嵌入式设备中运行的软件的RTC子程序的运行流程为:主程序开始运行,读取RTC时间,读取存储器备份时间,将两种时间进行对比,如果RTC时间比备份时间靠后,且二者相差不为0点,则RTC子程序正常;如果RTC时间与备份时间相同,即二者相差为0点,则剩余可用天数再减去1备份时间到存储器中,然后再次对比,如果二者相差不为0点,则表示RTC子程序正常;如果RTC时间比备份时间靠前,则重置RTC时间为备份时间,将剩余可用天数减去1备份到存储器中,重置后的备份到存储器的时间与RTC时间再次对比,如果二者相差为0点,则将剩余可用天数再减去1备份时间到存储器中,然后再次对比,如果二者相差不为0点,则表示RTC子程序正常,RTC子程序结束。
如图4所示,嵌入式设备中运行的嵌入式软件的注册子程序流程步骤如下:
步骤1:开始运行软件;
步骤2:软件检测是否收到注册码;
步骤3:若收到注册码,则解析注册码,进行下一步骤,若未收到注册码,则直接跳转到步骤7;
步骤4:验证收到的注册码是否有效,若有效,则进行下一步骤;若无效,则直接跳转到步骤7;
步骤5:验证注册码是否被使用过,若未被使用过,则进行下一步骤;若被使用过,则直接跳转到步骤7;
步骤6:验证通过的注册码,被写入存储器,注册成功,软件正常运行;
步骤7:没有注册码或错误注册码,则软件返回开机画面。
一种结合嵌入式设备的嵌入式软件加密注册方法,将嵌入式软件与连接的嵌入式设备的型号为ARM Cortex-M3内核1的ID进行绑定,以嵌入式设备的ARM Cortex-M3内核1的ID和时间作为加密的参数变量,用aes算法中的Rijndael算法进行加密生成注册码,生成的注册码和嵌入式设备的ARM Cortex-M3内核1的ID用crc算法进行二次封装加密,防止注册码相互传递的过程中出现错误。
采用绑定嵌入式设备的ARM Cortex-M3内核1的ID的方式,每个嵌入式设备的ARMCortex-M3内核1的ID都有一个世界唯一ID,不同ID的嵌入式设备的核心处理器中软件代码是不同的,每个处理器包含有一种独一无二的软件代码,所有的软件功能均与ID号绑定。
时间也是一个非常重要的加密的参数变量,包括生成注册码时的标准时间、注册码未注册过期时间、注册码注册后使用时间,不同时间基于同一个嵌入式设备的核心处理器ID用aes算法中的Rijndael算法进行加密生成注册码不同。
用aes算法中的Rijndael算法进行加密生成注册码只能用于对应的嵌入式设备中运行的嵌入式软件,生成的注册码超过有效期未注册,则将失效不能使用;生成的注册码只能注册一次;嵌入式设备中运行的嵌入式软件中包含了rcr算法和用aes算法中的Rijndael算法用于注册码的验证和解密注册。
已经注册的注册码,对于外部修改系统时间不受干扰,即到有效期结束失效。
已经注册的注册码,对于突然断电等意外情况发生,也不受影响,即到有效期结束失效。
以上所述,仅为本发明实施例的具体实施方式,但本发明的实施例的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围内。
Claims (6)
1.一种结合嵌入式设备的嵌入式软件加密注册方法,其特征在于:将嵌入式软件与连接的嵌入式设备的核心处理器ID进行绑定,以嵌入式设备的核心处理器ID和时间作为加密的参数变量,用aes算法中的Rijndael算法进行加密生成注册码,生成的注册码和嵌入式设备的核心处理器ID用crc算法进行二次封装加密,防止注册码相互传递的过程中出现错误。
2.根据权利要求1所述的一种结合嵌入式设备的嵌入式软件加密注册方法,其特征在于:采用绑定嵌入式设备的核心处理器ID的方式,每个嵌入式设备的核心处理器ID都有一个世界唯一ID,不同ID的嵌入式设备的核心处理器中软件代码是不同的,每个处理器包含有一种独一无二的软件代码,所有的软件功能均与ID号绑定。
3.根据权利要求1所述的一种结合嵌入式设备的嵌入式软件加密注册方法,其特征在于:时间也是一个非常重要的加密的参数变量,包括生成注册码时的标准时间、注册码未注册过期时间、注册码注册后使用时间,不同时间基于同一个嵌入式设备的核心处理器ID用aes算法中的Rijndael算法进行加密生成注册码不同。
4.根据权利要求1-3任一项所述的一种结合嵌入式设备的嵌入式软件加密注册方法,其特征在于:用aes算法中的Rijndael算法进行加密生成注册码只能用于对应的嵌入式设备中运行的嵌入式软件,生成的注册码超过有效期未注册,则将失效不能使用;生成的注册码只能注册一次;嵌入式设备中运行的嵌入式软件中包含了crc算法和用aes算法中的Rijndael算法用于注册码的验证和解密注册。
5.根据权利要求1或4所述的一种结合嵌入式设备的嵌入式软件加密注册方法,其特征在于:已经注册的注册码,对于外部修改系统时间不受干扰,即到有效期结束失效。
6.根据权利要求1或4所述的一种结合嵌入式设备的嵌入式软件加密注册方法,其特征在于:已经注册的注册码,对于突然断电等意外情况发生,也不受影响,即到有效期结束失效。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810630765.1A CN108897995A (zh) | 2018-06-19 | 2018-06-19 | 一种结合嵌入式设备的嵌入式软件加密注册方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810630765.1A CN108897995A (zh) | 2018-06-19 | 2018-06-19 | 一种结合嵌入式设备的嵌入式软件加密注册方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN108897995A true CN108897995A (zh) | 2018-11-27 |
Family
ID=64345620
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810630765.1A Withdrawn CN108897995A (zh) | 2018-06-19 | 2018-06-19 | 一种结合嵌入式设备的嵌入式软件加密注册方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108897995A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112182666A (zh) * | 2020-09-27 | 2021-01-05 | 山东超越数控电子股份有限公司 | 一种基于bmc管理板的bmc软件加密注册方法及工具 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1740940A (zh) * | 2005-09-09 | 2006-03-01 | 北京兆日科技有限责任公司 | 基于可信计算模块芯片实现计算机软件防盗版的方法 |
CN103177211A (zh) * | 2011-12-22 | 2013-06-26 | 苏州威世博知识产权服务有限公司 | 软件的用户端注册方法及系统 |
CN104966003A (zh) * | 2015-06-12 | 2015-10-07 | 国电南京自动化股份有限公司 | 嵌入式设备加密与验证方法 |
CN106919810A (zh) * | 2017-02-22 | 2017-07-04 | 广州广电运通金融电子股份有限公司 | 注册码生成方法及装置、软件注册方法及装置 |
-
2018
- 2018-06-19 CN CN201810630765.1A patent/CN108897995A/zh not_active Withdrawn
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1740940A (zh) * | 2005-09-09 | 2006-03-01 | 北京兆日科技有限责任公司 | 基于可信计算模块芯片实现计算机软件防盗版的方法 |
CN103177211A (zh) * | 2011-12-22 | 2013-06-26 | 苏州威世博知识产权服务有限公司 | 软件的用户端注册方法及系统 |
CN104966003A (zh) * | 2015-06-12 | 2015-10-07 | 国电南京自动化股份有限公司 | 嵌入式设备加密与验证方法 |
CN106919810A (zh) * | 2017-02-22 | 2017-07-04 | 广州广电运通金融电子股份有限公司 | 注册码生成方法及装置、软件注册方法及装置 |
Non-Patent Citations (2)
Title |
---|
BERG, ROELOF等: "Highly efficient image registration for embedded systems using a distributed multicore DSP architecture", 《JOURNAL OF REAL-TIME IMAGE PROCESSING》 * |
张玉刚: "一种加密软件注册码的研究及实现", 《中国优秀硕士学位论文全文数据库 (信息科技辑)》 * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112182666A (zh) * | 2020-09-27 | 2021-01-05 | 山东超越数控电子股份有限公司 | 一种基于bmc管理板的bmc软件加密注册方法及工具 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8315382B2 (en) | Method for monitoring execution of data processing program instructions in a security module | |
KR101256149B1 (ko) | 프로그램 카운터 인코딩을 이용한 간접 함수 호출 보호 방법 및 보호 장치 | |
CN100481102C (zh) | 用于对处理器指令的快速解密的方法、装置和系统 | |
US20090144561A1 (en) | Method and System for Software Protection Using Binary Encoding | |
US20110040960A1 (en) | Method and System for Securely Updating Field Upgradeable Units | |
CN107743115B (zh) | 一种终端应用的身份认证方法、装置和系统 | |
TW200949686A (en) | Initialization of a microprocessor providing for execution of secure code | |
US8650655B2 (en) | Information processing apparatus and information processing program | |
US8745735B2 (en) | Monitoring system, program-executing device, monitoring program, recording medium and integrated circuit | |
CN103235911B (zh) | 一种签名方法 | |
US20080184341A1 (en) | Master-Slave Protocol for Security Devices | |
CN109413024A (zh) | 异构功能等价体多模判决结果的逆向数据校验方法及系统 | |
US10103884B2 (en) | Information processing device and information processing method | |
CN108965275A (zh) | 一种体验游戏的方法及系统 | |
CN110874231A (zh) | 终端版本更新的方法、设备和存储介质 | |
US20120030543A1 (en) | Protection of application in memory | |
CN108897995A (zh) | 一种结合嵌入式设备的嵌入式软件加密注册方法 | |
CN107967413A (zh) | 软件加密方法及装置 | |
CN114048506A (zh) | 应用控制方法、装置、设备以及存储介质 | |
CN110378137A (zh) | 一种硬件底层加密存储方法、系统及可读存储介质 | |
CN103577744A (zh) | 一种用于Android移动互联网设备的网络在线激活方式 | |
CN109214184A (zh) | 一种Android加固应用程序通用自动化脱壳方法和装置 | |
CN101290648B (zh) | 一种对软件的正版性进行远程验证的方法 | |
CN107330318A (zh) | 一种数字信号处理板卡及其调试系统的绑定加密方法 | |
CN112597453A (zh) | 程序代码加密解密方法和装置 |
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 | ||
WW01 | Invention patent application withdrawn after publication |
Application publication date: 20181127 |
|
WW01 | Invention patent application withdrawn after publication |