CN111884814A - 一种用于智能终端防伪造的方法和系统 - Google Patents
一种用于智能终端防伪造的方法和系统 Download PDFInfo
- Publication number
- CN111884814A CN111884814A CN202010786129.5A CN202010786129A CN111884814A CN 111884814 A CN111884814 A CN 111884814A CN 202010786129 A CN202010786129 A CN 202010786129A CN 111884814 A CN111884814 A CN 111884814A
- Authority
- CN
- China
- Prior art keywords
- intelligent terminal
- verification code
- key
- algorithm
- hardware fingerprint
- 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
-
- 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
- H04L9/3271—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 using challenge-response
- H04L9/3278—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 using challenge-response using physically unclonable functions [PUF]
-
- 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/30—Authentication, i.e. establishing the identity or authorisation of security principals
- G06F21/44—Program or device authentication
-
- 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
-
- 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/06—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
- H04L9/0618—Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
-
- 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/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0861—Generation of secret information including derivation or calculation of cryptographic keys or passwords
- H04L9/0866—Generation of secret information including derivation or calculation of cryptographic keys or passwords involving user or device identifiers, e.g. serial number, physical or biometrical information, DNA, hand-signature or measurable physical characteristics
-
- 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/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0861—Generation of secret information including derivation or calculation of cryptographic keys or passwords
- H04L9/0869—Generation of secret information including derivation or calculation of cryptographic keys or passwords involving random numbers or seeds
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2209/00—Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
- H04L2209/16—Obfuscation or hiding, e.g. involving white box
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- General Health & Medical Sciences (AREA)
- Bioethics (AREA)
- Health & Medical Sciences (AREA)
- Storage Device Security (AREA)
Abstract
本发明提出了一种用于智能终端防伪造的方法和系统,该方法包括智能终端在出厂前生成硬件指纹;利用随机数作为密钥,采用分组密码算法对硬件指纹进行加密得到分组密码算法的密钥;再对分组密码算法的密钥二次加密得到第一验证码并存储生成白盒密码算法;然后以分组密码算法的密钥对固件软件整体加密。在出厂后获取硬件指纹,运行白盒密码算法对硬件指纹进行加密得到分组密码算法的密钥,采用分组密码算法对固件软件进行解密;运行白盒密码算法对硬件指纹二次加密得到第二验证码,判断两个验证码是否相同。基于该方法,还提出防伪造系统。本发明保证伪造者无法制造出具有合法硬件指纹的终端设备,阻止伪造者利用逆向工程提取硬件指纹的加密密钥。
Description
技术领域
本发明属于智网络安全技术领域,特别涉及一种用于智能终端防伪造的方法和系统。
背景技术
随着手机、智能家居终端、智能传感器终端等的广泛应用,终端生产厂商面临其他竞争者“山寨”自己产品的风险。由于智能终端是由固件软件和硬件组成,固件软件控制硬件的操作动作,而固件软件容易复制获取,竞争者可以“山寨”终端硬件,在其上运行正常合法的固件软件,那对于终端用户来说可以正常使用,很难发现这是一个“山寨”产品,这将造成合法终端生产厂商市场的流失。因此,如何让合法的固件软件能够识别其所运行的硬件是否合法就成为解决这一问题的关键。
目前解决这一问题的常用方法,是在终端中写入防伪码或者读取硬件的序列号,通过网络发送给验证服务器进行验证。但这种方法存在两个安全问题:一是防伪码或者硬件序列号容易复制伪造,即从合法硬件终端中读取到合法的防伪码或者序列号,然后写入到“山寨”硬件中,就可以通过验证服务器的验证;二是通过网络的验证过程容易受到中间人攻击,即“山寨”硬件不是直接向合法验证服务器发送验证请求,而是通过中间人发送请求,中间人可以伪造验证通过消息回复给“山寨”硬件,从而通过验证。
发明内容
为了解决上述技术问题,本发明提出一种用于智能终端防伪造的方法和系统,保证固件软件与硬件深度绑定,通过本地执行验证过程,而不是通过网络执行验证过程,大大减少可能被攻击的接口,能够抵抗目前基于本地和基于网络的终端伪造方法。
为实现上述目的,本发明采用以下技术方案:
一种用于智能终端防伪造的方法,包括以下步骤:
智能终端在出厂前,通过物理不可克隆函数生成硬件指纹;利用随机数作为密钥,采用分组密码算法对所述硬件指纹进行加密得到分组密码算法的密钥;然后再对所述分组密码算法的密钥进行二次加密得到第一验证码,存储第一验证码,并生成白盒密码算法;然后以分组密码算法的密钥对智能终端固件软件整体打包加密,使智能终端的硬件指纹和固件软件绑定;
智能终端在出厂后,运行物理不可克隆函数获取硬件指纹;运行白盒密码算法对硬件指纹进行加密得到分组密码算法的密钥,采用分组密码算法对智能终端固件软件进行解密;运行白盒密码算法对硬件指纹进行二次加密得到第二验证码,并判断第二验证码与第一验证码是否相同。
进一步的,在相同的智能终端上每次运行物理不可克隆函数得到相同的硬件指纹。
进一步的,所述智能终端在出厂前,通过物理不可克隆函数生成硬件指纹;利用随机数作为密钥,采用分组密码算法对所述硬件指纹进行加密得到分组密码算法的密钥;然后再对所述分组密码算法的密钥进行二次加密得到第一验证码,存储第一验证码,并生成白盒密码算法;然后以分组密码算法的密钥对智能终端固件软件整体打包加密,使智能终端的硬件指纹和固件软件绑定包括以下步骤:
智能终端在出厂前,通过物理不可克隆函数生成硬件指纹H0;
利用随机数生成器生成随机数;所述随机数的长度满足分组密码算法E对密钥的要求;
采用分组密码算法E,以k0为密钥,对H0进行加密,得到H1=E(H0,k0);其中所述H1为固件软件包加密的密钥;
继续采用分组密码算法E,以k0为密钥,对H1进行加密得到第一验证码H2;其中H2=E(H1,k0);H2为密钥H1的密文;
继续采用分组密码算法E,以H1为密钥,对智能终端固件软件S进行整体打包加密,得到W=E(S,H1),其中W为S的密文;
以k0为密钥,分组密码算法E为基础,生成白盒密码算法E';
将E'、H2、W写入智能终端。
进一步的,所述智能终端在出厂后,运行物理不可克隆函数获取硬件指纹;运行白盒密码算法对硬件指纹进行加密得到分组密码算法的密钥,采用分组密码算法对智能终端固件软件进行解密;运行白盒密码算法对硬件指纹进行二次加密得到第二验证码,并判断第二验证码与第一验证码是否相同包括以下步骤:
在智能终端上电启动时,运行物理不可克隆函数,获取智能终端的硬件指纹H0;
智能终端进入超级管理员模式,运行白盒密码算法E',加密H0,得到H1'=E'(H0);
继续运行白盒密码算法E',加密H1'得到第二验证码H2';其中H2'=E'(H1'),H2'为H1'的密文;
运行分组密码算法E,以H1'为密钥,解密固件软件,得到S'=E(W,H1');其中S'为对W解密后得到的明文;
比较第二验证码H2'和第一验证码H2。
进一步的,如果第二验证码H2'和第一验证码H2相等,则通过验证,退出超级管理员模式,执行解密后的固件软件;如果第二验证码H2'和第一验证码H2不相等,则未通过验证,智能终端运行终止,自动关机。
本发明还提出了一种用于智能终端防伪造的系统,包括设置模块和验证模块;
所述设置模块用于智能终端在出厂前,通过物理不可克隆函数生成硬件指纹;利用随机数作为密钥,采用分组密码算法对所述硬件指纹进行加密得到分组密码算法的密钥;然后再对所述分组密码算法的密钥进行二次加密得到第一验证码,存储第一验证码,并生成白盒密码算法;然后以分组密码算法的密钥对智能终端固件软件整体打包加密,使智能终端的硬件指纹和固件软件绑定;
所述验证模块用于智能终端在出厂后,运行物理不可克隆函数获取硬件指纹;运行白盒密码算法对硬件指纹进行加密得到分组密码算法的密钥,采用分组密码算法对智能终端固件软件进行解密;运行白盒密码算法对硬件指纹进行二次加密得到第二验证码,并判断第二验证码与第一验证码是否相同。
进一步的,所述设置模块执行的步骤为:
智能终端在出厂前,通过物理不可克隆函数生成硬件指纹H0;
利用随机数生成器生成随机数;所述随机数的长度满足分组密码算法E对密钥的要求;
采用分组密码算法E,以k0为密钥,对H0进行加密,得到H1=E(H0,k0);其中所述H1为固件软件包加密的密钥;
继续采用分组密码算法E,以k0为密钥,对H1进行加密得到第一验证码H2;其中H2=E(H1,k0);H2为密钥H1的密文;
继续采用分组密码算法E,以H1为密钥,对智能终端固件软件S进行整体打包加密,得到W=E(S,H1),其中W为S的密文;
以k0为密钥,分组密码算法E为基础,生成白盒密码算法E';
将E'、H2、W写入智能终端。
进一步的,所述验证模块执行的步骤为:
在智能终端上电启动时,运行物理不可克隆函数,获取智能终端的硬件指纹H0;
智能终端进入超级管理员模式,运行白盒密码算法E',加密H0,得到H1'=E'(H0);
继续运行白盒密码算法E',加密H1'得到第二验证码H2';其中H2'=E'(H1'),H2'为H1'的密文;
运行分组密码算法E,以H1'为密钥,解密固件软件,得到S'=E(W,H1');其中S'为对W解密后得到的明文;
比较第二验证码H2'和第一验证码H2。
进一步的,所述系统还包括判断执行模块;
所述判断执行模块用于判断第二验证码H2'和第一验证码H2是否相等,如果第二验证码H2'和第一验证码H2相等,则通过验证,退出超级管理员模式,执行解密后的固件软件;如果第二验证码H2'和第一验证码H2不相等,则未通过验证,智能终端运行终止,自动关机。
发明内容中提供的效果仅仅是实施例的效果,而不是发明所有的全部效果,上述技术方案中的一个技术方案具有如下优点或有益效果:
本发明提出了一种用于智能终端防伪造的方法和系统,该方法智能终端在出厂前,通过物理不可克隆函数生成硬件指纹;利用随机数作为密钥,采用分组密码算法对硬件指纹进行加密得到分组密码算法的密钥;然后再对分组密码算法的密钥进行二次加密得到第一验证码,存储第一验证码,并生成白盒密码算法;然后以分组密码算法的密钥对智能终端固件软件整体打包加密,使智能终端的硬件指纹和固件软件绑定。智能终端在出厂后,运行物理不可克隆函数获取硬件指纹;运行白盒密码算法对硬件指纹进行加密得到分组密码算法的密钥,采用分组密码算法对智能终端固件软件进行解密;运行白盒密码算法对硬件指纹进行二次加密得到第二验证码,并判断第二验证码与第一验证码是否相同。基于本发明提出的一种用于智能终端防伪造的方法,还提出了一种用于智能终端防伪造的系统。本发明在终端设备出厂之前将物理不可克隆函数生成的硬件指纹写入终端,并且固件软件的执行依赖于该硬件指纹,使得固件软件与硬件绑定。同时,为保护硬件指纹信息,使用白盒密码算法和CPU特权模式,防止被逆向分析,从而可以抵抗目前的终端伪造方法。利用物理不可克隆函数生成终端设备的硬件指纹,从而保证伪造者无法制造出具有合法硬件指纹的终端设备。同时,由于伪造者可以物理接触合法的终端,从合法终端上提取合法的硬件指纹,因此本发明利用抗白盒攻击的白盒密码算法,并结合CPU的特权模式,可以阻止伪造者利用各种逆向工程提取硬件指纹的加密密钥。并且,终端的固件软件以基于硬件指纹生成的密钥进行加密,可以阻止伪造者即使跳过验证过程,也无法运行固件软件。
附图说明
如图1为本发明实施例1提出的智能终端出厂前设置流程图;
如图2为本发明实施例1提出的智能终端出厂后验证流程图;
如图3为本发明实施例2提出的一种用于智能终端防伪造的系统示意图。
为能清楚说明本方案的技术特点,下面通过具体实施方式,并结合其附图,对本发明进行详细阐述。下文的公开提供了许多不同的实施例或例子用来实现本发明的不同结构。为了简化本发明的公开,下文中对特定例子的部件和设置进行描述。此外,本发明可以在不同例子中重复参考数字和/或字母。这种重复是为了简化和清楚的目的,其本身不指示所讨论各种实施例和/或设置之间的关系。应当注意,在附图中所图示的部件不一定按比例绘制。本发明省略了对公知组件和处理技术及工艺的描述以避免不必要地限制本发明。
实施例1
本发明实施例1提出了一种用于智能终端防伪造的方法,包括智能终端出厂前的设置以及出厂后的终端设备启动验证。
智能终端在出厂前,通过物理不可克隆函数生成硬件指纹;利用随机数作为密钥,采用分组密码算法对硬件指纹进行加密得到分组密码算法的密钥;然后再对分组密码算法的密钥进行二次加密得到第一验证码,存储第一验证码,并生成白盒密码算法;然后以分组密码算法的密钥对智能终端固件软件整体打包加密,使智能终端的硬件指纹和固件软件绑定;
智能终端在出厂后,运行物理不可克隆函数获取硬件指纹;运行白盒密码算法对硬件指纹进行加密得到分组密码算法的密钥,采用分组密码算法对智能终端固件软件进行解密;运行白盒密码算法对硬件指纹进行二次加密得到第二验证码,并判断第二验证码与第一验证码是否相同。
如图1给出了本发明实施例1智能终端出厂前的设置流程图。
在步骤S101中,通过物理不可克隆函数生成硬件指纹H0;这里的物理不可克隆函数,要求在同一设备上每次运行输出的数据是相同的。
在步骤S102中,利用随机数生成器生成随机数;随机数的长度满足分组密码算法E对密钥的要求;比如:若选择128比特的AES算法,则要求k0的长度为128比特;若选择256比特的AES算法,则要求k0的长度为256比特。本发明保护的范围不局限于实施例。
在步骤S103中,采用分组密码算法E,以k0为密钥,对H0进行加密,得到H1=E(H0,k0);其中H1为固件软件包加密的密钥。
在步骤S104中,继续采用分组密码算法E,以k0为密钥,对H1进行加密得到第一验证码H2,其中H2=E(H1,k0);H2为密钥H1的密文;H2将作为密钥H1的密文进行存储,防止直接存储密钥H1。
在步骤S105中,继续采用分组密码算法E,以H1为密钥,对智能终端固件软件S进行整体打包加密,得到W=E(S,H1),其中W为S的密文。
在步骤S106中,以k0为密钥,分组密码算法E为基础,生成白盒密码算法E'。
在步骤S107中,将E'、H2、W写入智能终端。
智能终端出厂后启动验证阶段,如图2所示为本发明实施例1提出的智能终端出厂后验证流程图。
在步骤S201中,在智能终端上电启动时,运行物理不可克隆函数,获取智能终端的硬件指纹H0;在同一硬件设备上运行物理不可克隆函数PUF,得到的结果是相同的。
在步骤S202中,终端CPU进入CPU特权模式。这里的特权模式,是指CPU进入超级管理员模式。在X86/64架构下指System Management Mode模式,在ARM架构下指Supervisor模式,在其他CPU架构下指类似的模式。
在步骤S203中,运行白盒密码算法E',加密H0,得到H1'=E'(H0);作为密钥,用于解密固件软件S的密文W。
在步骤S204中,继续运行白盒密码算法E',加密H1'得到第二验证码H2',其中H2'=E'(H1'),其中H2'为H1'的密文。
在步骤S205中,运行分组密码算法E,以H1'为密钥,解密固件软件,得到S'=E(W,H1');其中S'为对W解密后得到的明文;由于到这一步还不知道得到的H1'是否是正确的H1,所以对W解密后得到的明文以S'表示。
在步骤S206中,比较第二验证码H2'和第一验证码H2。若两者相等,则通过验证,执行步骤S207,否则,则未通过验证,执行步骤S208。
在步骤S207中,智能终端CPU退出特权模式,开始执行解密后的固件软件。
在步骤S208中,智能终端终止运行,自动关机。
实时例2
基于本发明提出的一种用于智能终端防伪造的方法,还提出了一种用于智能终端防伪造的系统。如图2给出了一种用于智能终端防伪造的系统示意图;该系统包括:设置模块和验证模块。
设置模块用于智能终端在出厂前,通过物理不可克隆函数生成硬件指纹;利用随机数作为密钥,采用分组密码算法对硬件指纹进行加密得到分组密码算法的密钥;然后再对分组密码算法的密钥进行二次加密得到第一验证码,存储第一验证码,并生成白盒密码算法;然后以分组密码算法的密钥对智能终端固件软件整体打包加密,使智能终端的硬件指纹和固件软件绑定;
验证模块用于智能终端在出厂后,运行物理不可克隆函数获取硬件指纹;运行白盒密码算法对硬件指纹进行加密得到分组密码算法的密钥,采用分组密码算法对智能终端固件软件进行解密;运行白盒密码算法对硬件指纹进行二次加密得到第二验证码,并判断第二验证码与第一验证码是否相同。
其中设置模块的步骤为:
智能终端在出厂前,通过物理不可克隆函数生成硬件指纹H0;
利用随机数生成器生成随机数;所述随机数的长度满足分组密码算法E对密钥的要求;
采用分组密码算法E,以k0为密钥,对H0进行加密,得到H1=E(H0,k0);其中所述H1为固件软件包加密的密钥;
继续采用分组密码算法E,以k0为密钥,对H1进行加密得到第一验证码H2;其中H2=E(H1,k0);H2为密钥H1的密文;
继续采用分组密码算法E,以H1为密钥,对智能终端固件软件S进行整体打包加密,得到W=E(S,H1),其中W为S的密文;
以k0为密钥,分组密码算法E为基础,生成白盒密码算法E';
将E'、H2、W写入智能终端。
验证模块执行的步骤为:
在智能终端上电启动时,运行物理不可克隆函数,获取智能终端的硬件指纹H0;
智能终端进入超级管理员模式,运行白盒密码算法E',加密H0,得到H1'=E'(H0);
继续运行白盒密码算法E',加密H1'得到第二验证码H2';其中H2'=E'(H1'),H2'为H1'的密文;
运行分组密码算法E,以H1'为密钥,解密固件软件,得到S'=E(W,H1');其中S'为对W解密后得到的明文;
比较第二验证码H2'和第一验证码H2。
该系统还包括判断执行模块;
判断执行模块用于判断第二验证码H2'和第一验证码H2是否相等,如果第二验证码H2'和第一验证码H2相等,则通过验证,退出超级管理员模式,执行解密后的固件软件;如果第二验证码H2'和第一验证码H2不相等,则未通过验证,智能终端运行终止,自动关机。
上述虽然结合附图对本发明的具体实施方式进行了描述,但并非对本发明保护范围的限制。对于所属领域的技术人员来说,在上述说明的基础上还可以做出其它不同形式的修改或变形。这里无需也无法对所有的实施方式予以穷举。在本发明的技术方案的基础上,本领域技术人员不需要付出创造性劳动即可做出的各种修改或变形仍在本发明的保护范围以内。
Claims (9)
1.一种用于智能终端防伪造的方法,其特征在于,包括以下步骤:
智能终端在出厂前,通过物理不可克隆函数生成硬件指纹;利用随机数作为密钥,采用分组密码算法对所述硬件指纹进行加密得到分组密码算法的密钥;然后再对所述分组密码算法的密钥进行二次加密得到第一验证码,存储第一验证码,并生成白盒密码算法;然后以分组密码算法的密钥对智能终端固件软件整体打包加密,使智能终端的硬件指纹和固件软件绑定;
智能终端在出厂后,运行物理不可克隆函数获取硬件指纹;运行白盒密码算法对硬件指纹进行加密得到分组密码算法的密钥,采用分组密码算法对智能终端固件软件进行解密;运行白盒密码算法对硬件指纹进行二次加密得到第二验证码,并判断第二验证码与第一验证码是否相同。
2.根据权利要求1所述的一种用于智能终端防伪造的方法,其特征在于,在相同的智能终端上每次运行物理不可克隆函数得到相同的硬件指纹。
3.根据权利要求1所述的一种用于智能终端防伪造的方法,其特征在于,所述智能终端在出厂前,通过物理不可克隆函数生成硬件指纹;利用随机数作为密钥,采用分组密码算法对所述硬件指纹进行加密得到分组密码算法的密钥;然后再对所述分组密码算法的密钥进行二次加密得到第一验证码,存储第一验证码,并生成白盒密码算法;然后以分组密码算法的密钥对智能终端固件软件整体打包加密,使智能终端的硬件指纹和固件软件绑定包括以下步骤:
智能终端在出厂前,通过物理不可克隆函数生成硬件指纹H0;
利用随机数生成器生成随机数;所述随机数的长度满足分组密码算法E对密钥的要求;
采用分组密码算法E,以k0为密钥,对H0进行加密,得到H1=E(H0,k0);其中所述H1为固件软件包加密的密钥;
继续采用分组密码算法E,以k0为密钥,对H1进行加密得到第一验证码H2;其中H2=E(H1,k0);H2为密钥H1的密文;
继续采用分组密码算法E,以H1为密钥,对智能终端固件软件S进行整体打包加密,得到W=E(S,H1),其中W为S的密文;
以k0为密钥,分组密码算法E为基础,生成白盒密码算法E';
将E'、H2、W写入智能终端。
4.根据权利要求3所述的一种用于智能终端防伪造的方法,其特征在于,所述智能终端在出厂后,运行物理不可克隆函数获取硬件指纹;运行白盒密码算法对硬件指纹进行加密得到分组密码算法的密钥,采用分组密码算法对智能终端固件软件进行解密;运行白盒密码算法对硬件指纹进行二次加密得到第二验证码,并判断第二验证码与第一验证码是否相同包括以下步骤:
在智能终端上电启动时,运行物理不可克隆函数,获取智能终端的硬件指纹H0;
智能终端进入超级管理员模式,运行白盒密码算法E',加密H0,得到H1'=E'(H0);
继续运行白盒密码算法E',加密H1'得到第二验证码H2';其中H2'=E'(H1'),H2'为H1'的密文;
运行分组密码算法E,以H1'为密钥,解密固件软件,得到S'=E(W,H1');其中S'为对W解密后得到的明文;
比较第二验证码H2'和第一验证码H2。
5.根据权利要求4所述的一种用于智能终端防伪造的方法,其特征在于,如果第二验证码H2'和第一验证码H2相等,则通过验证,退出超级管理员模式,执行解密后的固件软件;如果第二验证码H2'和第一验证码H2不相等,则未通过验证,智能终端运行终止,自动关机。
6.一种用于智能终端防伪造的系统,其特征在于,包括设置模块和验证模块;
所述设置模块用于智能终端在出厂前,通过物理不可克隆函数生成硬件指纹;利用随机数作为密钥,采用分组密码算法对所述硬件指纹进行加密得到分组密码算法的密钥;然后再对所述分组密码算法的密钥进行二次加密得到第一验证码,存储第一验证码,并生成白盒密码算法;然后以分组密码算法的密钥对智能终端固件软件整体打包加密,使智能终端的硬件指纹和固件软件绑定;
所述验证模块用于智能终端在出厂后,运行物理不可克隆函数获取硬件指纹;运行白盒密码算法对硬件指纹进行加密得到分组密码算法的密钥,采用分组密码算法对智能终端固件软件进行解密;运行白盒密码算法对硬件指纹进行二次加密得到第二验证码,并判断第二验证码与第一验证码是否相同。
7.根据权利要求6所述的一种用于智能终端防伪造的系统,其特征在于,所述设置模块执行的步骤为:
智能终端在出厂前,通过物理不可克隆函数生成硬件指纹H0;
利用随机数生成器生成随机数;所述随机数的长度满足分组密码算法E对密钥的要求;
采用分组密码算法E,以k0为密钥,对H0进行加密,得到H1=E(H0,k0);其中所述H1为固件软件包加密的密钥;
继续采用分组密码算法E,以k0为密钥,对H1进行加密得到第一验证码H2;其中H2=E(H1,k0);H2为密钥H1的密文;
继续采用分组密码算法E,以H1为密钥,对智能终端固件软件S进行整体打包加密,得到W=E(S,H1),其中W为S的密文;
以k0为密钥,分组密码算法E为基础,生成白盒密码算法E';
将E'、H2、W写入智能终端。
8.根据权利要求6所述的一种用于智能终端防伪造的系统,其特征在于,所述验证模块执行的步骤为:
在智能终端上电启动时,运行物理不可克隆函数,获取智能终端的硬件指纹H0;
智能终端进入超级管理员模式,运行白盒密码算法E',加密H0,得到H1'=E'(H0);
继续运行白盒密码算法E',加密H1'得到第二验证码H2';其中H2'=E'(H1'),H2'为H1'的密文;
运行分组密码算法E,以H1'为密钥,解密固件软件,得到S'=E(W,H1');其中S'为对W解密后得到的明文;
比较第二验证码H2'和第一验证码H2。
9.根据权利要求6所述一种用于智能终端防伪造的系统,其特征在于,所述系统还包括判断执行模块;
所述判断执行模块用于判断第二验证码H2'和第一验证码H2是否相等;如果第二验证码H2'和第一验证码H2相等,则通过验证,退出超级管理员模式,执行解密后的固件软件;如果第二验证码H2'和第一验证码H2不相等,则未通过验证,智能终端运行终止,自动关机。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010786129.5A CN111884814B (zh) | 2020-08-06 | 2020-08-06 | 一种用于智能终端防伪造的方法和系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010786129.5A CN111884814B (zh) | 2020-08-06 | 2020-08-06 | 一种用于智能终端防伪造的方法和系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111884814A true CN111884814A (zh) | 2020-11-03 |
CN111884814B CN111884814B (zh) | 2023-07-07 |
Family
ID=73211382
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010786129.5A Active CN111884814B (zh) | 2020-08-06 | 2020-08-06 | 一种用于智能终端防伪造的方法和系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111884814B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113055183A (zh) * | 2021-03-18 | 2021-06-29 | 电子科技大学 | 一种基于硬件指纹的身份认证和加密传输系统 |
CN116561822A (zh) * | 2023-07-07 | 2023-08-08 | 中科鉴芯(北京)科技有限责任公司 | 产品的防伪方法、组件及系统 |
CN117251836A (zh) * | 2023-11-15 | 2023-12-19 | 苏州元脑智能科技有限公司 | 一种基板管理控制器登录方法、装置、设备和存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090252327A1 (en) * | 2008-04-02 | 2009-10-08 | Mathieu Ciet | Combination white box/black box cryptographic processes and apparatus |
CN107508791A (zh) * | 2017-07-12 | 2017-12-22 | 武汉精伦电气有限公司 | 一种基于分散密钥加密的终端身份验证方法及系统 |
CN110011987A (zh) * | 2019-03-21 | 2019-07-12 | 深圳云知声信息技术有限公司 | 一种手机程序与智能硬件进行绑定的系统及方法 |
-
2020
- 2020-08-06 CN CN202010786129.5A patent/CN111884814B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090252327A1 (en) * | 2008-04-02 | 2009-10-08 | Mathieu Ciet | Combination white box/black box cryptographic processes and apparatus |
CN107508791A (zh) * | 2017-07-12 | 2017-12-22 | 武汉精伦电气有限公司 | 一种基于分散密钥加密的终端身份验证方法及系统 |
CN110011987A (zh) * | 2019-03-21 | 2019-07-12 | 深圳云知声信息技术有限公司 | 一种手机程序与智能硬件进行绑定的系统及方法 |
Non-Patent Citations (1)
Title |
---|
习伟等: "一种基于国密算法和物理不克隆函数的安全并行总线", 《南方电网技术》 * |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113055183A (zh) * | 2021-03-18 | 2021-06-29 | 电子科技大学 | 一种基于硬件指纹的身份认证和加密传输系统 |
CN116561822A (zh) * | 2023-07-07 | 2023-08-08 | 中科鉴芯(北京)科技有限责任公司 | 产品的防伪方法、组件及系统 |
CN117251836A (zh) * | 2023-11-15 | 2023-12-19 | 苏州元脑智能科技有限公司 | 一种基板管理控制器登录方法、装置、设备和存储介质 |
CN117251836B (zh) * | 2023-11-15 | 2024-02-20 | 苏州元脑智能科技有限公司 | 一种基板管理控制器登录方法、装置、设备和存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN111884814B (zh) | 2023-07-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109510708B (zh) | 一种基于Intel SGX机制的公钥密码计算方法和系统 | |
EP2965254B1 (en) | Systems and methods for maintaining integrity and secrecy in untrusted computing platforms | |
CN102138300B (zh) | 消息认证码预计算在安全存储器中的应用 | |
US8516268B2 (en) | Secure field-programmable gate array (FPGA) architecture | |
CN100490372C (zh) | 一种对加密密钥进行备份与恢复的方法 | |
CN100487715C (zh) | 一种数据安全存储系统和装置及方法 | |
CN100468438C (zh) | 实现硬件和软件绑定的加密和解密方法 | |
CN109728914B (zh) | 数字签名验证方法、系统、装置及计算机可读存储介质 | |
US10680816B2 (en) | Method and system for improving the data security during a communication process | |
CN111884814B (zh) | 一种用于智能终端防伪造的方法和系统 | |
CN107005577B (zh) | 指纹数据的处理方法及处理装置 | |
JP2007013433A (ja) | 暗号化データを送受信する方法及び情報処理システム | |
CN110868291B (zh) | 一种数据加密传输方法、装置、系统及存储介质 | |
CN110889696A (zh) | 一种基于sgx技术的联盟区块链秘钥存储方法、装置、设备及介质 | |
CN102904712A (zh) | 信息加密方法 | |
CN102163267A (zh) | 固态硬盘安全访问控制方法、装置和固态硬盘 | |
CN112487380B (zh) | 一种数据交互方法、装置、设备及介质 | |
CN112685786A (zh) | 一种金融数据加密、解密方法、系统、设备及存储介质 | |
CN114499875A (zh) | 业务数据处理方法、装置、计算机设备和存储介质 | |
CN100476844C (zh) | 电子钥匙与计算机之间实现绑定功能的方法 | |
CN112968774B (zh) | 一种组态存档加密及解密方法、装置存储介质及设备 | |
Hu | Study of file encryption and decryption system using security key | |
CN111556064B (zh) | 基于电力网关的密钥管理方法、装置、介质及终端设备 | |
CN114329522A (zh) | 一种私钥保护方法、装置、系统及存储介质 | |
CN115544583B (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |