CN111859311A - 一种基于CPU IP Security Engine的终端设备软件防非法拷贝方法 - Google Patents
一种基于CPU IP Security Engine的终端设备软件防非法拷贝方法 Download PDFInfo
- Publication number
- CN111859311A CN111859311A CN202010631593.7A CN202010631593A CN111859311A CN 111859311 A CN111859311 A CN 111859311A CN 202010631593 A CN202010631593 A CN 202010631593A CN 111859311 A CN111859311 A CN 111859311A
- Authority
- CN
- China
- Prior art keywords
- ciphertext
- cpu
- software
- security engine
- equipment
- 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 23
- 230000002265 prevention Effects 0.000 claims description 3
- 230000002093 peripheral effect Effects 0.000 claims description 2
- 238000012423 maintenance Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
Images
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/70—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
- G06F21/71—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
- G06F21/72—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information in cryptographic circuits
-
- 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]
-
- 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/60—Protecting data
- G06F21/602—Providing cryptographic facilities or services
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Computer Hardware Design (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Multimedia (AREA)
- Technology Law (AREA)
- Storage Device Security (AREA)
Abstract
本发明公开了一种基于CPU IP Security Engine的终端设备软件防非法拷贝方法,该方法用于内嵌有Security Engine的嵌入式CPU芯片,通过对CPU的MTP(Multi‑Time Programmable)控制器写入随机生成的密钥,并将通过此密钥对既定明文加密得到密文1,并存储于嵌入式设备的FLASH芯片上,设备上电软件运行时,CPU IP Security Engine调用CPU MTP中密钥进行加密,计算明文对应密文2;密文1和密文2进行一对一认证,判断此设备为非法设备。本发明有效地防止软件被非法复制滥用。
Description
技术领域
本发明涉及信息安全技术领域,具体涉及一种基于CPU IP Security Engine的终端设备软件防非法拷贝方法。
背景技术
随着设备迭代升级,嵌入式芯片功能越来越丰富,嵌入式Linux逐渐发展起来。嵌入式Linux系统固然有着其效率高,内核小,通用,稳定等优点,但是Linux作为一个通用操作系统,软件只能以文件的方式储存在存储设备上,很容易被拷贝复制,并在其他同架构的嵌入式Linux设备上运行起来,造成软件的非法复制滥用。
目前对于嵌入式平台软件仿复制的解决办法有:
1、硬件ID判别:软件运行时,读取所处系统的硬件设备ID(MAC等),当设备ID合法时,才正常运行,设备ID不合法时,软件退出。
2、软件序列号:用户在启动软件时,需要输入从营销商处购买的序列号进行认证,软件通过检查序列号的合法性来决定是否正常运行。
3、网络认证:软件通过互联网和认证服务器通信,进行合法性认证。
但是上述几类方法各有弊端:
第一种方法,非法用户可以手动修改设备硬件ID,比如修改MAC地址,避开软件的合法性检查。而且认证服务器会带来成本以及维护工作的增加。
第二种方法需要用添加专门的用户输入设备,增加设备复杂度和设备成本。
第三种方法需要有网络连接,很多嵌入式设备是处于无网络环境或者内部网络环境,而且认证服务器会带来成本以及维护工作的增加。
发明内容
为解决上述问题,本发明提出一种基于CPU IP Security Engine的终端设备软件防非法拷贝方法,本发明的技术方案如下。
一种基于CPU IP Security Engine的终端设备软件防非法拷贝方法用于内嵌有Security Engine的嵌入式CPU芯片,所述方法包括:
生成随机数密钥;
通过CPU MTP存储器存储加密密钥;
CPU IP Security Engine调用CPU MTP中密钥进行加密,计算明文对应密文1;
加密后,密文1写入设备FLSAH芯片;
设备上电,软件运行时,CPU IP Security Engine调用CPU MTP中密钥进行加密,计算明文对应密文2;
读取FLASH上的密文2;
密文1和密文2进行一对一认证;
其中,当所述密文1与密文2相同时,设备继续运行;
当所述密文1与密文2不同时,执行防拷贝措施。
进一步地,通过密文1和密文2一对一认证,进行软件运行环境的合法性鉴别,当密文1与密文2相同时,软件可以复制到另外一个经设备商认证的合法设备运行环境中,软件可以在所有的合法环境中自由拷贝,顺利运行;当密文1与密文2不同时,软件被拷贝到未经设备商认证的非法环境中,执行防非法拷贝措施。
进一步地,在设备商认证的运行环境中,CPU MTP存储器已经写入随机数密钥;FLASH存储器已经存储了此设备上CPU IP Security Engine的加密运算结果。
进一步地,在未经设备商认证的运行环境中,非法设备包括以下三种情形:CPUMTP存储器未写入随机数密钥;FLASH存储器没有存储此设备上CPU IP Security Engine的加密运算结果;FLASH存储器上的加密运算结果和CPU MTP中随机数密钥不匹配。
进一步地,除CPU和存储加密运算结果的FLASH存储器之外的其他任何外围电路元件改动,不被认为对设备商认证的运行环境的破坏。
本发明的有益效果为:有效地防止软件被非法复制滥用。
附图说明
图1为本发明方法的运行逻辑;
图2为本发明方法的覆盖面。
具体实施方式
下面将结合本发明方法的运行逻辑图,对本发明的一种基于CPU IP SecurityEngine的终端设备软件防非法拷贝方法进行清楚、完整地描述。
如图1所示为本发明方法的运行逻辑,分为两部分,设备出厂前的认证阶段和出厂后的保护运行阶段。
出厂前的认证阶段,如图1设备商认证过程所示:
S101:随机生成一串256字节的随机数密钥。
S102:将S101步骤中生成的密钥写入CPU的MTP存储器。
S103:定义一串明文,明文内容可以由设备商自主定义,此明文需要内嵌于软件中或者存储于FLASH芯片上。
S104:将S103中定义的明文通过IP Security Engine进行加密,得到密文1。
S105:加密结果(密文1)存储于设备的FLASH存储器上。
S106:设备由生产商配送到实际用户端。
S107:用户对设备上电,设备内的软件开始运行。
S108:软件运行时,首先调用CPU的IP Security Engine接口,将内嵌于软件程序中的或存储于FLASH上的明文进行加密,得到密文2。
S109:读取FLASH上的出厂前认证阶段存储的密文1。
S110:将S108和S109步骤得到的密文1和密文2作比较。
S111:如果S110的结果是相同,说明该设备是经过正常出厂认证的设备,软件正常运行。如果不相同,说明该软件被非法拷贝到了一个未经认证的设备上,软件会执行既有的防非法拷贝措施,退出或报警。
本发明能有效地防止软件被非法拷贝复制,原因如下:
1.MTP存储器中的密钥是随机生成的,写完后,设备厂商自己都无法短时间内再次生成一个同样的密钥,非法盗用者就更不可能自己生成同样的密钥。
2.MTP存储器是不可读的,非法盗用者不能读取已写入的密钥。
3.明文加密后的密文是不可识别状态的乱序数据,该数据存储于FALSH上,非法盗用者无法猜测哪段数据是加密认证密文。
4.软件非法盗用后的穷举应用场景如图2所示,都无法正常运行。
以上实施例是对本发明的具体实施方式的说明,而非对本发明的限制,有关技术领域的技术人员在不脱离本发明的精神和范围的情况下,还可以做出各种变换和变化而得到相对应的等同的技术方案,因此所有等同的技术方案均应该归入本发明的专利保护范围。
Claims (5)
1.一种基于CPU IP Security Engine的终端设备软件防非法拷贝方法,其特征在于,所述方法用于内嵌有Security Engine的嵌入式CPU芯片,所述方法包括:
生成随机数密钥;
通过CPU MTP存储器存储加密密钥;
CPU IP Security Engine调用CPU MTP中密钥进行加密,计算明文对应密文1;
加密后,密文1写入设备FLSAH芯片;
设备上电,软件运行时,CPU IP Security Engine调用CPU MTP中密钥进行加密,计算明文对应密文2;
读取FLASH上的密文1;
密文1和密文2进行一对一认证;
其中,当所述密文1与密文2相同时,设备软件继续运行;
当所述密文1与密文2不同时,执行防拷贝措施。
2.根据权利要求1所述的终端设备软件防非法拷贝方法,其特征在于,通过密文1和密文2一对一认证,进行软件运行环境的合法性鉴别,当密文1与密文2相同时,软件可以复制到另外一个经设备商认证的合法设备运行环境中,软件可以在所有的合法环境中自由拷贝,顺利运行;当密文1与密文2不同时,软件被拷贝到未经设备商认证的非法环境中,执行防非法拷贝措施。
3.根据权利要求2所述的终端设备软件防非法拷贝方法,其特征在于,在设备商认证的运行环境中,CPU MTP存储器已经写入随机数密钥;FLASH存储器已经存储了此设备上CPUIP Security Engine的加密运算结果。
4.根据权利要求2所述的终端设备软件防非法拷贝方法,其特征在于,在未经设备商认证的运行环境中,非法设备包括以下三种情形:CPU MTP存储器未写入随机数密钥;FLASH存储器没有存储此设备上CPU IP Security Engine的加密运算结果;FLASH存储器上的加密运算结果和CPU MTP中随机数密钥不匹配。
5.根据权利要求2所述的终端设备软件防非法拷贝方法,其特征在于,除CPU和存储加密运算结果的FLASH存储器之外的其他任何外围电路元件改动,不被认为对设备商认证的运行环境的破坏。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010631593.7A CN111859311A (zh) | 2020-07-03 | 2020-07-03 | 一种基于CPU IP Security Engine的终端设备软件防非法拷贝方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010631593.7A CN111859311A (zh) | 2020-07-03 | 2020-07-03 | 一种基于CPU IP Security Engine的终端设备软件防非法拷贝方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111859311A true CN111859311A (zh) | 2020-10-30 |
Family
ID=73153014
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010631593.7A Withdrawn CN111859311A (zh) | 2020-07-03 | 2020-07-03 | 一种基于CPU IP Security Engine的终端设备软件防非法拷贝方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111859311A (zh) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1561026A (zh) * | 2004-02-20 | 2005-01-05 | 胡祥义 | 一种基于加密算法技术的软件防盗版方法 |
CN101968844A (zh) * | 2010-10-13 | 2011-02-09 | 深圳市华域软件有限公司 | 一种软件加密方法 |
CN102289625A (zh) * | 2011-09-30 | 2011-12-21 | 方波 | 具有加密功能的存储芯片和防盗版方法 |
US20120079277A1 (en) * | 2010-09-24 | 2012-03-29 | Patrick Ng | Verification and protection of genuine software installation using hardware super key |
CN109002695A (zh) * | 2018-06-20 | 2018-12-14 | 浙江理工大学 | 一种软件加密方法 |
CN110879875A (zh) * | 2019-10-28 | 2020-03-13 | 华晟现代电子科技(香港)有限公司 | 硬件加密装置、嵌入式系统版权保护系统及方法 |
-
2020
- 2020-07-03 CN CN202010631593.7A patent/CN111859311A/zh not_active Withdrawn
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1561026A (zh) * | 2004-02-20 | 2005-01-05 | 胡祥义 | 一种基于加密算法技术的软件防盗版方法 |
US20120079277A1 (en) * | 2010-09-24 | 2012-03-29 | Patrick Ng | Verification and protection of genuine software installation using hardware super key |
CN101968844A (zh) * | 2010-10-13 | 2011-02-09 | 深圳市华域软件有限公司 | 一种软件加密方法 |
CN102289625A (zh) * | 2011-09-30 | 2011-12-21 | 方波 | 具有加密功能的存储芯片和防盗版方法 |
CN109002695A (zh) * | 2018-06-20 | 2018-12-14 | 浙江理工大学 | 一种软件加密方法 |
CN110879875A (zh) * | 2019-10-28 | 2020-03-13 | 华晟现代电子科技(香港)有限公司 | 硬件加密装置、嵌入式系统版权保护系统及方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9129536B2 (en) | Circuit for secure provisioning in an untrusted environment | |
US9094205B2 (en) | Secure provisioning in an untrusted environment | |
US9647847B2 (en) | Tamper evidence per device protected identity | |
US9100174B2 (en) | Secure provisioning in an untrusted environment | |
JP4668619B2 (ja) | 装置鍵 | |
JP5038487B2 (ja) | 電子デバイスにおいてSIMlock情報を保護する方法及び装置 | |
US9100189B2 (en) | Secure provisioning in an untrusted environment | |
US6539480B1 (en) | Secure transfer of trust in a computing system | |
US8443203B2 (en) | Secure boot method and semiconductor memory system using the method | |
JP4912879B2 (ja) | プロセッサの保護された資源へのアクセスに対するセキュリティ保護方法 | |
US20160205075A1 (en) | Implementation of an Integrity-Protected Secure Storage | |
CN109412812B (zh) | 数据安全处理系统、方法、装置和存储介质 | |
US8731191B2 (en) | Data encryption method and system and data decryption method | |
TW201633207A (zh) | 裝置金鑰保護 | |
US7275161B2 (en) | Method, system, device and computer program for mutual authentication and content protection | |
CN107133512B (zh) | Pos终端控制方法和装置 | |
CN103971034A (zh) | 一种保护Java软件的方法及装置 | |
KR20070059891A (ko) | 어플리케이션 인증 보안 시스템 및 그 인증 보안 방법 | |
US20090119744A1 (en) | Device component roll back protection scheme | |
CN108345803B (zh) | 一种可信存储设备的数据存取方法及装置 | |
CN108345804B (zh) | 一种可信计算环境中的存储方法和装置 | |
CN111859311A (zh) | 一种基于CPU IP Security Engine的终端设备软件防非法拷贝方法 | |
CN115357948A (zh) | 一种基于tee及加密芯片的硬件防抄板加密方法及其装置 | |
CN115688120A (zh) | 安全芯片固件导入方法、安全芯片及计算机可读存储介质 | |
CN113761598B (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 | ||
WW01 | Invention patent application withdrawn after publication |
Application publication date: 20201030 |