CN103106355A - 一种软件版本保护实现方法和*** - Google Patents
一种软件版本保护实现方法和*** Download PDFInfo
- Publication number
- CN103106355A CN103106355A CN2011103610000A CN201110361000A CN103106355A CN 103106355 A CN103106355 A CN 103106355A CN 2011103610000 A CN2011103610000 A CN 2011103610000A CN 201110361000 A CN201110361000 A CN 201110361000A CN 103106355 A CN103106355 A CN 103106355A
- Authority
- CN
- China
- Prior art keywords
- version
- file
- internal memory
- copy
- address
- 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
Links
Images
Landscapes
- Storage Device Security (AREA)
Abstract
本发明公开了一种软件版本保护实现方法和***,所述方法包括:对制作的版本文件进行加密;当版本启动时,将所述版本文件加载到内存中,并获取所述版本文件的密钥,解密所述版本文件;将所述版本文件中的文件***拷贝到内存高地址,并利用所述版本文件中的内核文件启动内核;创建基于内存的内存技术设备MTD分区,挂载所述MTD分区,单板启动。本发明所述方法在制作版本时通过密钥对整个版本进行加密,在版本启动时,对版本进行解密,使得软件版本具有很高的保密性,从而避免了产品被抄袭,以及别人通过分析版本中有用信息对产品进行攻击的可能性。
Description
技术领域
本发明涉及嵌入式应用技术领域,尤其涉及一种软件版本保护实现方法和***。
背景技术
人类社会已经踏入了21世纪。科学技术的发展使人类的活动范围不断扩展,计算机网络的进步与发展将人类社会推进了信息社会和知识经济时代,并创造了一个超时空的网络空间,其中,计算机软件产业的发展在很大程度上影响着一个国家的社会经济,并迅速地渗透到人们的生活,产生巨大的冲击力。
但互联网提供给我们的并不只是一个新的平台,它还给人们提供了一个迥异于传统市场经济的追逐利益的场所和手段,而正是由于这种新的场所和手段,在增进经济发展和社会进步的同时,也打破了原有法律体系所建立起来的利益平衡。
为了保护产品的知识产权,每个公司都想出来很多方法,传统的针对嵌入式应用场合的加密方式通常都只针对文件***的加密,采用文件***自身加密方式进行加密,这种方法方式易于破解,并且会影响***运行的效率,不利于产品的保护。
发明内容
本发明提供一种软件版本保护实现方法和***,用以解决现有技术中软件版本保护方式易破解且影响***运行效率的问题。
为了解决上述技术问题,本发明采用的技术方案如下:
一方面,本发明提供一种软件版本保护实现方法,包括:
对制作的版本文件进行加密;
当版本启动时,将所述版本文件加载到内存中,并获取所述版本文件的密钥,解密所述版本文件;
将所述版本文件中的文件***拷贝到内存高地址,并利用所述版本文件中的内核文件启动内核;
创建基于内存的MTD(Memory Technology Device,内存技术设备)分区,挂载所述MTD分区,单板启动。
进一步地,本发明所述方法中,所述对版本文件进行加密后还包括:将版本密钥烧录在硬件加密芯片中;
所述获取所述版本文件的密钥的方式包括:读取所述硬件加密芯片,获取所述硬件加密芯片中的版本文件密钥。
进一步地,本发明所述方法中,所述将文件***拷贝到内存高地址具体包括:获取所述文件***的大小,基于所述文件***的大小在所述内存末端的高地址处为所述文件***分配内存地址,进行文件***拷贝。
进一步地,本发明所述方法中,所述创建基于内存的MTD分区时,将创建的MTD分区地址映射到拷贝所述***文件的内存地址。
进一步地,本发明所述方法中,所述版本文件解密后还包括:对解密后的版本文件的正确性及合法性进行校验,当校验通过时,进行***文件拷贝操作。
另一方面,本发明还提供一种软件版本保护实现***,包括:版本加密设备和版本解密设备;
所述版本加密设备,用于对制作的版本文件进行加密;
所述版本解密设备,包括:
版本加载模块,用于当版本启动时,将所述版本文件加载到内存中,并获取所述版本文件的密钥,解密所述版本文件;
文件拷贝模块,用于将解密后的版本文件中的文件***拷贝到内存高地址;
内核启动模块,用于利用解密后的版本文件中内核文件启动内核;
分区模块,用于在内核启动后,创建基于内存的MTD分区,挂载所述MTD分区,单板启动。
进一步地,本发明所述***中:
所述版本加密设备还包括:密钥烧录模块,用于在对版本文件进行加密后,将版本密钥烧录在硬件加密芯片中;
所述版本加载模块,还用于读取所述硬件加密芯片,获取所述硬件加密芯片中的版本文件密钥。
进一步地,本发明所述***中,所述文件拷贝模块具体包括:
信息获取子模块,用于获取所述文件***的大小;
地址分配子模块,用于基于所述文件***的大小在所述内存末端的高地址处为所述文件***分配内存地址;
文件拷贝子模块,用于基于分配的内存地址进行文件***拷贝。
进一步地,本发明所述***中,所述分区模块具体用于,在创建基于内存的MTD分区时,将创建的MTD分区地址映射到拷贝所述***文件的内存地址。
进一步地,本发明所述***中,所述版本解密设备还包括:
校验模块,用于在所述版本文件解密后,对解密后的版本文件的正确性及合法性进行校验,当校验通过时,触发所述文件拷贝模块。
与现有技术相比,本发明有益效果如下:
本发明所述的方法和***,在制作版本时通过密钥对整个版本进行加密,在版本启动时,对版本进行解密,使得软件版本具有很高的保密性,从而避免了产品被抄袭,以及别人通过分析版本中有用信息对产品进行攻击的可能性。
附图说明
图1为本发明提供的一种软件版本保护实现方法的流程图;
图2为本发明提供的一种软件版本保护实现***的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明实施例提供一种软件版本保护实现方法,主要应用在嵌入式应用环境中,该方法在制作版本时通过密钥对整个版本进行加密,然后在使用BOOTLOADER启动版本时,通过BOOT LOADER对版本进行解密,用以保证软件版本不被非法破解,实现保护企业产品知识产权的目的。
如图1所示,本发明实施例提供的软件版本保护实现方法,具体包括:
步骤S101、对制作的版本文件进行加密;
该步骤中,版本文件包括:BOOT to RAM、内核、文件***;
该步骤中,对版本文件进行加密后,优选地,将版本密钥烧录在硬件加密芯片中。
需要说明的是,该步骤所述的加密过程通常由版本制作方完成,后续解密过程则是对加密版本文件的应用。
步骤S102、当版本启动时,将所述版本文件加载到内存中,并获取所述版本文件的密钥,解密所述版本文件;
步骤S103、将所述版本文件中的文件***拷贝到内存高地址,并利用所述版本文件中的内核文件启动内核;
该步骤中,将文件***拷贝到内存高地址,具体包括:获取所述文件***的大小,基于所述文件***的大小在所述内存末端的高地址处为所述文件***分配内存地址,进行文件***拷贝;
该步骤中,利用所述版本文件中的内核文件启动内核,具体包括:将解密后的版本文件中的内核文件进行解压,并跳到解压后的内核文件入口处执行。
步骤S104、内核启动后,创建基于内存的MTD分区,挂载所述MTD分区,单板启动。
该步骤中,创建基于内存的MTD分区时,将创建的MTD分区地址映射到拷贝所述***文件的内存地址。
为了更清楚的表述本发明,下面给出本发明一个较佳的实施例,并结合对实施例的描述,进一步给出本发明的技术细节。
本发明实施例所述的方法的应用场景主要涉及到嵌入应用环境中,在嵌入式应用环境中,通常BOOT分为两个阶段情况,本发明实施例可以在BOOT第一阶段对版本进行解密,在解密开始之前需要读取硬件加密电路中密钥,从而确保版本文件的安全。
下面分别从版本加密和版本解密两个方面进行阐述:
一,本发明实施例所述的对嵌入式软件版本的加密的方案如下:
1)编译出BOOT RAM阶段BOOT、内核、文件***。
2)通过版本制作软件将BOOT、内核、文件***制作成整个版本文件。
3)通过密钥对整个版本进行加密,生成最终版本文件;
优选地,对版本文件进行加密后,将版本的密钥烧录在硬件加密芯片中;其中,硬件加密芯片的密钥为一次性烧录,不可复制。
二,对于版本启动解密的方案如下:
1)版本启动进入BOOT第一阶段,将整个版本文件(BOOT to RAM、内核、文件***)从FLASH中加载到内存中。
2)通过BOOT第一阶段驱动程序读取硬件加密芯片中的版本密钥。
3)通过读取的版本的密钥对整个版本文件进行解密。
4)通过对版本文件进行校验确保文件正确无误,并且对版本合法性进行校验,避免别人恶意篡改版本的可能性。
5)在内存空间的末尾高地址处,为版本文件中的文件***分配内存地址,并将文件***拷贝到所述内存地址中;
该步骤主要用于后面创建基于内存的MTD(memory technology device,内存技术设备)分区;
该步骤中,分配的内存地址大小根据文件***的大小确定。
6)对解密后的版本文件中的内核版本文件进行解压,然后跳到解压内核文件入口处进行执行。
7)在内核启动后,创建基于内存的MTD分区,分区地址映射到BOOT阶段将文件***拷贝的内存地址。
8)挂载所述MTD分区,挂载成功后,单板进入正常工作状态。
通过上述具体实施方案可以看出,本发明所述的方法可以充分保证软件版本的安全,可以避免别人抄袭产品的可能性,甚至可以避免别人破解后恶意攻击产品的可能。
如图2所示,本发明实施例还提供一种软件版本保护实现***,包括:版本加密设备210和版本解密设备220;
版本加密设备210,用于对制作的版本文件进行加密;
优选地,该版本加密设备210,在对版本文件进行加密后,将版本密钥烧录在硬件加密芯片中。
版本解密设备220,具体包括:
版本加载模块221,用于当版本启动时,将版本文件加载到内存中,并获取版本文件的密钥,解密版本文件;
优选地,该版本加载模块221读取所述硬件加密芯片,获取所述硬件加密芯片中的版本文件密钥。
文件拷贝模块222,用于将解密后的版本文件中的文件***拷贝到内存高地址;
该文件拷贝模块222具体包括:
信息获取子模块2221,用于获取所述文件***的大小;
地址分配子模块2222,用于基于所述文件***的大小在所述内存末端的高地址处为所述文件***分配内存地址;
文件拷贝子模块2223,用于基于分配的内存地址进行文件***拷贝。
内核启动模块223,用于利用解密后的版本文件中内核文件启动内核;
分区模块224,用于在内核启动后,创建基于内存的MTD分区,挂载所述MTD分区,单板启动。
具体地,该分区模块224,在创建基于内存的MTD分区时,将创建的MTD分区地址映射到拷贝所述***文件的内存地址。
进一步地,版本解密设备220还包括:
校验模块225,用于在所述版本文件解密后,对解密后的版本文件的正确性及合法性进行校验,当校验通过时,触发文件拷贝模块222。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
Claims (10)
1.一种软件版本保护实现方法,其特征在于,包括:
对制作的版本文件进行加密;
当版本启动时,将所述版本文件加载到内存中,并获取所述版本文件的密钥,解密所述版本文件;
将所述版本文件中的文件***拷贝到内存高地址,并利用所述版本文件中的内核文件启动内核;
创建基于内存的内存技术设备MTD分区,挂载所述MTD分区,单板启动。
2.如权利要求1所述的方法,其特征在于,
所述对版本文件进行加密后还包括:将版本密钥烧录在硬件加密芯片中;
所述获取所述版本文件的密钥的方式包括:读取所述硬件加密芯片,获取所述硬件加密芯片中的版本文件密钥。
3.如权利要求1所述的方法,其特征在于,所述将文件***拷贝到内存高地址具体包括:获取所述文件***的大小,基于所述文件***的大小在所述内存末端的高地址处为所述文件***分配内存地址,进行文件***拷贝。
4.如权利要求1所述的方法,其特征在于,所述创建基于内存的MTD分区时,将创建的MTD分区地址映射到拷贝所述***文件的内存地址。
5.如权利要求1或2或3或4所述的方法,其特征在于,所述版本文件解密后还包括:对解密后的版本文件的正确性及合法性进行校验,当校验通过时,进行***文件拷贝操作。
6.一种软件版本保护实现***,其特征在于,包括:版本加密设备和版本解密设备;
所述版本加密设备,用于对制作的版本文件进行加密;
所述版本解密设备,包括:
版本加载模块,用于当版本启动时,将所述版本文件加载到内存中,并获取所述版本文件的密钥,解密所述版本文件;
文件拷贝模块,用于将解密后的版本文件中的文件***拷贝到内存高地址;
内核启动模块,用于利用解密后的版本文件中内核文件启动内核;
分区模块,用于在内核启动后,创建基于内存的MTD分区,挂载所述MTD分区,单板启动。
7.如权利要求6所述的***,其特征在于,
所述版本加密设备还包括:密钥烧录模块,用于在对版本文件进行加密后,将版本密钥烧录在硬件加密芯片中;
所述版本加载模块,还用于读取所述硬件加密芯片,获取所述硬件加密芯片中的版本文件密钥。
8.如权利要求6所述的***,其特征在于,所述文件拷贝模块具体包括:
信息获取子模块,用于获取所述文件***的大小;
地址分配子模块,用于基于所述文件***的大小在所述内存末端的高地址处为所述文件***分配内存地址;
文件拷贝子模块,用于基于分配的内存地址进行文件***拷贝。
9.如权利要求6所述的***,其特征在于,所述分区模块具体用于,在创建基于内存的MTD分区时,将创建的MTD分区地址映射到拷贝所述***文件的内存地址。
10.如权利要求6或7或8或9所述的***,其特征在于,所述版本解密设备还包括:
校验模块,用于在所述版本文件解密后,对解密后的版本文件的正确性及合法性进行校验,当校验通过时,触发所述文件拷贝模块。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2011103610000A CN103106355A (zh) | 2011-11-15 | 2011-11-15 | 一种软件版本保护实现方法和*** |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2011103610000A CN103106355A (zh) | 2011-11-15 | 2011-11-15 | 一种软件版本保护实现方法和*** |
Publications (1)
Publication Number | Publication Date |
---|---|
CN103106355A true CN103106355A (zh) | 2013-05-15 |
Family
ID=48314209
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2011103610000A Pending CN103106355A (zh) | 2011-11-15 | 2011-11-15 | 一种软件版本保护实现方法和*** |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103106355A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107688463A (zh) * | 2017-09-21 | 2018-02-13 | 杭州全维技术股份有限公司 | 一种嵌入式设备版本文件打包的方法 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101770386A (zh) * | 2010-03-08 | 2010-07-07 | 北京飞天诚信科技有限公司 | 一种Linux嵌入式***的安全启动方法 |
CN102141923A (zh) * | 2010-09-28 | 2011-08-03 | 华为终端有限公司 | 内存文件***加载方法及装置 |
-
2011
- 2011-11-15 CN CN2011103610000A patent/CN103106355A/zh active Pending
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101770386A (zh) * | 2010-03-08 | 2010-07-07 | 北京飞天诚信科技有限公司 | 一种Linux嵌入式***的安全启动方法 |
CN102141923A (zh) * | 2010-09-28 | 2011-08-03 | 华为终端有限公司 | 内存文件***加载方法及装置 |
Non-Patent Citations (1)
Title |
---|
袁苑 等: "《基于ARM平台的嵌入式软件保护方案》", 《电子技术应用》, no. 9, 30 September 2009 (2009-09-30), pages 149 - 152 * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107688463A (zh) * | 2017-09-21 | 2018-02-13 | 杭州全维技术股份有限公司 | 一种嵌入式设备版本文件打包的方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5537742B2 (ja) | 多ユーザ機密コードおよびデータを保護するためのアーキテクチャを含む方法および装置 | |
CN102087605B (zh) | 一种基于android平台应用安装控制方法及*** | |
CN103069428B (zh) | 不可信云基础设施中的安全虚拟机引导 | |
KR100792287B1 (ko) | 자체 생성한 암호화키를 이용한 보안방법 및 이를 적용한보안장치 | |
KR101284676B1 (ko) | 암호화 기반 사용자 인증 및 안드로이드 앱 불법복제 방지시스템 및 그 방법 | |
WO2021164166A1 (zh) | 一种业务数据保护方法、装置、设备及可读存储介质 | |
CN1662869A (zh) | 休眠保护 | |
CN101872404B (zh) | 一种保护Java软件程序的方法 | |
CN102118512A (zh) | 一种手机应用程序防破解方法及*** | |
CN104268444A (zh) | 一种云OS Java源代码保护方法 | |
CN104579689A (zh) | 一种软密钥***及实现方法 | |
CN1960363A (zh) | 一种利用网络实现信息安全设备远程更新的方法及装置 | |
KR20110093468A (ko) | 사용자 단말 장치, 서버 및 그 제어 방법 | |
CN101957903A (zh) | 一种保护类文件的方法和装置 | |
CN105184118A (zh) | 一种基于代码碎片化的Android应用程序加壳保护方法及装置 | |
US20140059341A1 (en) | Creating and accessing encrypted web based content in hybrid applications | |
CN104506504A (zh) | 一种无卡终端涉密信息的安全机制及安全装置 | |
CN104866784A (zh) | 一种基于bios加密的安全硬盘、数据加密及解密方法 | |
KR20080046515A (ko) | 콘텐츠 파일의 암호화 및 복호화 방법 | |
JP2015104020A (ja) | 通信端末装置、通信端末関連付けシステム、通信端末関連付け方法、及びコンピュータプログラム | |
JP2013149294A (ja) | 無線端末装置およびシステム保護方法 | |
CN102855419A (zh) | 智能终端的数据文件版权保护方法 | |
CN103106355A (zh) | 一种软件版本保护实现方法和*** | |
KR101711024B1 (ko) | 부정조작방지 장치 접근 방법 및 그 방법을 채용한 단말 장치 | |
CN105426702A (zh) | 基于安卓操作***的应用程序加密解密方法和装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C02 | Deemed withdrawal of patent application after publication (patent law 2001) | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20130515 |