CN107590368A - 嵌入式设备程序防拷贝的方法 - Google Patents

嵌入式设备程序防拷贝的方法 Download PDF

Info

Publication number
CN107590368A
CN107590368A CN201710744563.5A CN201710744563A CN107590368A CN 107590368 A CN107590368 A CN 107590368A CN 201710744563 A CN201710744563 A CN 201710744563A CN 107590368 A CN107590368 A CN 107590368A
Authority
CN
China
Prior art keywords
software
encryptplace
flash
key1
read
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN201710744563.5A
Other languages
English (en)
Inventor
路凯
王菊
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
JOVISION TECHNOLOGY Co Ltd
Original Assignee
JOVISION TECHNOLOGY Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by JOVISION TECHNOLOGY Co Ltd filed Critical JOVISION TECHNOLOGY Co Ltd
Priority to CN201710744563.5A priority Critical patent/CN107590368A/zh
Publication of CN107590368A publication Critical patent/CN107590368A/zh
Pending legal-status Critical Current

Links

Landscapes

  • Storage Device Security (AREA)

Abstract

本发明的嵌入式设备程序防拷贝的方法,依次包括以下步骤:(1).在spi nor flash(嵌入式软件存储介质)上除保存正常业务软件之外,预留一块空间称作encryptPlace(加密位置);(2).使用flash的序列号(unique ID);(3).设计一个加密算法,编译成一个单独的小程序myEncrypt(我的加密),生产设备的时候存到encryptPlace空间中。本发明的有益效果是,使用本技术方案后,可到达一次运行后即可不借助,其他加密芯片就可以绑定软件和flash,不可被复制。该方法不使用加密芯片节省硬件成本,减少烧写加密芯片和贴加密芯片的生产流程。

Description

嵌入式设备程序防拷贝的方法
技术领域
本发明属于网络设备防拷贝技术领域,涉及一种嵌入式设备程序防拷贝的方法。
背景技术
随着网络技术和硬件的发展,物联网被踢出并快速发展,作为其基础的嵌入式设备(硬件软件)也快速发展,为智慧城市,智慧家庭做出巨大贡献。以网络摄像机IPC(IPCamera)为例,其他设备也一样。市场上的IPC硬件具有极大的相似性,也有专门生产硬件和模组(硬件加嵌入式软件)的公司(单独的硬件和模组非常便宜)。从市场上买到IPC产品,使用flash(一种存储介质)读写器很容易读出软件部分。然后低价购买和这些相同的硬件或者模组(硬件和模组具有通用性),至少把软件烧进去就可以盗用其他公司的软件直接包装设备出售,甚至做盗版产品,由于ipc中的软件完全一样,连电脑上的客户端都不需要研发可以直接拿来使用。
现存解决方案以及缺点:为解决这种问题,目前市场上存在一些软件防抄措施:比如加密芯片,借助硬件存储一些加密信息或密钥,在软件中对这些信息做验证,或者把信息解密后作为mac地址(所有网络设备的mac地址必须具有唯一性)。缺点,普通加密芯片可读写,也可以被批量复制,而批量复制引起的mac冲突问题,也通过软件方式修改后正常使用。
发明内容
本发明为了弥补现有技术的不足,提供了一种结构简单、使用方便的嵌入式设备程序防拷贝的方法。
本发明是通过如下技术方案实现的:
本发明的嵌入式设备程序防拷贝的方法,其特征在于:依次包括以下步骤:
(1).在spi nor flash(嵌入式软件存储介质)上除保存正常业务软件之外,预留一块空间称作encryptPlace(加密位置),大小只要能保存以下的加密程序和加密数据就足够;
(2).使用flash的序列号(unique ID),作为程序和flash芯片的绑定的key(钥匙);
(3).设计一个加密算法,保存在业务软件中,同时编译成一个单独的小程序myEncrypt(我的加密),生产设备的时候存到encryptPlace空间中;
(4).设备第一次启动的时候,先把encryptPlace中的加密程序myEncrypt读取到内存中,然后读取使用flash的序列号(unique ID),然后使用myEncrypt加密生成Key1,然后把encryptPlace擦除,删掉了加密程序myEncrypt,然后把加密后的数据Key1写入encryptPlace;
(5).业务软件启动,在业务软件中同样读取flash的序列号(unique ID),同样使用步骤(3)中的加密算法进行加密生成Key2,然后从encryptPlace读取Key1,然后把Key1和Key2进行比较,如果相同则为正版软件,能够继续运行,如果Key1读不到,或者Key1和Key2不同,则为盗版软件,要做软件异常处理。
步骤(5)后面还包括以下步骤:
(6).如果从市场上拿到产品,从flash中读取除整个软件,则软件中包含业务软件和加密数据Key1;把这些信息烧写到新的硬件或者模组中,由于flash的序列号(unique ID)不同,则在业务软件中产生的Key2和Key1不同,会进行软件异常处理,无法正常启动;如果把encryptPlace擦除,程序启动后由于没有myEncrypt加密程序或Key1,所以encryptPlace空间会始终为空,业务软件无法读取到Kye1,这样也会进行软件异常处理,无法正常使用。
步骤(1)中,encryptPlace采用64K的空间。
本发明的有益效果是,使用本技术方案后,可到达一次运行后即可不借助,其他加密芯片就可以绑定软件和flash,不可被复制。该方法不使用加密芯片节省硬件成本,减少烧写加密芯片和贴加密芯片的生产流程。一般IPC都会在出厂时候做调焦距,NVR也会做出厂检测,都需要运行设备,所以无需增加生产流程。
附图说明
图1为本发明的逻辑流程图示意图。图2为Flash空间信息变化图(生产中需要烧写的整个flash文件),图3为Flash空间信息变化图(程序运行一次后flash空间存储情况)。
具体实施方式
附图为本发明的一种具体实施例。
本发明的嵌入式设备程序防拷贝的方法,依次包括以下步骤:
(1).在spi nor flash(嵌入式软件存储介质)上除保存正常业务软件之外,预留一块空间称作(encryptPlace),大小只要能保存以下的加密程序和加密数据就足够。一般在IPC或NVR中使用8M或16M的flash,只需保留64K的空间就足够(flash只能按照块读写和擦除,64K为一块)。
(2).使用flash的序列号(unique ID,同一型号flash型号具有唯一性和随机性,所以不同厂家不同型号也很难相同,同时该数据在flash生产时就被写入芯片中,且只可读取,不可被修改),作为程序和flash芯片的绑定的key。
(3).设计一个加密算法,保存在业务软件中,同时编译成一个单独的小程序(myEncrypt)。生产设备的时候存到步骤1中保留的(encryptPlace)中。
(4). 设备第一次启动的时候,先把(encryptPlace)中的加密程序myEncrypt读取到内存(存储介质,具有断电数据丢失的特点)中,然后读取使用flash的序列号(uniqueID),然后使用myEncrypt加密生成Key1。然后把 (encryptPlace)擦除(删掉了加密程序myEncrypt),然后把加密后的数据写入(encryptPlace)。
(5).业务软件启动,在业务软件中同样读取flash的序列号(unique ID),同样使用步骤(3)中的加密算法进行加密生成Key2,然后从(encryptPlace)读取Key1,然后把Key1和Key2进行比较,如果相同则为正版软件,可以继续运行,如果Key1读不到或者Key1和Key2不同则为盗版软件,可以做软件异常处理,比如不停的重启设备等。
步骤(5)后面还可以包括以下步骤:
(6).使用本技术方案后,如果从市场上拿到产品,从flash中读取除整个软件,则软件中包含业务软件和加密数据Key1;把这些信息烧写到新的硬件或者模组中,由于flash的序列号(unique ID)不同,则在业务软件中产生的Key2和Key1不同,会进行软件异常处理,无法正常启动。如果把(encryptPlace)擦除,程序启动后由于没有myEncrypt加密程序(出厂第一次启动就运行一次后就被删除了换成了数据Key1),所以(encryptPlace)空间会始终为空,业务软件无法读取到Kye1,这样也会进行软件异常处理,无法正常使用。
使用本技术方案后,可到达一次运行后即可不借助,其他加密芯片就可以绑定软件和flash,不可被复制。
优点:不使用加密芯片节省硬件成本,减少烧写加密芯片和贴加密芯片的生产流程。
生产完设备后必须运行一次才可以把软件和flash进行绑定。一般IPC都会在出厂时候做调焦距,NVR也会做出厂检测,都需要运行设备,所以无需增加生产流程。如果有不做出厂检测的厂家则需要增加一个设备第一次启动的流程。
Flash空间信息变化图:
1.生产中需要烧写的整个flash文件(flash存储空间分配,其中unique id为flash芯片出厂写入的固定信息具有唯一性,随机性,和不可修改性)。
2.程序运行一次后flash空间存储情况(其中key1是和unique id一一对应的使用专用加密算法加密)。

Claims (3)

1.一种嵌入式设备程序防拷贝的方法,其特征在于:依次包括以下步骤:
(1).在spi nor flash(嵌入式软件存储介质)上除保存正常业务软件之外,预留一块空间称作encryptPlace(加密位置),大小只要能保存以下的加密程序和加密数据就足够;
(2).使用flash的序列号(unique ID),作为程序和flash芯片的绑定的key(钥匙);
(3).设计一个加密算法,保存在业务软件中,同时编译成一个单独的小程序myEncrypt(我的加密),生产设备的时候存到encryptPlace空间中;
(4). 设备第一次启动的时候,先把encryptPlace中的加密程序myEncrypt读取到内存中,然后读取使用flash的序列号(unique ID),然后使用myEncrypt加密生成Key1,然后把encryptPlace擦除,删掉了加密程序myEncrypt,然后把加密后的数据Key1写入encryptPlace;
(5).业务软件启动,在业务软件中同样读取flash的序列号(unique ID),同样使用步骤(3)中的加密算法进行加密生成Key2,然后从encryptPlace读取Key1,然后把Key1和Key2进行比较,如果相同则为正版软件,能够继续运行,如果Key1读不到,或者Key1和Key2不同,则为盗版软件,要做软件异常处理。
2.根据权利要求1所述的嵌入式设备程序防拷贝的方法,其特征在于:
步骤(5)后面还包括以下步骤:
(6).如果从市场上拿到产品,从flash中读取除整个软件,则软件中包含业务软件和加密数据Key1;把这些信息烧写到新的硬件或者模组中,由于flash的序列号(unique ID)不同,则在业务软件中产生的Key2和Key1不同,会进行软件异常处理,无法正常启动;如果把encryptPlace擦除,程序启动后由于没有myEncrypt加密程序或Key1,所以encryptPlace空间会始终为空,业务软件无法读取到Kye1,这样也会进行软件异常处理,无法正常使用。
3.根据权利要求1所述的嵌入式设备程序防拷贝的方法,其特征在于:
步骤(1)中,encryptPlace采用64K的空间。
CN201710744563.5A 2017-08-25 2017-08-25 嵌入式设备程序防拷贝的方法 Pending CN107590368A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710744563.5A CN107590368A (zh) 2017-08-25 2017-08-25 嵌入式设备程序防拷贝的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710744563.5A CN107590368A (zh) 2017-08-25 2017-08-25 嵌入式设备程序防拷贝的方法

Publications (1)

Publication Number Publication Date
CN107590368A true CN107590368A (zh) 2018-01-16

Family

ID=61042995

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710744563.5A Pending CN107590368A (zh) 2017-08-25 2017-08-25 嵌入式设备程序防拷贝的方法

Country Status (1)

