CN111447183B - 克隆检测方法及装置 - Google Patents

克隆检测方法及装置 Download PDF

Info

Publication number
CN111447183B
CN111447183B CN202010152274.8A CN202010152274A CN111447183B CN 111447183 B CN111447183 B CN 111447183B CN 202010152274 A CN202010152274 A CN 202010152274A CN 111447183 B CN111447183 B CN 111447183B
Authority
CN
China
Prior art keywords
internet
sub
value sequence
counting
things 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.)
Active
Application number
CN202010152274.8A
Other languages
English (en)
Other versions
CN111447183A (zh
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 CN202010152274.8A priority Critical patent/CN111447183B/zh
Publication of CN111447183A publication Critical patent/CN111447183A/zh
Application granted granted Critical
Publication of CN111447183B publication Critical patent/CN111447183B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1408Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1408Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
    • H04L63/1416Event detection, e.g. attack signature detection
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1441Countermeasures against malicious traffic
    • H04L63/1491Countermeasures against malicious traffic using deception as countermeasure, e.g. honeypots, honeynets, decoys or entrapment

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Telephonic Communication Services (AREA)

Abstract

本说明书实施例提供了一种克隆检测方法及装置,该方法应用于物联网设备,该物联网设备上设置有复合计数器,复合计数器包括多个子计数器,该方法包括:当物联网设备执行业务时,根据该业务所对应的业务数据按照设定算法生成目标数值;对序号为上述目标数值的子计数器执行计数操作,并更新复合计数器所对应的计数值序列;将上述计数值序列发送给服务器,以使服务器基于该计数值序列对物联网设备进行克隆检测;其中,上述计数值序列由各个子计数器所对应的计数值组成。

Description

克隆检测方法及装置
技术领域
本申请涉及物联网技术领域,尤其涉及一种克隆检测方法及装置。
背景技术
随着互联网技术的快速发展,以互联网为基础进行延伸和扩展的物联网也得到了快速发展和广泛应用。所谓物联网,实际上就是物物相连的互联网,物联网中与互联网连接的设备称为物联网设备,物联网设备一般具有低成本、无人值守的特点,因此,很难防止黑客对物联网设备进行克隆。
如果物联网设备被克隆,会使得物联网设备的整个软硬件被拷贝或者模拟,这样使得服务端就难以获得有价值的数据,甚至还会被非法的设备进行Ddos攻击,从而影响整个物联网系统的安全和稳定。
因此,亟需提出一种技术方案,以便可以实现物联网设备被克隆的可靠检测。
发明内容
本说明书实施例的目的是提供一种克隆检测方法及装置,以实现物联网设备被克隆的可靠检测。
为解决上述技术问题,本说明书实施例是这样实现的:
本说明书实施例提供了一种克隆检测方法,应用于物联网设备,所述物联网设备上设置有复合计数器,所述复合计数器包括多个子计数器,所述方法包括:
当所述物联网设备执行业务时,根据所述业务所对应的业务数据按照设定算法生成目标数值;其中,所述目标数值用于指示当前需要进行计数的子计数器的序号;
对所述序号为所述目标数值的所述子计数器执行计数操作,并更新所述复合计数器所对应的计数值序列;其中,所述计数值序列由各个所述子计数器所对应的计数值组成;
将所述计数值序列发送给服务器,以使所述服务器基于所述计数值序列对所述物联网设备进行克隆检测。
本说明书实施例还提供了一种克隆检测方法,应用于服务器,所述方法包括:
接收物联网设备发送的设置于所述物联网设备上的复合计数器的计数值序列;其中,所述复合计数器包括多个子计数器,所述计数值序列由各个所述子计数器所对应的计数值组成,且所述计数值序列为所述物联网设备在执行业务时,对序号为所生成的目标数值的子计数器执行计数操作后所得到的;所述目标数值为根据所述业务所对应的业务数据按照设定算法生成的;
获取物联网设备所对应的历史计数值序列,判断所述计数值序列是否是在所述历史计数值序列的基础上对序号为所述目标数值的子计数器计数得到的;
若是,则确定所述物联网设备未被克隆;否则,确定所述物联网设备被克隆。
本说明书实施例还提供了一种克隆检测装置,应用于物联网设备,所述物联网设备上设置有复合计数器,所述复合计数器包括多个子计数器,所述装置包括:
生成模块,当所述物联网设备执行业务时,根据所述业务所对应的业务数据按照设定算法生成目标数值;其中,所述目标数值用于指示当前需要进行计数的子计数器的序号;
执行模块,对所述序号为所述目标数值的所述子计数器执行计数操作,并更新所述复合计数器所对应的计数值序列;其中,所述计数值序列由各个所述子计数器所对应的计数值组成;
第一发送模块,将所述计数值序列发送给服务器,以使所述服务器基于所述计数值序列对所述物联网设备进行克隆检测。
本说明书实施例还提供了一种克隆检测装置,应用于服务器,所述装置包括:
接收模块,接收物联网设备发送的设置于所述物联网设备上的复合计数器的计数值序列;其中,所述复合计数器包括多个子计数器,所述计数值序列由各个所述子计数器所对应的计数值组成,且所述计数值序列为所述物联网设备在执行业务时,对序号为所生成的目标数值的子计数器执行计数操作后所得到的;所述目标数值为根据所述业务所对应的业务数据按照设定算法生成的;
判断模块,获取物联网设备所对应的历史计数值序列,判断所述计数值序列是否是在所述历史计数值序列的基础上对序号为所述目标数值的子计数器计数得到的;
确定模块,若判断结果指示所述计数值序列是在所述历史计数值序列的基础上对序号为所述目标数值的子计数器计数得到的,则确定所述物联网设备未被克隆;判断结果指示所述计数值序列不是在所述历史计数值序列的基础上对序号为所述目标数值的子计数器计数得到,确定所述物联网设备被克隆。
本说明书实施例还提供了一种克隆检测设备,应用于物联网设备,所述物联网设备上设置有复合计数器,所述复合计数器包括多个子计数器,包括:
处理器;以及
被安排成存储计算机可执行指令的存储器,所述可执行指令在被执行时使所述处理器:
当所述物联网设备执行业务时,根据所述业务所对应的业务数据按照设定算法生成目标数值;其中,所述目标数值用于指示当前需要进行计数的子计数器的序号;
对所述序号为所述目标数值的所述子计数器执行计数操作,并更新所述复合计数器所对应的计数值序列;其中,所述计数值序列由各个所述子计数器所对应的计数值组成;
将所述计数值序列发送给服务器,以使所述服务器基于所述计数值序列对所述物联网设备进行克隆检测。
本说明书实施例还提供了一种克隆检测设备,应用于服务器,包括:
处理器;以及
被安排成存储计算机可执行指令的存储器,所述可执行指令在被执行时使所述处理器:
接收物联网设备发送的设置于所述物联网设备上的复合计数器的计数值序列;其中,所述复合计数器包括多个子计数器,所述计数值序列由各个所述子计数器所对应的计数值组成,且所述计数值序列为所述物联网设备在执行业务时,对序号为所生成的目标数值的子计数器执行计数操作后所得到的;所述目标数值为根据所述业务所对应的业务数据按照设定算法生成的;
获取物联网设备所对应的历史计数值序列,判断所述计数值序列是否是在所述历史计数值序列的基础上对序号为所述目标数值的子计数器计数得到的;
若是,则确定所述物联网设备未被克隆;否则,确定所述物联网设备被克隆。
本说明书实施例还提供了一种存储介质,应用于物联网设备,所述物联网设备上设置有复合计数器,所述复合计数器包括多个子计数器,所述存储介质用于存储计算机可执行指令,所述可执行指令在被执行时实现以下流程:
当所述物联网设备执行业务时,根据所述业务所对应的业务数据按照设定算法生成目标数值;其中,所述目标数值用于指示当前需要进行计数的子计数器的序号;
对所述序号为所述目标数值的所述子计数器执行计数操作,并更新所述复合计数器所对应的计数值序列;其中,所述计数值序列由各个所述子计数器所对应的计数值组成;
将所述计数值序列发送给服务器,以使所述服务器基于所述计数值序列对所述物联网设备进行克隆检测。
本说明书实施例还提供了一种存储介质,应用于服务器,所述存储介质用于存储计算机可执行指令,所述可执行指令在被执行时实现以下流程:
接收物联网设备发送的设置于所述物联网设备上的复合计数器的计数值序列;其中,所述复合计数器包括多个子计数器,所述计数值序列由各个所述子计数器所对应的计数值组成,且所述计数值序列为所述物联网设备在执行业务时,对序号为所生成的目标数值的子计数器执行计数操作后所得到的;所述目标数值为根据所述业务所对应的业务数据按照设定算法生成的;
获取物联网设备所对应的历史计数值序列,判断所述计数值序列是否是在所述历史计数值序列的基础上对序号为所述目标数值的子计数器计数得到的;
若是,则确定所述物联网设备未被克隆;否则,确定所述物联网设备被克隆。
本实施例中的技术方案,每个物联网设备上设置复合计数器,物联网设备每次在执行业务时,根据业务数据生成目标数值,由于每次业务的业务数据是随机的、不可预测的,因此,每次生成的目标数值也是随机的、不可预测的,然后对复合计数器中序号为目标数值的子计数器进行计数,使得每次进行计数的子计数器的序号也是随机的、不可预测的。因此,即使该物联网设备被克隆,但是由于克隆设备无法预测原物联网设备下次需要对哪个子计数器进行计数,因此,克隆设备的计数值序列与原物联网设备的计数值序列会出现分叉,因此,通过服务器比对物联网设备的计数值序列就可以检测出物联网设备是否被克隆;采用本说明书实施例提供的方法,既实现了对物联网设备是否被克隆的检测,且不需要额外的防克隆软硬件安全套件,成本较低,由于只有在将数据上传至服务器时才需要联网,因此,即使在弱网或者断网的状态下也可实现。
附图说明
为了更清楚地说明本说明书实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本说明书实施例提供的克隆检测方法的方法流程图之一;
图2为本说明书实施例提供的克隆检测方法的流程示意图图;
图3为本说明书实施例提供的克隆检测方法的交互方法流程图;
图4为本说明书实施例提供的克隆检测方法的方法流程图之二;
图5为本说明书实施例提供的克隆检测装置的模块组成示意图之一;
图6为本说明书实施例提供的克隆检测装置的模块组成示意图之二;
图7为本说明书实施例提供的克隆检测设备的结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本申请中的技术方案,下面将结合本说明书实施例中的附图,对本说明书实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。
本说明书实施例的思想在于,在每个物联网设备上设置复合计数器,每次在执行业务时,随机对复合计数器中的某个计数器进行计数,由于每次进行计数的计数器的序号是随机的、不可预测的,若是该物联网设备被克隆,复合计数器的计数值序列会出现分叉,因此,根据复合计数器的计数值序列可以检测出物联网设备是否被克隆。基于此,本说明书实施例提供了一种克隆检测方法、装置、设备及存储介质,下述将一一详细进行介绍。
首先,本说明书实施例提供了一种克隆检测方法,该方法应用于物联网设备,即该方法的执行主体为物联网设备,具体的,可用为安装在物联网设备上的克隆检测装置。其中,该物联网设备上设置有复合计数器,该复合计数器包括多个子计数器,并且每个子计数器都设置有对应的序号。
例如,在一种具体实施方式中,所采用的复合计数器由四个子计数器构成,因此,四个子计数器的序号可以为0、1、2和3,即四个子计数器可以记为子计数器0、子计数器1、子计数器2和子计数器3。
图1为本说明书实施例提供的克隆检测方法的方法流程图之一,图1所示的方法,至少包括如下步骤:
步骤102,当物联网设备执行业务时,根据该业务所对应的业务数据按照设定算法生成目标数值;其中,该目标数值用于指示当前需要进行计数的子计数器的序号。
其中,上述业务可以为物联网设备所支持的任意业务,例如,可以为人脸识别、指纹识别等。相应的,上述业务数据可以为人脸特征、指纹特征、用户身份信息等。
由于每次执行的业务所产生的业务数据并不相同,并且,下次执行的业务所产生的业务数据也是不可预测的,因此,每次根据业务数据所生成的目标数值也是随机的、不可预测的。
可选的,上述设定算法可以为哈希算法。这样,在具体实施时,每当物联网设备执行一次业务后,根据该次业务所对应的业务数据,采用哈希算法计算出一个目标数值,该目标数值用于指示当前需要计数的子计数器的序号。例如,所计算出的目标数值为3,则当前需要对序号为3的子计数器进行计数,即对子计数器3进行计数。
另外,在本说明书实施例中,为了使得所生成的目标数值不会超出子计数器的序号,可以限定哈希的范围。例如,若是子计数器的数量为四个,分别为子计数器0、子计数器1、子计数器2和子计数器3,则可以限定哈希算法得到的哈希值的范围为[0,3]。
当然,在另外的实施方式中,若是生成的目标数值的大小超出子计数器的序号范围,可以对目标数值进行取模运算等等。
步骤104,对序号为上述目标数值的子计数器执行计数操作,并更新复合计数器所对应的计数值序列;其中,计数值序列由各个子计数器所对应的计数值组成。
其中,复合计数器所对应的计数值序列则是由各个子计数器所对应的计数值按照子计数器的序号排列得到的。例如,在一种具体实施方式中,复合计数器由子计数器1、子计数器2、子计数器3和子计数器4构成,因此,复合计数器所对应的计数值序列为{子计数器0的计数值,子计数器1的计数值,子计数器2的计数值,子计数器3的计数值}。
在本说明书实施例中,上述对子计数器执行计数操作,可以是将该子计数器所对应的计数值加一。并且步骤102中计算出的目标数值就是当前需要进行计数的子计数器的序号。例如,若是步骤102中所得到的目标数值为1,则需要将序号为1的子计数器进行计数。
可选的,在本说明书实施例中,可以采用二进制的方法表示子计数器的计数值。
例如,在一种具体实施方式中,复合计数器有四个子计数器(子计数器0、子计数器1、子计数器2和子计数器3)构成,该复合计数器所对应的计数初始值序列为{100,100,100,100},若是生成的目标数值为3,则需要对子计数器3进行计数,即将子计数器3所对应的计数值加1,计数后所得到的子计数器3所对应的计数值为101,因此,计数后的计数值序列为{100,100,100,101}。
步骤106,将计数值序列发送给服务器,以使服务器基于该计数值序列对物联网设备进行克隆检测。
在本说明书实施例中,每次在计数完成后,将当前次计数后的计数值序列发送给服务器。当服务器接收到物联网设备发送的计数值序列后,将该物联网设备当前次的计数值序列与之前的计数值序列进行比对,以判断计数值序列是否出现分叉,若是,则确定该物联网设备被克隆。
为便于理解,下述将举例进行说明。
继续沿用上例,假设在进行上述计数之前,物联网设备被克隆(为便于描述,将原物联网设备称为物联网设备1,克隆的物联网设备称为物联网设备2),则物联网设备2所获取到的复合计数器的计数值序列为{100,100,100,100},因此,物联网设备2在执行业务时,复合计数器在{100,100,100,101}的基础上进行计数,假设执行业务时,所确定的目标数值为1,则需要将子计数器1所对应的计数值加1,得到的计数值序列为{100,101,100,100},之后,再执行业务时,复合计数器则需要在{100,101,100,100}的基础上进行计数。
而对于物联网设备1而言,进行一次计数后得到的计数值序列为{100,100,100,101},下次再执行业务时,则需要在{100,100,100,101}的基础上进行计数。而不管对于{100,100,100,101}中的哪个子计数器进行计数,都不可能得出序列{100,101,100,100},即计数值序列{100,101,100,100}为计数值序列{100,100,100,101}的分叉序列,这时,可以认为物联网设备1被克隆。
本说明书实施例提供的方法,在每个物联网设备上设置复合计数器,每次在执行业务时,随机对复合计数器中的某个计数器进行计数,由于每次进行计数的计数器的序号是随机的、不可预测的,因此,即使该物联网设备被克隆,但是由于克隆设备无法预测原物联网设备下次需要对哪个子计数器进行计数,因此,克隆设备的计数值序列与原物联网设备的计数值序列会出现分叉,从而可以检测物联网设备是否被克隆;采用本说明书实施例提供的方法,即实现了对物联网设备是否被克隆的检测,且不需要额外的防克隆软硬件安全套件,成本较低,由于只有在将数据上传至服务器时才需要联网,因此,即使在弱网或者断网的状态下也适用。
另外,在使用计数器进行计数时,需要赋予计数器计数初始值,在本说明书实施例中,复合计数器的计数初始值序列可以由服务器随机生成,并在物联网设备初次使用时,由服务器将随机生成的计数初始值序列下发给物联网设备。因此,本说明书实施例中,当物联网设备执行业务时,根据该业务所对应的业务数据按照设定算法生成目标数值之前,该方法还包括如下步骤:
在物联网设备初次运行时,从服务器获取复合计数器所对应的计数初始值序列;其中,计数初始值序列由各个子计数器所对应的计数初始值组成。
可选的,在本说明书实施例中,各个子计数器所对应的计数初始值可以相等,也可以不等,各个子计数器的计数初始值的位数可以根据物联网设备的业务量所确定。
例如,在一种具体实施方式中,复合计数器由子计数器0、子计数器1、子计数器2和子计数器3构成,则复合计数器所对应的计数初始值序列可以为{0000,0000,0000,0000}。当然,若是物联网设备的业务量较大,则各个子计数器所对应的计数初始值的位数可以较多,如计数初始值序列可以为{000000,000000,000000,000000}。
在本说明书实施例中,不管计数初始值序列中各个计数初始值的位数为多少,随着不断的执行计数操作,计数值序列中的各个计数值会越打越大,甚至可能得到当前位数的最大值。因此,在具体实施时,需要对复合计数器的计数值序列进行清除,以使计数值序列重新回归至计数初始值序列。
因此,本说明书实施例提供的方法,还包括:
当满足设定条件时,对复合计数器所对应的计数值序列执行恢复操作,以使该计数值序列回归至计数初始值序列;其中,上述设定条件包括达到设定时间间隔或者复合计数器的计数次数达到设定次数。
可选的,在本说明书实施例中,上述设定时间间隔的具体取值可以根据物联网设备每天的业务量和计数初始值的位数所确定。例如,假设在一种具体实施方式中,物联网设备平均每天的业务量大概为5,即复合计数器每天需要进行计数5次,而复合计数器的计数初始值为{0000,0000,0000,0000},而最多计数60次就会达到该复合计数器的计数极限,但是考虑到每次对哪个子计数器进行计数是随机的,可能会出现有的子计数器计数次数多、有的子计数器计数次数少的情况,甚至出现某一天或者连续几天都只对某一个子计数器进行计数的情况。因此,在该种情况下,上述设定时间间隔的最大取值为3天。
另外,上述设定次数的具体取值则根据计数初始值的位数所确定。继续沿用上例,对于上述计数初始值而言,每个子计数器的最大计数次数为15,整个复合计数器的最大计数次数为60,因此,上述设定次数可以为15。
当然,上述只是示例性说明设定间隔和设定次数的具体取值的设置,并不构成对本说明书实施例的限定。
可选的,在本说明书实施例中,对复合计数器所对应的计数值序列执行恢复操作,可以是直接将计数值序列中的各个计数值替换为计数初始值,也可以从服务器获取该复合计数器所对应的计数初始值序列,使用计数初始值序列更新该复合计数器所对应的计数值序列。
各个物联网设备在执行业务之前,需要在服务器进行注册,因此,在执行本说明书实施例提供的方法之前,即当物联网设备执行业务时,根据业务所对应的业务数据按照设定算法生成目标数值之前,本说明书实施例提供的方法还包括:
生成秘钥对,并将秘钥对中的公钥和物联网设备的设备标识发送给服务器,以在服务器进行该物联网设备的注册;
相应的,上述步骤106中,将计数值序列发送给服务器,包括:
使用秘钥对中的私钥对上述计数值序列进行数字签名,将得到的签名信息发送给服务器。
其中,上述设备标识可以为物联网设备的唯一编码(identification,ID)或者特征值等信息。
在本说明书实施例中,为了保证数据安全性,物联网设备每次在将计数值序列发送给服务器时,都需要使用自身存储的私钥对该计数值序列进行数字签名,当服务器接收到物联网设备发送的签名信息后,查找到该物联网设备所对应的公钥,并使用公钥对该签名信息进行解签,得到计数值序列。
图2示出了本说明书实施例提供的克隆检测方法的流程示意图,图2所示流程图中,本说明书实施例提供的方法包括两个阶段,物联网初始化阶段和物联网运行阶段。
从图2可以看出,在初始化阶段,物联网设备生成秘钥对,并将物联网设备的设备标识(可以是设备编码或者设备特征值)和秘钥对中的公钥发送给服务器,以便在服务器中进行注册,在注册完成后,服务器随机生成计数初始值序列,该计数初始值序列由复合计数器的各个子计数器的计数初始值构成,服务器将随机生成的计数初始值序列下发给物联网设备,物联网设备保存该计数初始值序列。
当物联网设备在运行(也就是执行业务)时,物联网设备每次在执行业务时,根据业务的业务数据采用哈希算法生成目标数值,并对与目标数值相同的子计数器序号所对应的子计数器执行计数操作,使用自身存储的私钥将计数操作后得到的计数值序列进行数字签名,并将签名得到的签名信息发送给服务器。当服务器接收该签名信息后,使用自身存储的该物联网设备所对应的公钥对该签名信息进行解签,得到计数值序列。服务器将该计数值序列与该物联网设备之前的计数值序列进行比对,判断该计数值序列是否是在前面计数值序列的基础上计数得到的,若是,则确定该物联网设备未被克隆,否则,确定该物联网设备被克隆。
图3示出了本说明书实施例提供的克隆检测方法的交互流程图,即物联网设备和服务器进行交互的交互方法流程图,图3所示的方法,至少包括如下步骤:
步骤302,物联网设备在执行业务时,根据业务所对应的业务数据采用哈希算法生成目标数值。
步骤304,物联网设备对序号为目标数值的子计数器执行计数操作,并更新复合计数器所对应的计数值序列。
步骤306,物联网设备将计数值序列发送给服务器。
步骤308,服务器将查找所述物联网设备所对应的其他计数值序列。
步骤310,服务器检测当前接收到的计数值序列是否是在其他计数值序列的基础上计数得到的;若是,则执行步骤312,否则,执行步骤314。
步骤312,确定物联网设备未被克隆。
步骤314,确定物联网设备被克隆。
本说明书实施例提供的克隆检测方法,每个物联网设备上设置复合计数器,物联网设备每次在执行业务时,根据业务数据生成目标数值,由于每次业务的业务数据是随机的、不可预测的,因此,每次生成的目标数值也是随机的、不可预测的,然后对复合计数器中序号为目标数值的子计数器进行计数,使得每次进行计数的子计数器的序号也是随机的、不可预测的。因此,即使该物联网设备被克隆,但是由于克隆设备无法预测原物联网设备下次需要对哪个子计数器进行计数,因此,克隆设备的计数值序列与原物联网设备的计数值序列会出现分叉,因此,通过服务器比对物联网设备的计数值序列就可以检测出物联网设备是否被克隆;采用本说明书实施例提供的方法,既实现了对物联网设备是否被克隆的检测,且不需要额外的防克隆软硬件安全套件,成本较低,由于只有在将数据上传至服务器时才需要联网,因此,即使在弱网或者断网的状态下也可实现。
对应于图1-图3所示实施例提供的克隆检测方法,基于相同的思路,本说明书实施例还提供了一种克隆检测方法,应用于服务器,图4为本说明书实施例提供的克隆检测方法的方法流程图之二,图4所示的方法,至少包括如下步骤:
步骤402,接收物联网设备发送的设置于物联网设备上的复合计数器的计数值序列;其中,上述复合计数器包括多个子计数器,上述计数值序列由各个子计数器所对应的计数值组成,且计数值序列为该物联网设备在执行业务时,对序号为所生成的目标数值的子计数器执行计数操作后所得到的;该目标数值为根据上述业务所对应的业务数据按照设定算法生成的。
其中,上述设定算法可以为哈希算法。
步骤404,获取物联网设备所对应的历史计数值序列,判断上述计数值序列是否是在历史计数值序列的基础上对序号为目标数值的子计数器计数得到的。
步骤406,若判断结果指示上述计数值序列是在历史计数值序列的基础上对序号为目标数值的子计数器计数得到的,则确定物联网设备未被克隆;若判断结果指示上述计数值序列不是在历史计数值序列的基础上对序号为目标数值的子计数器计数得到的,确定该物联网设备被克隆。
可选的,在一种具体实施方式中,若是接收到的计数值序列为使用物联网设备的私钥进行签名后的签名信息;
相应的,在判断计数值序列是否时在历史计数值序列的基础上对序号为目标数值的子计数器计数得到的之前,本说明书实施例提供的方法还包括:
使用物联网设备所对应的公钥对该签名信息进行解签,得到该物联网设备所对应的所述计数值序列。
其中,上述各个步骤的具体实现过程可参考图1-图3所示实施例,此处不再赘述。
本说明书实施例提供的克隆检测方法,每个物联网设备上设置复合计数器,物联网设备每次在执行业务时,根据业务数据生成目标数值,由于每次业务的业务数据是随机的、不可预测的,因此,每次生成的目标数值也是随机的、不可预测的,然后对复合计数器中序号为目标数值的子计数器进行计数,使得每次进行计数的子计数器的序号也是随机的、不可预测的。因此,即使该物联网设备被克隆,但是由于克隆设备无法预测原物联网设备下次需要对哪个子计数器进行计数,因此,克隆设备的计数值序列与原物联网设备的计数值序列会出现分叉,因此,通过服务器比对物联网设备的计数值序列就可以检测出物联网设备是否被克隆;采用本说明书实施例提供的方法,既实现了对物联网设备是否被克隆的检测,且不需要额外的防克隆软硬件安全套件,成本较低,由于只有在将数据上传至服务器时才需要联网,因此,即使在弱网或者断网的状态下也可实现。
对应于本说明书图1-图3所示实施例提供的方法,基于相同的思路,本说明书实施例还提供了一种克隆检测装置,该装置应用于物联网设备,该物联网设备上设置有复合计数器,复合计数器包括多个子计数器,本说明书实施例提供的装置用于执行本说明书图1-图3所示实施例提供的克隆检测方法,图5示出了本说明书实施例提供的克隆检测装置的模块组成示意图之一,图5所示的装置,包括:
生成模块502,用于当物联网设备执行业务时,根据业务所对应的业务数据按照设定算法生成目标数值;其中,目标数值用于指示当前需要进行计数的子计数器的序号;
执行模块504,用于对序号为目标数值的子计数器执行计数操作,并更新复合计数器所对应的计数值序列;其中,计数值序列由各个子计数器所对应的计数值组成;
第一发送模块506,用于将计数值序列发送给服务器,以使服务器基于计数值序列对物联网设备进行克隆检测。
可选的,本说明书实施例提供的装置,还包括:
获取模块,在物联网设备初次运行时,从服务器获取复合计数器所对应的计数初始值序列;其中,计数初始值序列由各个子计数器所对应的计数初始值组成。
可选的,本说明书实施例提供的装置,还包括:
恢复模块,用于当满足设定条件时,对复合计数器所对应的计数值序列执行恢复操作,以使计数值序列回归至计数初始值序列;
其中,设定条件包括达到设定时间间隔或者复合计数器的计数的次数达到设定次数。
可选的,本说明书实施例提供的装置还包括:
第二发送模块,用于生成秘钥对,并将秘钥对中的公钥和物联网设备的设备标识发送给服务器,以在服务器进行物联网设备的注册;
相应的,上述第一发送模块506,具体用于:
使用秘钥对中的私钥对计数值序列进行数字签名,将得到的签名信息发送给服务器。
可选的,上述设定算法包括哈希算法。
本说明书实施例提供的克隆检测装置还可执行图1-图3中克隆检测装置执行的方法,并实现克隆检测装置在图1-图3所示实施例的功能,在此不再赘述。
本说明书实施例提供的克隆检测装置,每个物联网设备上设置复合计数器,物联网设备每次在执行业务时,根据业务数据生成目标数值,由于每次业务的业务数据是随机的、不可预测的,因此,每次生成的目标数值也是随机的、不可预测的,然后对复合计数器中序号为目标数值的子计数器进行计数,使得每次进行计数的子计数器的序号也是随机的、不可预测的。因此,即使该物联网设备被克隆,但是由于克隆设备无法预测原物联网设备下次需要对哪个子计数器进行计数,因此,克隆设备的计数值序列与原物联网设备的计数值序列会出现分叉,因此,通过服务器比对物联网设备的计数值序列就可以检测出物联网设备是否被克隆;采用本说明书实施例提供的方法,既实现了对物联网设备是否被克隆的检测,且不需要额外的防克隆软硬件安全套件,成本较低,由于只有在将数据上传至服务器时才需要联网,因此,即使在弱网或者断网的状态下也可实现。
对应于本说明书图4所示实施例提供的方法,基于相同的思路,本说明书实施例还提供了一种克隆检测装置,该装置应用于服务器,本说明书实施例提供的装置用于执行本说明书图4所示实施例提供的克隆检测方法,图6示出了本说明书实施例提供的克隆检测装置的模块组成示意图之二,图6所示的装置,包括:
接收模块602,用于接收物联网设备发送的设置于物联网设备上的复合计数器的计数值序列;其中,复合计数器包括多个子计数器,计数值序列由各个子计数器所对应的计数值组成,且计数值序列为物联网设备在执行业务时,对序号为所生成的目标数值的子计数器执行计数操作后所得到的;目标数值为根据业务所对应的业务数据按照设定算法生成的;
判断模块604,用于获取物联网设备所对应的历史计数值序列,判断计数值序列是否是在历史计数值序列的基础上对序号为目标数值的子计数器计数得到的;
确定模块606,用于若判断结果指示计数值序列是在历史计数值序列的基础上对序号为目标数值的子计数器计数得到的,则确定物联网设备未被克隆;判断结果指示计数值序列不是在历史计数值序列的基础上对序号为目标数值的子计数器计数得到,确定物联网设备被克隆。
可选的,若接收到的计数值序列为使用物联网设备的私钥进行签名后的签名信息;
本说明书实施例提供的装置还包括:
解签模块,用于使用物联网设备所对应的公钥对签名信息进行解签,得到物联网设备所对应的计数值序列。
本说明书实施例提供的克隆检测装置还可执行图4中克隆检测装置执行的方法,并实现克隆检测装置在图4所示实施例的功能,在此不再赘述。
本说明书实施例提供的克隆检测装置,每个物联网设备上设置复合计数器,物联网设备每次在执行业务时,根据业务数据生成目标数值,由于每次业务的业务数据是随机的、不可预测的,因此,每次生成的目标数值也是随机的、不可预测的,然后对复合计数器中序号为目标数值的子计数器进行计数,使得每次进行计数的子计数器的序号也是随机的、不可预测的。因此,即使该物联网设备被克隆,但是由于克隆设备无法预测原物联网设备下次需要对哪个子计数器进行计数,因此,克隆设备的计数值序列与原物联网设备的计数值序列会出现分叉,因此,通过服务器比对物联网设备的计数值序列就可以检测出物联网设备是否被克隆;采用本说明书实施例提供的方法,既实现了对物联网设备是否被克隆的检测,且不需要额外的防克隆软硬件安全套件,成本较低,由于只有在将数据上传至服务器时才需要联网,因此,即使在弱网或者断网的状态下也可实现。
进一步地,基于上述图1至图3所示的方法,本说明书实施例还提供了一种克隆检测设备,该设备应用于物联网设备,物联网设备上设置有复合计数器,该复合计数器包括多个子计数器,该设备的结构示意图如图7所示。
克隆检测设备可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上的处理器701和存储器702,存储器702中可以存储有一个或一个以上存储应用程序或数据。其中,存储器702可以是短暂存储或持久存储。存储在存储器702的应用程序可以包括一个或一个以上模块(图示未示出),每个模块可以包括对克隆检测设备中的一系列计算机可执行指令信息。更进一步地,处理器701可以设置为与存储器702通信,在克隆检测设备上执行存储器702中的一系列计算机可执行指令信息。克隆检测设备还可以包括一个或一个以上电源703,一个或一个以上有线或无线网络接口704,一个或一个以上输入输出接口705,一个或一个以上键盘706等。
在一个具体的实施例中,克隆检测设备包括有存储器,以及一个或一个以上的程序,其中一个或者一个以上程序存储于存储器中,且一个或者一个以上程序可以包括一个或一个以上模块,且每个模块可以包括对克隆检测设备中的一系列计算机可执行指令信息,且经配置以由一个或者一个以上处理器执行该一个或者一个以上程序包含用于进行以下计算机可执行指令信息:
当物联网设备执行业务时,根据业务所对应的业务数据按照设定算法生成目标数值;其中,目标数值用于指示当前需要进行计数的子计数器的序号;
对序号为目标数值的子计数器执行计数操作,并更新复合计数器所对应的计数值序列;其中,计数值序列由各个子计数器所对应的计数值组成;
将计数值序列发送给服务器,以使服务器基于计数值序列对物联网设备进行克隆检测。
可选的,计算机可执行指令信息在被执行时,当物联网设备执行业务时,根据业务所对应的业务数据按照设定算法生成目标数值之前,还可执行如下步骤:
在物联网设备初次运行时,从服务器获取复合计数器所对应的计数初始值序列;其中,计数初始值序列由各个子计数器所对应的计数初始值组成。
可选的,计算机可执行指令信息在被执行时,还可执行如下步骤:
当满足设定条件时,对复合计数器所对应的计数值序列执行恢复操作,以使计数值序列回归至计数初始值序列;
其中,设定条件包括达到设定时间间隔或者复合计数器的计数的次数达到设定次数。
可选的,计算机可执行指令信息在被执行时,当物联网设备执行业务时,根据业务所对应的业务数据按照设定算法生成目标数值之前,还可执行如下步骤:
生成秘钥对,并将秘钥对中的公钥和物联网设备的设备标识发送给服务器,以在服务器进行物联网设备的注册;
相应的,将计数值序列发送给服务器,包括:
使用秘钥对中的私钥对计数值序列进行数字签名,将得到的签名信息发送给服务器。
可选的,计算机可执行指令信息在被执行时,设定算法包括哈希算法。
本说明书实施例提供的克隆检测设备,每个物联网设备上设置复合计数器,物联网设备每次在执行业务时,根据业务数据生成目标数值,由于每次业务的业务数据是随机的、不可预测的,因此,每次生成的目标数值也是随机的、不可预测的,然后对复合计数器中序号为目标数值的子计数器进行计数,使得每次进行计数的子计数器的序号也是随机的、不可预测的。因此,即使该物联网设备被克隆,但是由于克隆设备无法预测原物联网设备下次需要对哪个子计数器进行计数,因此,克隆设备的计数值序列与原物联网设备的计数值序列会出现分叉,因此,通过服务器比对物联网设备的计数值序列就可以检测出物联网设备是否被克隆;采用本说明书实施例提供的方法,既实现了对物联网设备是否被克隆的检测,且不需要额外的防克隆软硬件安全套件,成本较低,由于只有在将数据上传至服务器时才需要联网,因此,即使在弱网或者断网的状态下也可实现。
进一步地,基于上述图4所示的方法,本说明书实施例还提供了一种克隆检测设备,该设备应用于服务器,该设备的结构示意图可参考图7。
在一个具体的实施例中,克隆检测设备包括有存储器,以及一个或一个以上的程序,其中一个或者一个以上程序存储于存储器中,且一个或者一个以上程序可以包括一个或一个以上模块,且每个模块可以包括对克隆检测设备中的一系列计算机可执行指令信息,且经配置以由一个或者一个以上处理器执行该一个或者一个以上程序包含用于进行以下计算机可执行指令信息:
接收物联网设备发送的设置于物联网设备上的复合计数器的计数值序列;其中,复合计数器包括多个子计数器,计数值序列由各个子计数器所对应的计数值组成,且计数值序列为物联网设备在执行业务时,对序号为所生成的目标数值的子计数器执行计数操作后所得到的;目标数值为根据业务所对应的业务数据按照设定算法生成的;
获取物联网设备所对应的历史计数值序列,判断计数值序列是否是在历史计数值序列的基础上对序号为目标数值的子计数器计数得到的;
若是,则确定物联网设备未被克隆;否则,确定物联网设备被克隆。
可选的,计算机可执行指令信息在被执行时,若接收到的计数值序列为使用物联网设备的私钥进行签名后的签名信息;
相应的,判断计数值序列是否是在历史计数值序列的基础上对序号为目标数值的子计数器计数得到的之前,还可执行如下步骤:
使用物联网设备所对应的公钥对签名信息进行解签,得到物联网设备所对应的计数值序列。
本说明书实施例提供的克隆检测设备,每个物联网设备上设置复合计数器,物联网设备每次在执行业务时,根据业务数据生成目标数值,由于每次业务的业务数据是随机的、不可预测的,因此,每次生成的目标数值也是随机的、不可预测的,然后对复合计数器中序号为目标数值的子计数器进行计数,使得每次进行计数的子计数器的序号也是随机的、不可预测的。因此,即使该物联网设备被克隆,但是由于克隆设备无法预测原物联网设备下次需要对哪个子计数器进行计数,因此,克隆设备的计数值序列与原物联网设备的计数值序列会出现分叉,因此,通过服务器比对物联网设备的计数值序列就可以检测出物联网设备是否被克隆;采用本说明书实施例提供的方法,既实现了对物联网设备是否被克隆的检测,且不需要额外的防克隆软硬件安全套件,成本较低,由于只有在将数据上传至服务器时才需要联网,因此,即使在弱网或者断网的状态下也可实现。
进一步地,基于上述图1至图3所示的方法,本说明书实施例还提供了一种存储介质,用于存储计算机可执行指令信息,一种具体的实施例中,该存储介质可以为U盘、光盘、硬盘等,该存储介质存储的计算机可执行指令信息在被处理器执行时,能实现以下流程:
当物联网设备执行业务时,根据业务所对应的业务数据按照设定算法生成目标数值;其中,目标数值用于指示当前需要进行计数的子计数器的序号;
对序号为目标数值的子计数器执行计数操作,并更新复合计数器所对应的计数值序列;其中,计数值序列由各个子计数器所对应的计数值组成;
将计数值序列发送给服务器,以使服务器基于计数值序列对物联网设备进行克隆检测。
可选的,该存储介质存储的计算机可执行指令信息在被处理器执行时,当物联网设备执行业务时,根据业务所对应的业务数据按照设定算法生成目标数值之前,还可执行如下步骤:
在物联网设备初次运行时,从服务器获取复合计数器所对应的计数初始值序列;其中,计数初始值序列由各个子计数器所对应的计数初始值组成。
可选的,该存储介质存储的计算机可执行指令信息在被处理器执行时,还可执行如下步骤:
当满足设定条件时,对复合计数器所对应的计数值序列执行恢复操作,以使计数值序列回归至计数初始值序列;
其中,设定条件包括达到设定时间间隔或者复合计数器的计数的次数达到设定次数。
可选的,该存储介质存储的计算机可执行指令信息在被处理器执行时,当物联网设备执行业务时,根据业务所对应的业务数据按照设定算法生成目标数值之前,还可执行如下步骤:
生成秘钥对,并将秘钥对中的公钥和物联网设备的设备标识发送给服务器,以在服务器进行物联网设备的注册;
相应的,将计数值序列发送给服务器,包括:
使用秘钥对中的私钥对计数值序列进行数字签名,将得到的签名信息发送给服务器。
可选的,该存储介质存储的计算机可执行指令信息在被处理器执行时,设定算法包括哈希算法。
本说明书实施例提供的存储介质存储的计算机可执行指令信息在被处理器执行时,每个物联网设备上设置复合计数器,物联网设备每次在执行业务时,根据业务数据生成目标数值,由于每次业务的业务数据是随机的、不可预测的,因此,每次生成的目标数值也是随机的、不可预测的,然后对复合计数器中序号为目标数值的子计数器进行计数,使得每次进行计数的子计数器的序号也是随机的、不可预测的。因此,即使该物联网设备被克隆,但是由于克隆设备无法预测原物联网设备下次需要对哪个子计数器进行计数,因此,克隆设备的计数值序列与原物联网设备的计数值序列会出现分叉,因此,通过服务器比对物联网设备的计数值序列就可以检测出物联网设备是否被克隆;采用本说明书实施例提供的方法,既实现了对物联网设备是否被克隆的检测,且不需要额外的防克隆软硬件安全套件,成本较低,由于只有在将数据上传至服务器时才需要联网,因此,即使在弱网或者断网的状态下也可实现。
进一步地,基于上述图4所示的方法,本说明书实施例还提供了一种存储介质,用于存储计算机可执行指令信息,一种具体的实施例中,该存储介质可以为U盘、光盘、硬盘等,该存储介质存储的计算机可执行指令信息在被处理器执行时,能实现以下流程:
接收物联网设备发送的设置于物联网设备上的复合计数器的计数值序列;其中,复合计数器包括多个子计数器,计数值序列由各个子计数器所对应的计数值组成,且计数值序列为物联网设备在执行业务时,对序号为所生成的目标数值的子计数器执行计数操作后所得到的;目标数值为根据业务所对应的业务数据按照设定算法生成的;
获取物联网设备所对应的历史计数值序列,判断计数值序列是否是在历史计数值序列的基础上对序号为目标数值的子计数器计数得到的;
若是,则确定物联网设备未被克隆;否则,确定物联网设备被克隆。
可选的,该存储介质存储的计算机可执行指令信息在被处理器执行时,若接收到的计数值序列为使用物联网设备的私钥进行签名后的签名信息;
相应的,判断计数值序列是否是在历史计数值序列的基础上对序号为目标数值的子计数器计数得到的之前,还可执行如下步骤:
使用物联网设备所对应的公钥对签名信息进行解签,得到物联网设备所对应的计数值序列。
本说明书实施例提供的存储介质存储的计算机可执行指令信息在被处理器执行时,每个物联网设备上设置复合计数器,物联网设备每次在执行业务时,根据业务数据生成目标数值,由于每次业务的业务数据是随机的、不可预测的,因此,每次生成的目标数值也是随机的、不可预测的,然后对复合计数器中序号为目标数值的子计数器进行计数,使得每次进行计数的子计数器的序号也是随机的、不可预测的。因此,即使该物联网设备被克隆,但是由于克隆设备无法预测原物联网设备下次需要对哪个子计数器进行计数,因此,克隆设备的计数值序列与原物联网设备的计数值序列会出现分叉,因此,通过服务器比对物联网设备的计数值序列就可以检测出物联网设备是否被克隆;采用本说明书实施例提供的方法,既实现了对物联网设备是否被克隆的检测,且不需要额外的防克隆软硬件安全套件,成本较低,由于只有在将数据上传至服务器时才需要联网,因此,即使在弱网或者断网的状态下也可实现。
在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 (14)

1.一种克隆检测方法,应用于物联网设备,所述物联网设备上设置有复合计数器,所述复合计数器包括多个子计数器,所述方法包括:
当所述物联网设备执行业务时,根据所述业务所对应的业务数据按照设定算法生成目标数值;其中,所述目标数值用于指示当前需要进行计数的子计数器的序号;
对所述序号为所述目标数值的所述子计数器执行计数操作,并更新所述复合计数器所对应的计数值序列;其中,所述计数值序列由各个所述子计数器所对应的计数值组成;
将所述计数值序列发送给服务器,以使所述服务器基于所述计数值序列对所述物联网设备进行克隆检测。
2.如权利要求1所述的方法,所述当所述物联网设备执行业务时,根据所述业务所对应的业务数据按照设定算法生成目标数值之前,所述方法还包括:
在所述物联网设备初次运行时,从所述服务器获取所述复合计数器所对应的计数初始值序列;其中,所述计数初始值序列由各个所述子计数器所对应的计数初始值组成。
3.如权利要求1或2所述的方法,所述方法还包括:
当满足设定条件时,对所述复合计数器所对应的计数值序列执行恢复操作,以使所述计数值序列回归至计数初始值序列;
其中,所述设定条件包括达到设定时间间隔或者所述复合计数器的计数的次数达到设定次数。
4.如权利要求1所述的方法,所述当所述物联网设备执行业务时,根据所述业务所对应的业务数据按照设定算法生成目标数值之前,所述方法还包括:
生成秘钥对,并将所述秘钥对中的公钥和所述物联网设备的设备标识发送给所述服务器,以在所述服务器进行所述物联网设备的注册;
相应的,所述将所述计数值序列发送给服务器,包括:
使用所述秘钥对中的私钥对所述计数值序列进行数字签名,将得到的签名信息发送给所述服务器。
5.如权利要求1所述的方法,所述设定算法包括哈希算法。
6.一种克隆检测方法,应用于服务器,所述方法包括:
接收物联网设备发送的设置于所述物联网设备上的复合计数器的计数值序列;其中,所述复合计数器包括多个子计数器,所述计数值序列由各个所述子计数器所对应的计数值组成,且所述计数值序列为所述物联网设备在执行业务时,对序号为所生成的目标数值的子计数器执行计数操作后所得到的;所述目标数值为根据所述业务所对应的业务数据按照设定算法生成的;
获取物联网设备所对应的历史计数值序列,判断所述计数值序列是否是在所述历史计数值序列的基础上对序号为所述目标数值的子计数器计数得到的;
若是,则确定所述物联网设备未被克隆;否则,确定所述物联网设备被克隆。
7.如权利要求6所述的方法,若接收到的所述计数值序列为使用所述物联网设备的私钥进行签名后的签名信息;
所述判断所述计数值序列是否是在所述历史计数值序列的基础上对序号为所述目标数值的子计数器计数得到的之前,所述方法还包括:
使用所述物联网设备所对应的公钥对所述签名信息进行解签,得到所述物联网设备所对应的所述计数值序列。
8.一种克隆检测装置,应用于物联网设备,所述物联网设备上设置有复合计数器,所述复合计数器包括多个子计数器,所述装置包括:
生成模块,当所述物联网设备执行业务时,根据所述业务所对应的业务数据按照设定算法生成目标数值;其中,所述目标数值用于指示当前需要进行计数的子计数器的序号;
执行模块,对所述序号为所述目标数值的所述子计数器执行计数操作,并更新所述复合计数器所对应的计数值序列;其中,所述计数值序列由各个所述子计数器所对应的计数值组成;
第一发送模块,将所述计数值序列发送给服务器,以使所述服务器基于所述计数值序列对所述物联网设备进行克隆检测。
9.如权利要求8所述的装置,所述装置还包括:
获取模块,在所述物联网设备初次运行时,从所述服务器获取所述复合计数器所对应的计数初始值序列;其中,所述计数初始值序列由各个所述子计数器所对应的计数初始值组成。
10.一种克隆检测装置,应用于服务器,所述装置包括:
接收模块,接收物联网设备发送的设置于所述物联网设备上的复合计数器的计数值序列;其中,所述复合计数器包括多个子计数器,所述计数值序列由各个所述子计数器所对应的计数值组成,且所述计数值序列为所述物联网设备在执行业务时,对序号为所生成的目标数值的子计数器执行计数操作后所得到的;所述目标数值为根据所述业务所对应的业务数据按照设定算法生成的;
判断模块,获取物联网设备所对应的历史计数值序列,判断所述计数值序列是否是在所述历史计数值序列的基础上对序号为所述目标数值的子计数器计数得到的;
确定模块,若判断结果指示所述计数值序列是在所述历史计数值序列的基础上对序号为所述目标数值的子计数器计数得到的,则确定所述物联网设备未被克隆;判断结果指示所述计数值序列不是在所述历史计数值序列的基础上对序号为所述目标数值的子计数器计数得到,确定所述物联网设备被克隆。
11.一种克隆检测设备,应用于物联网设备,所述物联网设备上设置有复合计数器,所述复合计数器包括多个子计数器,包括:
处理器;以及
被安排成存储计算机可执行指令的存储器,所述可执行指令在被执行时使所述处理器:
当所述物联网设备执行业务时,根据所述业务所对应的业务数据按照设定算法生成目标数值;其中,所述目标数值用于指示当前需要进行计数的子计数器的序号;
对所述序号为所述目标数值的所述子计数器执行计数操作,并更新所述复合计数器所对应的计数值序列;其中,所述计数值序列由各个所述子计数器所对应的计数值组成;
将所述计数值序列发送给服务器,以使所述服务器基于所述计数值序列对所述物联网设备进行克隆检测。
12.一种克隆检测设备,应用于服务器,包括:
处理器;以及
被安排成存储计算机可执行指令的存储器,所述可执行指令在被执行时使所述处理器:
接收物联网设备发送的设置于所述物联网设备上的复合计数器的计数值序列;其中,所述复合计数器包括多个子计数器,所述计数值序列由各个所述子计数器所对应的计数值组成,且所述计数值序列为所述物联网设备在执行业务时,对序号为所生成的目标数值的子计数器执行计数操作后所得到的;所述目标数值为根据所述业务所对应的业务数据按照设定算法生成的;
获取物联网设备所对应的历史计数值序列,判断所述计数值序列是否是在所述历史计数值序列的基础上对序号为所述目标数值的子计数器计数得到的;
若是,则确定所述物联网设备未被克隆;否则,确定所述物联网设备被克隆。
13.一种存储介质,应用于物联网设备,所述物联网设备上设置有复合计数器,所述复合计数器包括多个子计数器,所述存储介质用于存储计算机可执行指令,所述可执行指令在被执行时实现以下流程:
当所述物联网设备执行业务时,根据所述业务所对应的业务数据按照设定算法生成目标数值;其中,所述目标数值用于指示当前需要进行计数的子计数器的序号;
对所述序号为所述目标数值的所述子计数器执行计数操作,并更新所述复合计数器所对应的计数值序列;其中,所述计数值序列由各个所述子计数器所对应的计数值组成;
将所述计数值序列发送给服务器,以使所述服务器基于所述计数值序列对所述物联网设备进行克隆检测。
14.一种存储介质,应用于服务器,所述存储介质用于存储计算机可执行指令,所述可执行指令在被执行时实现以下流程:
接收物联网设备发送的设置于所述物联网设备上的复合计数器的计数值序列;其中,所述复合计数器包括多个子计数器,所述计数值序列由各个所述子计数器所对应的计数值组成,且所述计数值序列为所述物联网设备在执行业务时,对序号为所生成的目标数值的子计数器执行计数操作后所得到的;所述目标数值为根据所述业务所对应的业务数据按照设定算法生成的;
获取物联网设备所对应的历史计数值序列,判断所述计数值序列是否是在所述历史计数值序列的基础上对序号为所述目标数值的子计数器计数得到的;
若是,则确定所述物联网设备未被克隆;否则,确定所述物联网设备被克隆。
CN202010152274.8A 2020-03-06 2020-03-06 克隆检测方法及装置 Active CN111447183B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010152274.8A CN111447183B (zh) 2020-03-06 2020-03-06 克隆检测方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010152274.8A CN111447183B (zh) 2020-03-06 2020-03-06 克隆检测方法及装置

Publications (2)

Publication Number Publication Date
CN111447183A CN111447183A (zh) 2020-07-24
CN111447183B true CN111447183B (zh) 2021-12-21

Family

ID=71654151

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010152274.8A Active CN111447183B (zh) 2020-03-06 2020-03-06 克隆检测方法及装置

Country Status (1)

Country Link
CN (1) CN111447183B (zh)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107612940A (zh) * 2017-10-31 2018-01-19 飞天诚信科技股份有限公司 一种身份认证方法及认证装置
CN108092776A (zh) * 2017-12-04 2018-05-29 南京南瑞信息通信科技有限公司 一种身份认证服务器和身份认证令牌
CN110190969A (zh) * 2019-06-06 2019-08-30 浙江大学宁波理工学院 一种匿名信息系统中用户身份克隆检测方法及系统

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
AUPO797897A0 (en) * 1997-07-15 1997-08-07 Silverbrook Research Pty Ltd Media device (ART18)
US20130262309A1 (en) * 2012-04-02 2013-10-03 Mpayme Ltd. Method and System for Secure Mobile Payment
US9292711B1 (en) * 2014-01-07 2016-03-22 Amazon Technologies, Inc. Hardware secret usage limits

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107612940A (zh) * 2017-10-31 2018-01-19 飞天诚信科技股份有限公司 一种身份认证方法及认证装置
CN108092776A (zh) * 2017-12-04 2018-05-29 南京南瑞信息通信科技有限公司 一种身份认证服务器和身份认证令牌
CN110190969A (zh) * 2019-06-06 2019-08-30 浙江大学宁波理工学院 一种匿名信息系统中用户身份克隆检测方法及系统

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
Random-Walk Based Approach to Detect Clone Attacks in Wireless Sensor Networks;Yingpei Zeng;《IEEE JOURNAL ON SELECTED AREAS IN COMMUNICATIONS》;20100527;第28卷(第05期);全文 *
基于改进EDD算法的无线传感器网络克隆攻击检测方法;徐小龙等;《通信技术》;20160710(第07期);全文 *
基于时延的物理防克隆技术研究与实现;陈叶蓉;《中国优秀硕士学位论文全文数据库信息科技辑》;20160815(第08期);全文 *
阿里巴巴技术专家:U2F存在风险可被钓鱼克隆,服务提供商需做对应检测;佚名;《https://www.sohu.com/a/229396990_490113》;20180425;全文 *

Also Published As

Publication number Publication date
CN111447183A (zh) 2020-07-24

Similar Documents

Publication Publication Date Title
JP6804668B2 (ja) ブロックデータ検証方法および装置
CN109214632B (zh) 一种风险控制方法及设备
CN107122634B (zh) 软件安装包的加固保护方法及装置
CN111159697B (zh) 一种密钥检测方法、装置及电子设备
CN110635962B (zh) 用于分布式系统的异常分析方法及装置
CN110781192B (zh) 区块链数据的验证方法、装置及设备
CN110889691B (zh) 一种信息显示方法、装置及设备
CN109684837A (zh) 一种面向电力企业的移动应用恶意软件检测方法及系统
CN108616361B (zh) 一种识别设备唯一性的方法及装置
CN111447183B (zh) 克隆检测方法及装置
CN107368281B (zh) 一种数据处理方法及装置
CN112491816A (zh) 业务数据处理方法及装置
CN110322139B (zh) 策略推荐方法及装置
CN108334775B (zh) 一种越狱插件检测方法及装置
CN112448819A (zh) 物联网设备的校验、签名文件的生成方法及装置
CN109560927B (zh) 一种设备指纹实现方法及装置
CN113992429B (zh) 一种事件的处理方法、装置及设备
US11263313B2 (en) Securing execution of a program
CN116306990A (zh) 一种模型的处理方法、装置及设备
CN110019975B (zh) 随机游走、基于集群的随机游走方法、装置以及设备
CN107451050B (zh) 函数获取方法和装置、服务器
CN113452503B (zh) 一种基于区块链的私钥找回方法、设备及介质
CN110009389B (zh) 一种设备识别方法及装置
CN112364367A (zh) 一种基于隐私保护的对象处理方法、装置及设备
CN116346509B (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