CN112448819A - 物联网设备的校验、签名文件的生成方法及装置 - Google Patents

物联网设备的校验、签名文件的生成方法及装置 Download PDF

Info

Publication number
CN112448819A
CN112448819A CN202011232445.4A CN202011232445A CN112448819A CN 112448819 A CN112448819 A CN 112448819A CN 202011232445 A CN202011232445 A CN 202011232445A CN 112448819 A CN112448819 A CN 112448819A
Authority
CN
China
Prior art keywords
internet
things
hardware information
things equipment
signature file
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
CN202011232445.4A
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.)
Alipay Hangzhou Information Technology Co Ltd
Original Assignee
Alipay Hangzhou Information 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 Alipay Hangzhou Information Technology Co Ltd filed Critical Alipay Hangzhou Information Technology Co Ltd
Priority to CN202011232445.4A priority Critical patent/CN112448819A/zh
Publication of CN112448819A publication Critical patent/CN112448819A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic 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/3247Cryptographic 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 involving digital signatures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/602Providing cryptographic facilities or services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/64Protecting data integrity, e.g. using checksums, certificates or signatures
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/12Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic 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/3236Cryptographic 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 cryptographic hash functions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/50Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Medical Informatics (AREA)
  • Computing Systems (AREA)
  • Computer And Data Communications (AREA)

Abstract

本说明书实施例提供了一种物联网设备的校验、签名文件的生成方法及装置,该校验方法包括:在物联网设备的启动过程中,获取该物联网设备的硬件信息;在物联网设备的可信执行环境中,基于可信执行环境中所存储的物联网设备的硬件信息所对应的签名文件校验物联网设备的硬件信息是否被篡改;若校验结果指示物联网设备的硬件信息被篡改,则执行恢复被篡改的硬件信息的操作;其中,物联网设备的可信执行环境中所存储的签名文件为该物联网设备出厂前基于该物联网设备所对应的设备密钥中的私钥对该物联网设备的硬件信息进行签名得到的。

Description