Country Link
CN (1) CN107590368A (zh)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108563925A (zh) * 2018-03-26 2018-09-21 广州视源电子科技股份有限公司 防止软件拷贝的方法、系统、可读存储介质及电子设备
CN108647499A (zh) * 2018-05-16 2018-10-12 广州视源电子科技股份有限公司 一种防拷贝校验码生成的方法、装置、设备和存储介质
CN109902453A (zh) * 2019-02-22 2019-06-18 山东欧德利电气设备有限公司 一种软件加密方法
CN110097299A (zh) * 2019-05-31 2019-08-06 济南中维世纪科技有限公司 一种降低成本的工厂订单生产系统及其应用
CN110909316A (zh) * 2019-11-14 2020-03-24 武汉正维电子技术有限公司 一种单片机软件的加密保护方法及存储介质
CN112241519A (zh) * 2020-11-05 2021-01-19 王志平 一种软件版权保护的实现方法
CN112446055A (zh) * 2019-08-10 2021-03-05 丹东东方测控技术股份有限公司 一种嵌入式电子电路设备防复制的方法
CN112632482A (zh) * 2020-12-18 2021-04-09 珠海极海半导体有限公司 一种目标应用运行方法、装置和存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040117106A1 (en) * 2002-12-12 2004-06-17 Frank Dudel Chipped engine control unit system having copy protected and selectable multiple control programs
CN101968834A (zh) * 2009-07-28 2011-02-09 上海移为通信技术有限公司 电子产品的防抄板加密方法和装置
CN106777749A (zh) * 2016-12-29 2017-05-31 杭州朔天科技有限公司 一种基于嵌入式Nor‑Flash的芯片UID设计方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040117106A1 (en) * 2002-12-12 2004-06-17 Frank Dudel Chipped engine control unit system having copy protected and selectable multiple control programs
CN101968834A (zh) * 2009-07-28 2011-02-09 上海移为通信技术有限公司 电子产品的防抄板加密方法和装置
CN106777749A (zh) * 2016-12-29 2017-05-31 杭州朔天科技有限公司 一种基于嵌入式Nor‑Flash的芯片UID设计方法

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108563925A (zh) * 2018-03-26 2018-09-21 广州视源电子科技股份有限公司 防止软件拷贝的方法、系统、可读存储介质及电子设备
CN108563925B (zh) * 2018-03-26 2022-03-15 广州视源电子科技股份有限公司 防止软件拷贝的方法、系统、可读存储介质及电子设备
CN108647499A (zh) * 2018-05-16 2018-10-12 广州视源电子科技股份有限公司 一种防拷贝校验码生成的方法、装置、设备和存储介质
CN109902453A (zh) * 2019-02-22 2019-06-18 山东欧德利电气设备有限公司 一种软件加密方法
CN110097299A (zh) * 2019-05-31 2019-08-06 济南中维世纪科技有限公司 一种降低成本的工厂订单生产系统及其应用
CN112446055A (zh) * 2019-08-10 2021-03-05 丹东东方测控技术股份有限公司 一种嵌入式电子电路设备防复制的方法
CN110909316A (zh) * 2019-11-14 2020-03-24 武汉正维电子技术有限公司 一种单片机软件的加密保护方法及存储介质
CN110909316B (zh) * 2019-11-14 2023-05-09 武汉正维电子技术有限公司 一种单片机软件的加密保护方法及存储介质
CN112241519A (zh) * 2020-11-05 2021-01-19 王志平 一种软件版权保护的实现方法
CN112632482A (zh) * 2020-12-18 2021-04-09 珠海极海半导体有限公司 一种目标应用运行方法、装置和存储介质

Similar Documents

Publication Publication Date Title
CN107590368A (zh) 嵌入式设备程序防拷贝的方法
CN103902878B (zh) 一种虚拟环境下的License认证方法和装置
CN100464313C (zh) 一种移动存储装置及存取移动存储装置中加密数据的方法
Skillen et al. On implementing deniable storage encryption for mobile devices
CN101630270B (zh) 数据处理系统和方法
CN202795383U (zh) 一种保护数据的设备和系统
US10372628B2 (en) Cross-domain security in cryptographically partitioned cloud
Skillen et al. Mobiflage: Deniable storage encryptionfor mobile devices
CN109726575B (zh) 一种数据加密方法及装置
CN112865969A (zh) 一种数据加密卡的加密方法及装置
CN106713334B (zh) 虚拟存储卷的加密方法、解密方法、访问方法以及装置
CN108491724A (zh) 一种基于硬件的计算机接口加密装置及方法
CN104104650B (zh) 数据文件访问方法及终端设备
CN111967065B (zh) 一种数据保护方法、处理器及电子设备
CN114466028B (zh) 镜像同步方法、装置、设备及存储介质
CN106845261A (zh) 一种销毁ssd硬盘数据的方法及装置
CN107766699A (zh) 一种授权分配方法和装置
CN109582238A (zh) 一种硬盘绑定、匹配方法、系统及电子设备和存储介质
CN106100829B (zh) 加密存储的方法及装置
CN107566499A (zh) 数据同步的方法、装置和系统
CN101149708A (zh) 移动存储器加密方法和自动运行加密移动存储器方案
CN101751283B (zh) 虚拟机监视器,虚拟机系统及客户操作系统状态获取方法
WO2009122623A1 (ja) 情報処理装置
CN110880965A (zh) 一种外发电子文档加密方法、系统、终端及存储介质
CN102855419A (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
RJ01 Rejection of invention patent application after publication

Application publication date: 20180116

RJ01 Rejection of invention patent application after publication