物联网设备的校验、签名文件的生成方法及装置
技术领域
本文件涉及物联网技术领域,尤其涉及一种物联网设备的校验、签名文件的生成方法及装置。
背景技术
随着互联网技术的快速发展,物联网设备,如支付设备、终端设备、视频监控设备等在各个领域得到了广泛的应用,并且,越来越多领域的物联网设备可以接入互联网。随着物联网设备的广泛应用,一些非法操作者通过篡改物联网设备的硬件信息伪造物联网设备,从而利用伪造的设备从事非法活动。例如,非法操作者可以通过篡改物联网设备的标识信息反复参与某项获利活动,从而给活动主办方带来经济损失。
因此,如何可靠的识别物联网设备的硬件信息是否被篡改成为当前亟需解决的问题。
发明内容
本说明书实施例提供了一种物联网设备的校验方法,包括:在物联网设备的启动过程中,获取所述物联网设备的硬件信息;在所述物联网设备的可信执行环境中,基于所述可信执行环境中所存储的签名文件校验所述物联网设备的硬件信息是否被篡改;其中,所述签名文件为所述物联网设备出厂前基于所述物联网设备所对应的设备密钥中的私钥对所述物联网设备的硬件信息进行签名得到的;若校验结果指示所述物联网设备的硬件信息被篡改,则执行恢复被篡改的硬件信息的操作。
本说明书实施例还提供了一种物联网设备的签名文件的生成方法,包括:在物联网设备的生产过程中,获取所述物联网设备的硬件信息;将所述硬件信息发送给服务端,以使所述服务端基于所述物联网设备所对应的设备密钥中的私钥对所述硬件信息进行签名,得到所述物联网设备的硬件信息所对应的签名文件;接收所述服务端返回的所述签名文件;将所述签名文件写入所述物联网设备的可信执行环境中,以使所述物联网设备在启动过程中,基于所述签名文件校验所述物联网设备的硬件信息是否被篡改,并在确定所述物联网设备的硬件信息被篡改时,执行恢复被篡改的硬件信息的操作。
本说明书实施例还提供了一种物联网设备的校验装置,包括:获取模块,在物联网设备的启动过程中,获取所述物联网设备的硬件信息;校验模块,在所述物联网设备的可信执行环境中,基于所述可信执行环境中所存储的签名文件校验所述物联网设备的硬件信息是否被篡改;其中,所述签名文件为所述物联网设备出厂前基于所述物联网设备所对应的设备密钥中的私钥对所述物联网设备的硬件信息进行签名得到的;执行模块,若校验结果指示所述物联网设备的硬件信息被篡改,则执行恢复被篡改的硬件信息的操作。
本说明书实施例还提供了一种物联网设备的签名文件的生成装置,包括:获取模块,在物联网设备的生产过程中,获取所述物联网设备的硬件信息;发送模块,将所述硬件信息发送给服务端,以使所述服务端基于所述物联网设备所对应的设备密钥中的私钥对所述硬件信息进行签名,得到所述物联网设备的硬件信息所对应的签名文件;接收模块,接收所述服务端返回的所述签名文件;写入模块,将所述签名文件写入所述物联网设备的可信执行环境中,以使所述物联网设备在启动过程中,基于所述签名文件校验所述物联网设备的硬件信息是否被篡改,并在确定所述物联网设备的硬件信息被篡改时,执行恢复被篡改的硬件信息的操作。
本说明书实施例还提供了一种物联网设备的校验设备,包括:处理器;以及被安排成存储计算机可执行指令的存储器,所述可执行指令在被执行时使所述处理器:在物联网设备的启动过程中,获取所述物联网设备的硬件信息;在所述物联网设备的可信执行环境中,基于所述可信执行环境中所存储的签名文件校验所述物联网设备的硬件信息是否被篡改;其中,所述签名文件为所述物联网设备出厂前基于所述物联网设备所对应的设备密钥中的私钥对所述物联网设备的硬件信息进行签名得到的;若校验结果指示所述物联网设备的硬件信息被篡改,则执行恢复被篡改的硬件信息的操作。
本说明书实施例还提供了一种物联网设备的签名文件的生成设备,包括:处理器;以及被安排成存储计算机可执行指令的存储器,所述可执行指令在被执行时使所述处理器:在物联网设备的生产过程中,获取所述物联网设备的硬件信息;将所述硬件信息发送给服务端,以使所述服务端基于所述物联网设备所对应的设备密钥中的私钥对所述硬件信息进行签名,得到所述物联网设备的硬件信息所对应的签名文件;接收所述服务端返回的所述签名文件;将所述签名文件写入所述物联网设备的可信执行环境中,以使所述物联网设备在启动过程中,基于所述签名文件校验所述物联网设备的硬件信息是否被篡改,并在确定所述物联网设备的硬件信息被篡改时,执行恢复被篡改的硬件信息的操作。
本说明书实施例还提供了一种存储介质,用于存储计算机可执行指令,所述可执行指令在被执行时实现以下流程:在物联网设备的启动过程中,获取所述物联网设备的硬件信息;在所述物联网设备的可信执行环境中,基于所述可信执行环境中所存储的签名文件校验所述物联网设备的硬件信息是否被篡改;其中,所述签名文件为所述物联网设备出厂前基于所述物联网设备所对应的设备密钥中的私钥对所述物联网设备的硬件信息进行签名得到的;若校验结果指示所述物联网设备的硬件信息被篡改,则执行恢复被篡改的硬件信息的操作。
本说明书实施例还提供了一种存储介质,用于存储计算机可执行指令,所述可执行指令在被执行时实现以下流程:在物联网设备的生产过程中,获取所述物联网设备的硬件信息;将所述硬件信息发送给服务端,以使所述服务端基于所述物联网设备所对应的设备密钥中的私钥对所述硬件信息进行签名,得到所述物联网设备的硬件信息所对应的签名文件;接收所述服务端返回的所述签名文件;将所述签名文件写入所述物联网设备的可信执行环境中,以使所述物联网设备在启动过程中,基于所述签名文件校验所述物联网设备的硬件信息是否被篡改,并在确定所述物联网设备的硬件信息被篡改时,执行恢复被篡改的硬件信息的操作。
附图说明
为了更清楚地说明本说明书实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本说明书实施例提供的物联网设备的校验方法的第一种流程示意图;
图2为本说明书实施例提供的物联网设备的校验方法的第二种流程示意图;
图3为本说明书实施例提供的物联网设备的签名文件的生成方法的流程示意图;
图4为本说明书实施例提供的物联网设备的校验装置的模块组成示意图;
图5为本说明书实施例提供的物联网设备的签名文件的生成装置的模块组成示意图;
图6为本说明书实施例提供的物联网设备的校验设备的结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本文件中的技术方案,下面将结合本说明书实施例中的附图,对本说明书实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本文件一部分实施例,而不是全部的实施例。基于本说明书中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都应当属于本文件保护的范围。
本说明书实施例的思想在于,在物联网设备出厂之前在物联网设备的可信执行环境中存储对物联网设备的硬件信息进行签名得到的签名文件,首先,以签名文件的形式进行硬件信息的存储,保证了所存储的硬件信息的安全性,其次,由于将签名文件存储在可信执行环境中,保证了签名文件的安全性;也即,存储在可信执行环境中的签名文件的安全性较高;因此,每次在启动物联网设备时,可以基于可信执行环境中所存储的签名文件对物联网设备的硬件信息进行校验,以验证物联网设备的硬件信息是否被篡改,从而可以及时发现物联网设备的硬件信息是否被篡改。基于此,本说明书实施例提供了一种物联网设备的校验方法、签名文件的生成方法、装置、设备及存储介质。下述将一一详细进行介绍。
需要说明的是,本说明书实施例中所提及到的硬件信息可以为物联网设备的国际移动设备识别码(International Mobile Equipment Identity,IMEI)、蓝牙地址、无线保真(Wireless Fidelity,WiFi)地址、序列号(Serial Number,SN)、中央处理器(centralprocessing unit,CPU)的标识信息等等。此处只是示例性的列举了几种具体的硬件信息,并不构成对上述硬件信息的限定。
首先,本说明书实施例提供了一种物联网设备的校验方法,该方法应用于物联网设备,即该方法的执行主体为物联网设备,具体的,可以为安装在物联网设备上的物联网设备的校验装置。实际上在本说明书实施例所公开的方案中,则是通过物联网设备自身校验其硬件信息是否被篡改。
图1为本说明书实施例提供的物联网设备的校验方法的第一种流程示意图,如图1所示,该方法至少包括如下步骤:
步骤102,在物联网设备的启动过程中,获取物联网设备的硬件信息。
其中,在上述步骤102中,可以从物联网设备读取该物联网设备的硬件信息,具体的,可以从物联网设备的存储空间(非可信执行环境中)读取物联网设备的硬件信息。
步骤104,在物联网设备的可信执行环境中,基于可信执行环境中所存储的签名文件校验物联网设备的硬件信息是否被篡改;若是,则执行步骤106;否则,结束。
具体的,本说明书实施例所提及到的可信执行环境可以为安全文件系统(SafeFile System,SFS)区域或重放保护内存块(Replay Protected Memory Block,RPMB)区域中任意一种。
其中,本说明书实施例中所提及到的可信执行环境可以为SFS区域,也可以为RPMB区域。由于RPMB区域的安全性更高,优选的,上述可信执行环境可以首选RPMB区域。
由于本说明书实施例所提及到的物联网设备的校验操作是在可信执行环境中执行的,因此,在具体实施时,需要将物联网设备的硬件信息中写入该物联网设备的可信执行环境,以便在可信执行环境中验证该物联网设备的硬件信息是否被篡改。
其中,上述签名文件为物联网设备出厂前基于物联网设备所对应的设备密钥中的私钥对物联网设备的硬件信息进行签名得到的。
一般情况下,物联网设备在出厂前,由于物联网设备还未投入使用,因此,在该阶段,物联网设备设备的硬件信息是未被篡改的,所以基于物联网设备在此阶段的硬件信息进行签名得到签名文件,保证了签名文件的可靠性,从而提高了物联网设备的校验的可靠性。
可选的,在一种具体实施方式中,本说明书实施例所提供的方法可以是在物联网设备的引导加载程序(bootloader)运行之后,在物联网设备的可信执行环境启动时,执行本说明书实施例提供的方法。
基于可信执行环境中的签名文件对该硬件信息进行校验,以验证该签名文件所对应的硬件信息与物联网设备的硬件信息是否一致。若是一致,则说明物联网设备的硬件信息未被篡改,则可以继续执行启动物联网设备的操作;若是不一致,则说明物联网设备的硬件信息已经被篡改,则需要执行物联网设备被篡改后相应的操作。
步骤106,执行恢复被篡改的硬件信息的操作。
具体的,在物联网设备的可信执行环境中存储有该物联网设备所对应硬件信息的备份信息;由于可信执行环境的安全性比较高,存储在可信执行环境中的硬件信息的备份信息被篡改的概率很低,因此,可以基于存储在可信执行环境中的物联网设备所对应的硬件信息的备份信息恢复被篡改的硬件信息。
因此,在该种情况下,上述步骤106中,执行恢复被篡改的硬件信息的操作,具体包括:
按照上述备份信息对被篡改的硬件信息进行恢复。
可选的,在上述实施例中,实际上可以理解为,按照备份信息对被篡改的硬件信息进行修改。
例如,在一种具体实施方式中,若是上述被篡改的硬件信息为物联网设备的IMEI,假设被篡改后的物联网设备的IMEI为IMEI1,可信执行环境中所存储的备份信息中的物联网设备的IMEI为IMEI2,因此,在具体实施时,可以将物联网设备的IMEI修改为IMEI2。当然,此处只是示例性说明,并不构成对本说明书实施例的限定。
其中,需要说明的是,在本说明书实施例中,在对物联网设备的硬件信息进行恢复时,可以直接使用可信执行环境中所存储的整个硬件信息的备份信息替换掉物联网设备的硬件信息;也可以是将可以可信执行环境中存储的备份信息与物联网设备的硬件信息进行比对,确定出物联网设备被篡改的某一条或几条硬件信息,并对所确定出的被篡改的某一条或者几条硬件信息进行恢复。
另外,需要说明的是,在本说明书实施例中,可信执行环境中所存储的物联网设备所对应硬件信息的备份信息,可以是在该物联网设备出厂之前写入的。
本说明书实施例提供的物联网设备的校验方法,在物联网设备出厂之前在物联网设备的可信执行环境中存储对物联网设备的硬件信息进行签名得到的签名文件,首先,以签名文件的形式进行硬件信息的存储,保证了所存储的硬件信息的安全性,其次,由于将签名文件存储在可信执行环境中,保证了签名文件的安全性;也即,存储在可信执行环境中的签名文件的安全性较高;因此,每次在启动物联网设备时,可以基于可信执行环境中所存储的签名文件对物联网设备的硬件信息进行校验,以验证物联网设备的硬件信息是否被篡改,从而可以及时发现物联网设备的硬件信息是否被篡改,以便及时恢复被篡改的硬件信息,从而减少由于物联网设备的硬件信息被篡改而导致的安全问题。
为便于理解本说明书实施例提供的方法,下述将详细介绍上述各个步骤的具体实现过程。
可选的,在一种具体实施方式中,上述步骤104中,在物联网设备的可信执行环境中,基于可信执行环境中所存储的签名文件校验物联网设备的硬件信息是否被篡改,具体包括如下过程:
在可信执行环境中,基于物联网设备所对应的设备密钥中的公钥对上述签名文件进行验签;若验签失败,则确定该物联网设备的硬件信息被篡改;若验签成功,则确定该物联网设备的硬件信息未被篡改。
其中,在本说明书实施例中,若是确定物联网设备的硬件信息被篡改,还可以将物联网设备的硬件信息与可信执行环境中所存储的硬件信息的备份信息进行比对,以确定被篡改的为物联网设备中的哪条硬件信息。
可选的,在具体实施时,在物联网设备的可信执行环境中存储有物联网设备的设备密钥中的公钥,上述签名文件则是基于物联网设备的设备密钥中的私钥对物联网设备的硬件信息进行签名后生成的。
因此,在验证物联网设备的硬件信息是否被篡改时,首先基于物联网设备所对应的设备密钥中的公钥对上述签名文件进行解密,得到该签名文件所对应的第一哈希值;然后基于相同的哈希算法对物联网设备的硬件信息进行哈希运算,得到物联网设备的硬件信息所对应的第二哈希值;然后比对第一哈希值与第二哈希值是否一致;若是第一哈希值与第二哈希值一致,则说明物联网设备的硬件信息与签名文件所对应的硬件信息一致,即物联网设备的硬件信息未被篡改,这时,则可以继续执行物联网设备的开机流程;若是第一哈希值与第二哈希值不一致,则说明物联网设备的硬件信息与签名文件所对应的硬件信息不一致,即物联网设备的硬件信息已经被篡改,这时,则需要执行恢复物联网设备被篡改的硬件信息的操作。
另外,需要说明的是,在生成物联网设备的硬件信息所对应的签名文件时,并不是直接基于物联网设备的设备密钥中的私钥对物联网设备的硬件信息进行加密得到,而是先基于预设的哈希算法对物联网设备的硬件信息进行哈希运算,生成物联网设备的硬件信息所对应的哈希值,然后基于物联网设备的设备密钥中的私钥对该哈希值进行加密运算,将加密后的密文信息作为该物联网设备所对应的签名文件,写入该物联网设备的可信执行环境。
可选的,在一种具体实施方式中,可以是一个物联网设备对应一个设备密钥,也可以是同一种类型的物联网设备对应一个设备密钥。
也即,在某些具体实施方式中,同一种类型的物联网设备所对应的设备密钥相同。即实际上可以理解为,同一种类型的物联网设备对应同一个设备密钥。例如,某品牌、某型号的手机所对应的设备密钥相同。
在本说明书实施例中,针对同一类型的物联网设备设置一个相同的设备密钥,便于统计那种类型的物联网设备的硬件信息被篡改的情况较多,从而可以重点关注该类型的物联网设备。
另外,在本说明书实施例中,为了进一步保障存储在可信执行环境中的签名文件的安全性,降低签名文件被篡改的概率。在本说明书实施例中,还可以预先对物联网设备所对应的设备密钥中的公钥进行加密处理,这样,即使非法用户获取到该物联网设备所对应的设备密钥中的公钥后,由于该公钥为加密后的密文信息,因此,也无法基于所获取的设备密钥中的公钥对签名文件进行解密。
因此,在一种具体实施方式中,物联网设备所对应的设备密钥中的公钥为基于物联网设备所对应的根密钥中的私钥进行加密后得到的密文信息;
相应的,在该种情况下,在可信执行环境中,基于物联网设备所对应的设备密钥中的公钥对该签名文件进行验签之前,本说明书实施例提供的方法还包括如下步骤:
基于可信执行环境中所存储的根密钥中的公钥对上述密文信息进行解密,得到物联网设备所对应的设备密钥中的公钥。
可选的,在具体实施时,物联网设备的根密钥中的私钥存储在服务端,用于对物联网设备的设备密钥中的公钥进行加密,物联网设备的根密钥中的公钥、以及设备密钥所对应的加密后的公钥的密文信息均存储在物联网设备的可信执行环境中。这样,在对物联网设备进行校验时,则基于可信执行环境中所存储的根密钥中的公钥对设备密钥中的公钥的密文信息进行解密,得到设备密钥的公钥。从而再基于设备密钥中的公钥对签名文件进行解密处理。
另外,在某些具体应用场景下,对于某些物联网设备而言,可能在出厂之前,并未将该物联网设备的硬件信息所对应的签名文件写入该物联网设备的可信执行环境中。针对这种情况下的物联网设备,则需要对其进行重点关注,以防止非法操作者修改该物联网设备的硬件信息利用其进行非法操作。
因此,在执行上述步骤102之前,也即,获取物联网设备的硬件信息之前,本说明书实施例提供的方法还包括如下步骤:
检测可信执行环境中是否存在上述签名文件;若不存在,则为该物联网设备添加标签信息;其中,该标签信息用于指示该物联网设备不存在该签名文件。
图2示出了本说明书实施例提供的物联网设备的校验方法的具体流程图,如图2所示,该方法具体包括如下步骤:
步骤202,在物联网设备的启动过程中,检测物联网设备的可信执行环境中是否存在该物联网设备的硬件信息所对应的签名文件;若存在,则执行步骤206;否则,执行步骤204。
步骤204,为该物联网设备添加标签信息;其中,该标签信息用于指示该物联网设备不存在签名文件。
步骤206,获取该物联网设备的硬件信息。
步骤208,在可信执行环境中,基于物联网设备的根密钥中的公钥对物联网设备的设备密钥中的公钥所对应的密文信息进行解密的,得到物联网设备的设备密钥中的公钥。
步骤210,基于物联网设备的设备密钥中的公钥对可信执行环境中所存储的签名文件进行验签;若验签成功,则结束;否则,执行步骤212。
步骤212,基于可信执行环境中所存储的物联网设备所对应的硬件信息的备份信息,执行恢复被篡改的硬件信息的操作。
其中,上述各个步骤的具体实现过程可参考图1所示实例,此处不再赘述。
本说明书实施例提供的物联网设备的校验方法,在物联网设备出厂之前,在物联网设备的可信执行环境中存储对物联网设备的硬件信息进行签名得到的签名文件,首先,以签名文件的形式进行硬件信息的存储,保证了所存储的硬件信息的安全性,其次,由于将签名文件存储在可信执行环境中,保证了签名文件的安全性;也即,存储在可信执行环境中的签名文件的安全性较高;因此,每次在启动物联网设备时,可以基于可信执行环境中所存储的签名文件对物联网设备的硬件信息进行校验,以验证物联网设备的硬件信息是否被篡改,从而可以及时发现物联网设备的硬件信息是否被篡改,以便及时恢复被篡改的硬件信息,从而减少由于物联网设备的硬件信息被篡改而导致的安全问题。
对应于本说明书实施例提供的物联网设备的校验方法,基于相同的思路,本说明书实施例还提供了一种物联网设备的签名文件的生成方法,该方法用于在物联网设备出厂之前(具体的,可以为物联网设备的任意一个生产环节完成之后)生成该物联网设备的硬件信息所对应的签名文件,并将该签名文件写入物联网设备的可信执行环境中,以便在物联网设备的使用过程中,验证物联网设备的硬件信息是否被篡改。具体的,本说明书实施例提供的物联网设备的签名文件的生成方法,可以应用于任意一台终端设备,如手机、计算机、电脑等,其中,该终端设备可以为物联网设备的生产线上的设备。本说明书实施例并不对上述终端设备进行限定,只要是可以实现本方案任意终端设备均可。
图3为本说明书实施例提供的物联网设备的签名文件的生成方法的第一种流程示意图,如图3所示,该方法包括:
步骤302,在物联网设备的生产过程中,获取物联网设备的硬件信息。
可选的,在一种具体实施方式中,可以从物联网设备获取该物联网设备所对应的硬件信息。例如,需要生成物联网设备A的硬件信息所对应的签名文件,则需要从物联网设备A获取物联网设备A的硬件信息。
当然,在另外一种具体实施方式中,若是用于执行该方法的终端设备为物联网设备的生产产线中的电脑等终端设备,且该终端设备中存储有需要生成签名文件的物联网设备的硬件信息,则执行从自身获取物联网设备的硬件信息即可。
步骤304,将上述硬件信息发送给服务端,以使服务端基于物联网设备所对应的设备密钥中的私钥对该硬件信息进行签名,得到该物联网设备的硬件信息所对应的签名文件。
其中,上述服务端可以理解为专门用于生成物联网设备的硬件信息所对应的签名文件的服务端。
可选的,在具体实施时,可以在服务端生成物联网设备所对应的设备密钥,该设备密钥中的私钥存储在服务端,用于对物联网设备的硬件信息进行签名,该设备密钥中的公钥存储在物联网设备的可信执行环境中,用于对该物联网设备的签名文件进行解密处理,以验证物联网设备的硬件信息是否被篡改。
具体的,在本说明书实施例中,当服务端接收到终端设备发送的物联网设备的硬件信息后,首先基于预设的哈希算法对该硬件信息进行哈希运算,生成该硬件信息所对应的哈希值;然后基于该物联网设备所对应的设备密钥中的私钥对该哈希值进行签名,将签名生成的签名文件确定为该物联网设备的硬件信息所对应的签名文件。
服务端在生成该物联网设备的硬件信息所对应的签名文件后,将该签名文件返回给终端设备。
步骤306,接收服务端返回的上述签名文件。
步骤308,将上述签名文件写入物联网设备的可信执行环境中,以使该物联网设备在启动过程中,基于该签名文件校验物联网设备的硬件信息是否被篡改,并在确定物联网设备的硬件信息被篡改时,执行恢复被篡改的硬件信息的操作。
具体的,当终端设备接收到服务端返回的签名文件后,则执行将该签名文件写入物联网设备的可信执行环境的操作。这样,每次物联网设备在启动时,可以基于可信执行环境中所存储的签名文件校验物联网设备的硬件信息是否被篡改。
其中,校验物联网设备的硬件信息是否被篡改的具体过程可参考图1-图2所示实施例,此处不再赘述。
另外,需要说明的是,在本说明书实施例中,上述可信执行环境包括SFS区域或者RPMB区域中的任意一种。
由于RPMB的安全性更高一些,因此,在某些具体实施方式中,可以优先选择RPMB区域。
另外,在本说明书实施例中,为了防止出现将签名文件写入错误的物联网设备的情况的发生,如将物联网设备A所对应的签名文件写入物联网设备B的可信执行环境中。因此,在将签名文件写入物联网设备的可信执行环境中之前,本说明书实施例提供的方法还包括:
使用该物联网设备的设备密钥中的公钥对该签名文件进行签名验证,若是签名验证通过,再执行将该签名文件写入物联网设备的可信执行环境中的操作。
一般情况下,设备密钥为密钥对的形式,即包括一个公钥和一个私钥,在使用某个设备密钥的私钥对硬件信息进行签名后,只有使用同一个密钥对中的公钥才可以对该签名信息进行解密。因此,在本说明书实施例中,若是使用该物联网设备的设备密钥中的公钥对该签名文件进行解密成功,则说明该签名文件属于该物联网设备,即签名验证成功,这时,则执行将该签名文件写入该物联网设备的可信执行环境的操作即可。
另外,需要说明的是,在本说明书实施例中,物联网设备的设备密钥则是在服务端生成的,服务端将物联网设备的设备密钥中的公钥发送给终端设备,以由终端设备写入物联网设备的可信执行环境中。
在一种具体实施方式中,服务端在将设备密钥中的公钥发送给终端设备之前,可以基于该物联网设备的根密钥中的私钥对设备密钥中的公钥进行加密,将设备密钥中的公钥所对应的密文信息以及根密钥中的私钥发送给终端设备,以由终端设备写入物联网设备的可信执行环境中。
在本说明书实施例中,在将签名文件写入物联网设备的可信执行环境中之前,通过执行签名验证的操作,保证了将签名文件写入正确的物联网设备,避免了由于写入错误的签名文件而导致后续对物联网设备的硬件信息是否被篡改进行校验的校验结果不准确的情况的发生,即提高了物联网设备的硬件信息是否被篡改的校验的可靠性。
可选的,在一种具体实施方式中,本说明书实施例提供的方法还包括如下步骤:
将物联网设备的硬件信息写入可信执行环境,作为该物联网设备的硬件信息的备份信息。
可选的,在校验物联网设备的硬件信息是否被篡改时,若是校验结果指示物联网设备的硬件信息被篡改,则执行恢复被篡改的硬件信息的操作。在执行恢复被篡改的硬件信息的操作时,则需要参考在可信执行环境中所备份的硬件信息的备份信息对被篡改的硬件信息进行修改。
因此,为了保证可信执行环境中所存储的物联网设备的硬件信息的可靠性,可以在物联网设备出厂之前,将所获取的物联网设备的硬件信息写入该物联网设备的可信执行环境中。
在具体实施时,终端设备可以将从物联网设备所获取的该物联网设备的硬件信息写入可信执行环境,也可以接收服务端返回的签名文件和硬件信息,将接收到的服务端返回的硬件信息写入可信执行环境中。
可选的,在一种具体实施方式中,可以是一个物联网设备对应一个设备密钥,也可以是同一种类型的物联网设备对应一个设备密钥。
也即,在某些具体实施方式中,同一种类型的物联网设备所对应的设备密钥相同。即实际上可以理解为,同一种类型的物联网设备对应同一个设备密钥。例如,某品牌、某型号的手机所对应的设备密钥相同。
本说明书实施例提供的物联网设备的签名文件的生成方法,在物联网设备的生产过程中,生成该物联网设备的硬件信息所对应的签名文件,并将该签名文件写入物联网设备的可信执行环境中。首先,以签名文件的形式进行硬件信息的存储,保证了所存储的硬件信息的安全性,其次,由于将签名文件存储在可信执行环境中,保证了签名文件的安全性;也即,存储在可信执行环境中的签名文件的安全性较高;这样每次在启动物联网设备时,可以基于可信执行环境中所存储的签名文件对物联网设备的硬件信息进行校验,以验证物联网设备的硬件信息是否被篡改,从而可以及时发现物联网设备的硬件信息是否被篡改,以便及时恢复被篡改的硬件信息,从而减少由于物联网设备的硬件信息被篡改而导致的安全问题。
对应于图1-图2所示实施例提供的方法,基于相同的思路,本说明书实施例还提供了一种物联网设备的校验装置,用于执行本说明书图1-图2所示实施例提供的物联网设备的校验方法。图4为本说明书实施例提供的物联网设备的校验装置的模块组成示意图,如图4所示,该装置至少包括:
获取模块402,用于在物联网设备的启动过程中,获取所述物联网设备的硬件信息;
校验模块404,用于在所述物联网设备的可信执行环境中,基于所述可信执行环境中所存储的签名文件校验所述物联网设备的硬件信息是否被篡改;其中,所述签名文件为所述物联网设备出厂前基于所述物联网设备所对应的设备密钥中的私钥对所述物联网设备的硬件信息进行签名得到的;
执行模块406,用于若校验结果指示所述物联网设备的硬件信息被篡改,则执行恢复被篡改的硬件信息的操作。
其中,本说明书实施例所提供的装置可实现图1-图2所示实施例中物联网设备的校验装置所能实现的全部方法步骤,此处不再赘述。
本说明书实施例提供的物联网设备的校验装置,在物联网设备出厂之前,在物联网设备的可信执行环境中存储对物联网设备的硬件信息进行签名得到的签名文件,首先,以签名文件的形式进行硬件信息的存储,保证了所存储的硬件信息的安全性,其次,由于将签名文件存储在可信执行环境中,保证了签名文件的安全性;也即,存储在可信执行环境中的签名文件的安全性较高;因此,每次在启动物联网设备时,可以基于可信执行环境中所存储的签名文件对物联网设备的硬件信息进行校验,以验证物联网设备的硬件信息是否被篡改,从而可以及时发现物联网设备的硬件信息是否被篡改,以便及时恢复被篡改的硬件信息,从而减少由于物联网设备的硬件信息被篡改而导致的安全问题。
对应于图3所示实施例提供的方法,基于相同的思路,本说明书实施例还提供了一种物联网设备的签名文件的生成装置,用于执行本说明书图3所示实施例提供的物联网设备的签名文件的生成方法。图5为本说明书实施例提供的物联网设备的签名文件的生成装置的模块组成示意图,如图5所示,该装置至少包括:
获取模块502,用于在物联网设备的生产过程中,获取所述物联网设备的硬件信息;
发送模块504,用于将所述硬件信息发送给服务端,以使所述服务端基于所述物联网设备所对应的设备密钥中的私钥对所述硬件信息进行签名,得到所述物联网设备的硬件信息所对应的签名文件;
接收模块506,用于接收所述服务端返回的所述签名文件;
写入模块508,用于将所述签名文件写入所述物联网设备的可信执行环境中,以使所述物联网设备在启动过程中,基于所述签名文件校验所述物联网设备的硬件信息是否被篡改,并在确定所述物联网设备的硬件信息被篡改时,执行恢复被篡改的硬件信息的操作。
其中,本说明书实施例所提供的装置可实现图3所示实施例中物联网设备的签名文件的生成装置所能实现的全部方法步骤,此处不再赘述。
本说明书实施例提供的物联网设备的签名文件的生成装置,在物联网设备的生产过程中,生成该物联网设备的硬件信息所对应的签名文件,并将该签名文件写入物联网设备的可信执行环境中。首先,以签名文件的形式进行硬件信息的存储,保证了所存储的硬件信息的安全性,其次,由于将签名文件存储在可信执行环境中,保证了签名文件的安全性;也即,存储在可信执行环境中的签名文件的安全性较高;这样每次在启动物联网设备时,可以基于可信执行环境中所存储的签名文件对物联网设备的硬件信息进行校验,以验证物联网设备的硬件信息是否被篡改,从而可以及时发现物联网设备的硬件信息是否被篡改,以便及时恢复被篡改的硬件信息,从而减少由于物联网设备的硬件信息被篡改而导致的安全问题。
进一步地,基于上述图1至图2所示的方法,本说明书实施例还提供了一种物联网设备的校验设备,如图6所示。
物联网设备的校验设备可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上的处理器601和存储器602,存储器602中可以存储有一个或一个以上存储应用程序或数据。其中,存储器602可以是短暂存储或持久存储。存储在存储器602的应用程序可以包括一个或一个以上模块(图示未示出),每个模块可以包括对物联网设备的校验设备中的一系列计算机可执行指令信息。更进一步地,处理器601可以设置为与存储器602通信,在物联网设备的校验设备上执行存储器602中的一系列计算机可执行指令信息。物联网设备的校验设备还可以包括一个或一个以上电源603,一个或一个以上有线或无线网络接口604,一个或一个以上输入输出接口605,一个或一个以上键盘606等。
在一个具体的实施例中,物联网设备的校验设备包括有存储器,以及一个或一个以上的程序,其中一个或者一个以上程序存储于存储器中,且一个或者一个以上程序可以包括一个或一个以上模块,且每个模块可以包括对物联网设备的校验设备中的一系列计算机可执行指令信息,且经配置以由一个或者一个以上处理器执行该一个或者一个以上程序包含用于进行以下计算机可执行指令信息:
在物联网设备的启动过程中,获取所述物联网设备的硬件信息;
在所述物联网设备的可信执行环境中,基于所述可信执行环境中所存储的签名文件校验所述物联网设备的硬件信息是否被篡改;其中,所述签名文件为所述物联网设备出厂前基于所述物联网设备所对应的设备密钥中的私钥对所述物联网设备的硬件信息进行签名得到的;
若校验结果指示所述物联网设备的硬件信息被篡改,则执行恢复被篡改的硬件信息的操作。
本说明书实施例提供的物联网设备的校验设备可实现图1-图2所示实施例中的全部方法步骤,此处不再赘述。
本说明书实施例提供的物联网设备的校验设备,在物联网设备出厂之前,在物联网设备的可信执行环境中存储对物联网设备的硬件信息进行签名得到的签名文件,首先,以签名文件的形式进行硬件信息的存储,保证了所存储的硬件信息的安全性,其次,由于将签名文件存储在可信执行环境中,保证了签名文件的安全性;也即,存储在可信执行环境中的签名文件的安全性较高;因此,每次在启动物联网设备时,可以基于可信执行环境中所存储的签名文件对物联网设备的硬件信息进行校验,以验证物联网设备的硬件信息是否被篡改,从而可以及时发现物联网设备的硬件信息是否被篡改,以便及时恢复被篡改的硬件信息,从而减少由于物联网设备的硬件信息被篡改而导致的安全问题。
进一步地,基于上述图3所示的方法,本说明书实施例还提供了一种物联网设备的签名文件的生成设备,该物联网设备的签名文件的生成设备的具体结构图可参考图6。
在一个具体的实施例中,物联网设备的签名文件的生成设备包括有存储器,以及一个或一个以上的程序,其中一个或者一个以上程序存储于存储器中,且一个或者一个以上程序可以包括一个或一个以上模块,且每个模块可以包括对物联网设备的签名文件的生成设备中的一系列计算机可执行指令信息,且经配置以由一个或者一个以上处理器执行该一个或者一个以上程序包含用于进行以下计算机可执行指令信息:
在物联网设备的生产过程中,获取所述物联网设备的硬件信息;
将所述硬件信息发送给服务端,以使所述服务端基于所述物联网设备所对应的设备密钥中的私钥对所述硬件信息进行签名,得到所述物联网设备的硬件信息所对应的签名文件;
接收所述服务端返回的所述签名文件;
将所述签名文件写入所述物联网设备的可信执行环境中,以使所述物联网设备在启动过程中,基于所述签名文件校验所述物联网设备的硬件信息是否被篡改,并在确定所述物联网设备的硬件信息被篡改时,执行恢复被篡改的硬件信息的操作。
本说明书实施例提供的物联网设备的签名文件的生成设备可实现图3所示实施例中的全部方法步骤,此处不再赘述。
本说明书实施例提供的物联网设备的签名文件的生成设备,在物联网设备的生产过程中,生成该物联网设备的硬件信息所对应的签名文件,并将该签名文件写入物联网设备的可信执行环境中。首先,以签名文件的形式进行硬件信息的存储,保证了所存储的硬件信息的安全性,其次,由于将签名文件存储在可信执行环境中,保证了签名文件的安全性;也即,存储在可信执行环境中的签名文件的安全性较高;这样每次在启动物联网设备时,可以基于可信执行环境中所存储的签名文件对物联网设备的硬件信息进行校验,以验证物联网设备的硬件信息是否被篡改,从而可以及时发现物联网设备的硬件信息是否被篡改,以便及时恢复被篡改的硬件信息,从而减少由于物联网设备的硬件信息被篡改而导致的安全问题。
进一步地,基于上述图1至图2所示的方法,本说明书实施例还提供了一种存储介质,用于存储计算机可执行指令信息,一种具体的实施例中,该存储介质可以为U盘、光盘、硬盘等,该存储介质存储的计算机可执行指令信息在被处理器执行时,能实现以下流程:
在物联网设备的启动过程中,获取所述物联网设备的硬件信息;
在所述物联网设备的可信执行环境中,基于所述可信执行环境中所存储的签名文件校验所述物联网设备的硬件信息是否被篡改;其中,所述签名文件为所述物联网设备出厂前基于所述物联网设备所对应的设备密钥中的私钥对所述物联网设备的硬件信息进行签名得到的;
若校验结果指示所述物联网设备的硬件信息被篡改,则执行恢复被篡改的硬件信息的操作。
本说明书实施例提供的存储介质所存储的计算机可执行指令信息在被处理器执行时可实现图1-图2所示实施例中的全部方法步骤,此处不再赘述。
本说明书实施例提供的存储介质存储的计算机可执行指令信息在被处理器执行时,在物联网设备出厂之前,在物联网设备的可信执行环境中存储对物联网设备的硬件信息进行签名得到的签名文件,首先,以签名文件的形式进行硬件信息的存储,保证了所存储的硬件信息的安全性,其次,由于将签名文件存储在可信执行环境中,保证了签名文件的安全性;也即,存储在可信执行环境中的签名文件的安全性较高;因此,每次在启动物联网设备时,可以基于可信执行环境中所存储的签名文件对物联网设备的硬件信息进行校验,以验证物联网设备的硬件信息是否被篡改,从而可以及时发现物联网设备的硬件信息是否被篡改,以便及时恢复被篡改的硬件信息,从而减少由于物联网设备的硬件信息被篡改而导致的安全问题。
进一步地,基于上述图3所示的方法,本说明书实施例还提供了一种存储介质,用于存储计算机可执行指令信息,一种具体的实施例中,该存储介质可以为U盘、光盘、硬盘等,该存储介质存储的计算机可执行指令信息在被处理器执行时,能实现以下流程:
在物联网设备的生产过程中,获取所述物联网设备的硬件信息;
将所述硬件信息发送给服务端,以使所述服务端基于所述物联网设备所对应的设备密钥中的私钥对所述硬件信息进行签名,得到所述物联网设备的硬件信息所对应的签名文件;
接收所述服务端返回的所述签名文件;
将所述签名文件写入所述物联网设备的可信执行环境中,以使所述物联网设备在启动过程中,基于所述签名文件校验所述物联网设备的硬件信息是否被篡改,并在确定所述物联网设备的硬件信息被篡改时,执行恢复被篡改的硬件信息的操作。
本说明书实施例提供的存储介质存储的计算机可执行指令信息在被处理器执行可实现图3所示实施例中的全部方法步骤,此处不再赘述。
本说明书实施例提供的存储介质存储的计算机可执行指令信息在被处理器执行时,在物联网设备的生产过程中,生成该物联网设备的硬件信息所对应的签名文件,并将该签名文件写入物联网设备的可信执行环境中。首先,以签名文件的形式进行硬件信息的存储,保证了所存储的硬件信息的安全性,其次,由于将签名文件存储在可信执行环境中,保证了签名文件的安全性;也即,存储在可信执行环境中的签名文件的安全性较高;这样每次在启动物联网设备时,可以基于可信执行环境中所存储的签名文件对物联网设备的硬件信息进行校验,以验证物联网设备的硬件信息是否被篡改,从而可以及时发现物联网设备的硬件信息是否被篡改,以便及时恢复被篡改的硬件信息,从而减少由于物联网设备的硬件信息被篡改而导致的安全问题。
上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
在20世纪90年代,对于一个技术的改进可以很明显地区分是硬件上的改进(例如,对二极管、晶体管、开关等电路结构的改进)还是软件上的改进(对于方法流程的改进)。然而,随着技术的发展,当今的很多方法流程的改进已经可以视为硬件电路结构的直接改进。设计人员几乎都通过将改进的方法流程编程到硬件电路中来得到相应的硬件电路结构。因此,不能说一个方法流程的改进就不能用硬件实体模块来实现。例如,可编程逻辑器件(Programmable Logic Device,PLD)(例如现场可编程门阵列(Field Programmable GateArray,FPGA))就是这样一种集成电路,其逻辑功能由用户对器件编程来确定。由设计人员自行编程来把一个数字系统“集成”在一片PLD上,而不需要请芯片制造厂商来设计和制作专用的集成电路芯片。而且,如今,取代手工地制作集成电路芯片,这种编程也多半改用“逻辑编译器(logic compiler)”软件来实现,它与程序开发撰写时所用的软件编译器相类似,而要编译之前的原始代码也得用特定的编程语言来撰写,此称之为硬件描述语言(Hardware Description Language,HDL),而HDL也并非仅有一种,而是有许多种,如ABEL(Advanced Boolean Expression Language)、AHDL(Altera Hardware DescriptionLanguage)、Confluence、CUPL(Cornell University Programming Language)、HDCal、JHDL(Java Hardware Description Language)、Lava、Lola、MyHDL、PALASM、RHDL(RubyHardware Description Language)等,目前最普遍使用的是VHDL(Very-High-SpeedIntegrated Circuit Hardware Description Language)与Verilog。本领域技术人员也应该清楚,只需要将方法流程用上述几种硬件描述语言稍作逻辑编程并编程到集成电路中,就可以很容易得到实现该逻辑方法流程的硬件电路。
控制器可以按任何适当的方式实现,例如,控制器可以采取例如微处理器或处理器以及存储可由该(微)处理器执行的计算机可读程序代码(例如软件或固件)的计算机可读介质、逻辑门、开关、专用集成电路(Application Specific Integrated Circuit,ASIC)、可编程逻辑控制器和嵌入微控制器的形式,控制器的例子包括但不限于以下微控制器:ARC 625D、Atmel AT91SAM、Microchip PIC18F26K20以及Silicone Labs C8051F320,存储器控制器还可以被实现为存储器的控制逻辑的一部分。本领域技术人员也知道,除了以纯计算机可读程序代码方式实现控制器以外,完全可以通过将方法步骤进行逻辑编程来使得控制器以逻辑门、开关、专用集成电路、可编程逻辑控制器和嵌入微控制器等的形式来实现相同功能。因此这种控制器可以被认为是一种硬件部件,而对其内包括的用于实现各种功能的装置也可以视为硬件部件内的结构。或者甚至,可以将用于实现各种功能的装置视为既可以是实现方法的软件模块又可以是硬件部件内的结构。
上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机。具体的,计算机例如可以为个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任何设备的组合。
为了描述的方便,描述以上装置时以功能分为各种单元分别描述。当然,在实施本申请时可以把各单元的功能在同一个或多个软件和/或硬件中实现。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本说明书实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令信息实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令信息到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令信息产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令信息也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令信息产生包括指令信息装置的制造品,该指令信息装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令信息也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令信息提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令信息、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
本领域技术人员应明白,本申请的实施例可提供为方法、系统或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请可以在由计算机执行的计算机可执行指令信息的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本申请,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上所述仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。

Claims (22)

1.一种物联网设备的校验方法,所述方法包括:
在物联网设备的启动过程中,获取所述物联网设备的硬件信息;
在所述物联网设备的可信执行环境中,基于所述可信执行环境中所存储的签名文件校验所述物联网设备的硬件信息是否被篡改;其中,所述签名文件为所述物联网设备出厂前基于所述物联网设备所对应的设备密钥中的私钥对所述物联网设备的硬件信息进行签名得到的;
若校验结果指示所述物联网设备的硬件信息被篡改,则执行恢复被篡改的硬件信息的操作。
2.如权利要求1所述的方法,所述在所述物联网设备的可信执行环境中,基于所述可信执行环境中所存储的签名文件校验所述物联网设备的硬件信息是否被篡改,包括:
在所述可信执行环境中,基于所述物联网设备所对应的设备密钥中的公钥对所述签名文件进行验签;
若验签失败,则确定所述物联网设备的硬件信息被篡改;若验签成功,则确定所述物联网设备的硬件信息未被篡改。
3.如权利要求2所述的方法,所述物联网设备所对应的设备密钥中的公钥为基于所述物联网设备所对应的根密钥中的私钥进行加密后得到的密文信息;
所述在所述可信执行环境中,基于所述物联网设备所对应的设备密钥中的公钥对所述签名文件进行验签之前,所述方法还包括:
基于所述可信执行环境中所存储的所述根密钥中的公钥对所述密文信息进行解密,得到所述物联网设备所对应的设备密钥中的公钥。
4.如权利要求2或3所述的方法,同一种类型的物联网设备所对应的设备密钥相同。
5.如权利要求1所述的方法,所述可信执行环境中存储有所述物联网设备所对应硬件信息的备份信息;
相应的,所述执行恢复被篡改的硬件信息的操作,包括:
按照所述备份信息对被篡改的硬件信息进行恢复。
6.如权利要求1所述的方法,所述获取所述物联网设备的硬件信息之前,所述方法还包括:
检测所述可信执行环境中是否存在所述签名文件;
若不存在,则为所述物联网设备添加标记信息;其中,所述标记信息用于指示所述物联网设备不存在所述签名文件。
7.如权利要求1所述的方法,所述可信执行环境包括安全文件系统SFS区域或重放保护内存块RPMB区域中任意一种。
8.一种物联网设备的签名文件的生成方法,所述方法包括:
在物联网设备的生产过程中,获取所述物联网设备的硬件信息;
将所述硬件信息发送给服务端,以使所述服务端基于所述物联网设备所对应的设备密钥中的私钥对所述硬件信息进行签名,得到所述物联网设备的硬件信息所对应的签名文件;
接收所述服务端返回的所述签名文件;
将所述签名文件写入所述物联网设备的可信执行环境中,以使所述物联网设备在启动过程中,基于所述签名文件校验所述物联网设备的硬件信息是否被篡改,并在确定所述物联网设备的硬件信息被篡改时,执行恢复被篡改的硬件信息的操作。
9.如权利要求8所述的方法,所述方法还包括:
将所述物联网设备的硬件信息写入所述可信执行环境中,作为所述物联网设备的硬件信息的备份信息。
10.如权利要求8或9所述的方法,同一种类型的物联网设备所对应的设备密钥相同。
11.如权利要求8或9所述的方法,所述可信执行环境包括安全文件系统SFS区域或重放保护内存块RPMB区域中任意一种。
12.一种物联网设备的校验装置,所述装置包括:
获取模块,在物联网设备的启动过程中,获取所述物联网设备的硬件信息;
校验模块,在所述物联网设备的可信执行环境中,基于所述可信执行环境中所存储的签名文件校验所述物联网设备的硬件信息是否被篡改;其中,所述签名文件为所述物联网设备出厂前基于所述物联网设备所对应的设备密钥中的私钥对所述物联网设备的硬件信息进行签名得到的;
执行模块,若校验结果指示所述物联网设备的硬件信息被篡改,则执行恢复被篡改的硬件信息的操作。
13.如权利要求12所述的装置,所述校验模块,包括:
校验单元,在所述可信执行环境中,基于所述物联网设备所对应的设备密钥中的公钥对所述签名文件进行验签;
确定单元,若验签失败,则确定所述物联网设备的硬件信息被篡改;若验签成功,则确定所述物联网设备的硬件信息未被篡改。
14.如权利要求13所述的装置,所述所述物联网设备所对应的设备密钥中的公钥为基于所述物联网设备所对应的根密钥中的私钥进行加密后得到的密文信息;
相应的,所述校验模块,还包括:
解密单元,基于所述可信执行环境中所存储的所述根密钥中的公钥对所述密文信息进行解密,得到所述物联网设备所对应的设备密钥中的公钥。
15.如权利要求13或14所述的装置,同一种类型的物联网设备所对应的设备密钥相同。
16.如权利要求12所述的装置,所述可信执行环境中存储有所述物联网设备所对应硬件信息的备份信息;
相应的,所述执行模块,包括:
恢复单元,按照所述备份信息对被篡改的硬件信息进行恢复。
17.如权利要求12所述的装置,所述装置还包括:
检测模块,检测所述可信执行环境中是否存在所述签名文件;
添加模块,若所述可信执行环境中不否存在所述签名文件,则为所述物联网设备添加标记信息;其中,所述标记信息用于指示所述物联网设备不存在所述签名文件。
18.一种物联网设备的签名文件的生成装置,所述装置包括:
获取模块,在物联网设备的生产过程中,获取所述物联网设备的硬件信息;
发送模块,将所述硬件信息发送给服务端,以使所述服务端基于所述物联网设备所对应的设备密钥中的私钥对所述硬件信息进行签名,得到所述物联网设备的硬件信息所对应的签名文件;
接收模块,接收所述服务端返回的所述签名文件;
写入模块,将所述签名文件写入所述物联网设备的可信执行环境中,以使所述物联网设备在启动过程中,基于所述签名文件校验所述物联网设备的硬件信息是否被篡改,并在确定所述物联网设备的硬件信息被篡改时,执行恢复被篡改的硬件信息的操作。
19.一种物联网设备的校验设备,包括:
处理器;以及
被安排成存储计算机可执行指令的存储器,所述可执行指令在被执行时使所述处理器:
在物联网设备的启动过程中,获取所述物联网设备的硬件信息;
在所述物联网设备的可信执行环境中,基于所述可信执行环境中所存储的签名文件校验所述物联网设备的硬件信息是否被篡改;其中,所述签名文件为所述物联网设备出厂前基于所述物联网设备所对应的设备密钥中的私钥对所述物联网设备的硬件信息进行签名得到的;
若校验结果指示所述物联网设备的硬件信息被篡改,则执行恢复被篡改的硬件信息的操作。
20.一种物联网设备的签名文件的生成设备,包括:
处理器;以及
被安排成存储计算机可执行指令的存储器,所述可执行指令在被执行时使所述处理器:
在物联网设备的生产过程中,获取所述物联网设备的硬件信息;
将所述硬件信息发送给服务端,以使所述服务端基于所述物联网设备所对应的设备密钥中的私钥对所述硬件信息进行签名,得到所述物联网设备的硬件信息所对应的签名文件;
接收所述服务端返回的所述签名文件;
将所述签名文件写入所述物联网设备的可信执行环境中,以使所述物联网设备在启动过程中,基于所述签名文件校验所述物联网设备的硬件信息是否被篡改,并在确定所述物联网设备的硬件信息被篡改时,执行恢复被篡改的硬件信息的操作。
21.一种存储介质,用于存储计算机可执行指令,所述可执行指令在被执行时实现以下流程:
在物联网设备的启动过程中,获取所述物联网设备的硬件信息;
在所述物联网设备的可信执行环境中,基于所述可信执行环境中所存储的签名文件校验所述物联网设备的硬件信息是否被篡改;其中,所述签名文件为所述物联网设备出厂前基于所述物联网设备所对应的设备密钥中的私钥对所述物联网设备的硬件信息进行签名得到的;
若校验结果指示所述物联网设备的硬件信息被篡改,则执行恢复被篡改的硬件信息的操作。
22.一种存储介质,用于存储计算机可执行指令,所述可执行指令在被执行时实现以下流程:
在物联网设备的生产过程中,获取所述物联网设备的硬件信息;
将所述硬件信息发送给服务端,以使所述服务端基于所述物联网设备所对应的设备密钥中的私钥对所述硬件信息进行签名,得到所述物联网设备的硬件信息所对应的签名文件;
接收所述服务端返回的所述签名文件;
将所述签名文件写入所述物联网设备的可信执行环境中,以使所述物联网设备在启动过程中,基于所述签名文件校验所述物联网设备的硬件信息是否被篡改,并在确定所述物联网设备的硬件信息被篡改时,执行恢复被篡改的硬件信息的操作。
CN202011232445.4A 2020-11-06 2020-11-06 物联网设备的校验、签名文件的生成方法及装置 Pending CN112448819A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011232445.4A CN112448819A (zh) 2020-11-06 2020-11-06 物联网设备的校验、签名文件的生成方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011232445.4A CN112448819A (zh) 2020-11-06 2020-11-06 物联网设备的校验、签名文件的生成方法及装置

Publications (1)

Publication Number Publication Date
CN112448819A true CN112448819A (zh) 2021-03-05

Family

ID=74736307

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011232445.4A Pending CN112448819A (zh) 2020-11-06 2020-11-06 物联网设备的校验、签名文件的生成方法及装置

Country Status (1)

Country Link
CN (1) CN112448819A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113595785A (zh) * 2021-07-27 2021-11-02 创维光电科技(深圳)有限公司 物联网设备管理装置和方法

Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090172639A1 (en) * 2007-12-27 2009-07-02 Mahesh Natu Firmware integrity verification
CN101901318A (zh) * 2010-07-23 2010-12-01 北京工业大学 一种可信硬件设备及其使用方法
US20110202916A1 (en) * 2010-02-17 2011-08-18 Microsoft Corporation Distribution control and tracking mechanism of virtual machine appliances
US20120166807A1 (en) * 1996-08-12 2012-06-28 Intertrust Technologies Corp. Systems and Methods Using Cryptography to Protect Secure Computing Environments
CN106815531A (zh) * 2015-12-02 2017-06-09 比亚迪股份有限公司 设备标识信息的处理方法和装置
CN109600392A (zh) * 2019-01-15 2019-04-09 四川虹微技术有限公司 一种防止信息篡改的方法及装置
WO2019137565A2 (en) * 2019-04-26 2019-07-18 Alibaba Group Holding Limited Distributed key management for trusted execution environments
CN110096881A (zh) * 2019-05-07 2019-08-06 百度在线网络技术(北京)有限公司 恶意调用防护方法、装置、设备及计算机可读介质
CN110245495A (zh) * 2018-03-09 2019-09-17 阿里巴巴集团控股有限公司 Bios校验方法、配置方法、设备及系统
CN110795738A (zh) * 2019-09-19 2020-02-14 华为技术有限公司 一种计算机的启动方法和控制器、存储介质以及系统
CN111598573A (zh) * 2020-04-10 2020-08-28 维沃移动通信有限公司 一种设备指纹验证方法及装置

Patent Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120166807A1 (en) * 1996-08-12 2012-06-28 Intertrust Technologies Corp. Systems and Methods Using Cryptography to Protect Secure Computing Environments
US20090172639A1 (en) * 2007-12-27 2009-07-02 Mahesh Natu Firmware integrity verification
US20110202916A1 (en) * 2010-02-17 2011-08-18 Microsoft Corporation Distribution control and tracking mechanism of virtual machine appliances
CN101901318A (zh) * 2010-07-23 2010-12-01 北京工业大学 一种可信硬件设备及其使用方法
CN106815531A (zh) * 2015-12-02 2017-06-09 比亚迪股份有限公司 设备标识信息的处理方法和装置
CN110245495A (zh) * 2018-03-09 2019-09-17 阿里巴巴集团控股有限公司 Bios校验方法、配置方法、设备及系统
CN109600392A (zh) * 2019-01-15 2019-04-09 四川虹微技术有限公司 一种防止信息篡改的方法及装置
WO2019137565A2 (en) * 2019-04-26 2019-07-18 Alibaba Group Holding Limited Distributed key management for trusted execution environments
CN110096881A (zh) * 2019-05-07 2019-08-06 百度在线网络技术(北京)有限公司 恶意调用防护方法、装置、设备及计算机可读介质
CN110795738A (zh) * 2019-09-19 2020-02-14 华为技术有限公司 一种计算机的启动方法和控制器、存储介质以及系统
CN111598573A (zh) * 2020-04-10 2020-08-28 维沃移动通信有限公司 一种设备指纹验证方法及装置

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113595785A (zh) * 2021-07-27 2021-11-02 创维光电科技(深圳)有限公司 物联网设备管理装置和方法

Similar Documents

Publication Publication Date Title
US10419216B2 (en) Keying infrastructure
JP6189569B1 (ja) 外部不揮発性メモリに記憶されたデータが有効かどうかを判定するための集積回路
US11604633B2 (en) Trusted startup methods and apparatuses of blockchain integrated station
EP2434683A1 (en) Electronic device, key generation program, recording medium, and key generation method
CN110990084B (zh) 芯片的安全启动方法、装置、存储介质和终端
CN107092824B (zh) 一种应用程序的运行方法及装置
US20160162686A1 (en) Method for verifying integrity of dynamic code using hash background of the invention
CN103765429A (zh) 数字签名机构相关的平台秘密
CN109445705B (zh) 固件认证方法及固态硬盘
CN108564363B (zh) 一种交易处理方法、服务器、客户端及系统
CN112131595B (zh) 一种SQLite数据库文件安全存取方法及装置
TW201939337A (zh) 行為識別、數據處理方法及裝置
CN113076527A (zh) 一种基于区块链的数字资产处理方法及装置
US20140173294A1 (en) Techniques for emulating an eeprom device
CN111753270A (zh) 应用程序登录验证方法、装置、设备和存储介质
CN114896603A (zh) 一种业务处理方法、装置及设备
US11283614B2 (en) Information verification method, apparatus, and device
CN112448819A (zh) 物联网设备的校验、签名文件的生成方法及装置
CN111737304B (zh) 一种区块链数据的处理方法、装置及设备
CN110990492B (zh) 一种信息的处理方法、装置及设备
CN112182509A (zh) 一种合规数据的异常检测方法、装置及设备
CN109560927B (zh) 一种设备指纹实现方法及装置
CN115758332A (zh) 一种交易分组方法和区块链节点
CN110995447B (zh) 一种数据存证方法、装置、设备以及介质
CN108228219B (zh) 一种带外刷新bios时验证bios合法性的方法及装置

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
REG Reference to a national code

Ref country code: HK

Ref legal event code: DE

Ref document number: 40046888

Country of ref document: HK

RJ01 Rejection of invention patent application after publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20210305