利用树结构验证完整性的方法和装置与流程

文档序号:17158652发布日期:2019-03-20 00:20阅读:193来源:国知局
利用树结构验证完整性的方法和装置与流程

本申请要求于2017年9月12日在韩国知识产权局提交的韩国专利申请no.10-2017-0116659的权益,该申请的公开以引用方式全文并入本文中。

本发明构思涉及一种验证系统的完整性的方法,并且更具体地说,涉及一种用于通过利用树结构和对称密钥验证完整性的方法和装置。



背景技术:

由于信息技术(it)的发展,新产生了各条数据,并且增加了诸如个人信息等要保护的更多数据。对数据的各种威胁也变得多样化和智能化,需要高级加密技术来保护各种数据。为了保护系统免受外部安全威胁,可以执行使用加密技术对装置进行的认证、完整性验证等。

具体地说,当各种装置在物联网(iot)系统中互连时,可能存在安全脆弱性,使得与人类生活相关联的整个互连的iot系统可受到单一外部威胁的攻击。因此,iot系统可需要高级加密技术,并且已经提出了各种方案来实现它。

例如,在iot系统中可实现两种加密技术:一种加密技术使用对称加密密钥(秘密密钥),一种加密技术使用非对称密钥(公钥和私钥对)。利用非对称加密技术,用于加密的密钥不同于用于解密的密钥。因此,可以通过使用非对称加密来提高安全级别。然而,由于大量复杂、计算密集和消耗资源的密码操作,将非对称加密技术应用于可具有相对有限的资源量(例如,内存可用性、处理能力、电池功率等)的iot装置可能存在困难和耗时的问题。另一方面,对称加密技术涉及相对少量的密码操作,其消耗较少的时间和资源。然而,因为在执行加密操作和解密操作的装置之间必须共享用于加密和解密二者的相同的对称密钥,所以iot系统可潜在地受到外部威胁(例如,来自流氓软件的攻击)。因此,需要在使用用于验证包括iot装置的系统的完整性的对称加密技术的同时保持高级别安全性的方法、系统和装置。



技术实现要素:

为了解决上述问题,根据本发明构思的各个示例实施例的改进的方法、系统和装置使用在集线器装置与端节点装置之间共享的认证密钥作为对称密钥。可通过利用认证消息间接共享认证密钥,而不直接共享认证密钥,从而减少或防止认证密钥暴露于诸如流氓软件攻击的外部威胁。在利用认证密钥作为对称密钥的同时,所有装置可共享用于提高安全性的软件配置,形成树结构以在各种步骤中验证完整性,并且具体地说,在软件配置中,可使用进程内存映射信息和安全策略信息。另外,可利用链消息认证码(mac)以进一步提高安全性。

本发明构思的一些示例实施例提供了一种验证物联网(iot)系统的完整性的方法、一种用于实施所述方法的装置和一种验证网络系统的完整性的方法,其中系统的安全性通过利用共享对应的软件配置值的多个装置预先形成树结构而进一步加强,并且利用网络系统的认证密钥作为对称密钥而将加密技术应用于具有相对少的资源的装置(例如,资源受限的移动装置和/或具有有限的可用存储器、处理能力、电池功率等的iot装置)。

根据本发明构思的一些示例实施例,提供了一种验证包括集线器装置和多个端节点装置的物联网(iot)系统的完整性的方法,该方法包括以下步骤:通过集线器装置确定所述多个端节点装置中的根装置;通过集线器装置从根装置接收基于验证根装置的子树的完整性的结果而产生的至少一个根消息认证码,其中在完整性验证时,根装置的子树包括从属于根装置的所述多个端节点装置的子集;以及通过集线器装置验证所述至少一个根消息认证码。

根据本发明构思的一些示例实施例,提供了一种与多个端节点装置通信的集线器装置,所述集线器装置包括:存储器,其被构造为存储计算机可读指令;以及至少一个处理器,其被构造为执行计算机可读指令,以命令集线器装置执行验证所述多个端节点装置的完整性的操作,该操作包括以下步骤:确定所述多个端节点装置中的根端节点装置,以及形成以根端节点装置作为根节点的树结构;从根端节点装置接收至少一个根消息认证码;以及利用根端节点装置的认证密钥对所述至少一个根消息认证码进行加密。

根据本发明构思的一些示例实施例,提供了一种验证包括服务器和多个客户机的网络系统的完整性的方法,所述方法包括以下步骤:通过在所述多个客户机中任意确定的根客户机从根客户机的子客户机接收至少一个子消息认证码;通过根客户机验证所接收的至少一个子消息认证码的完整性;基于验证所接收的至少一个子消息认证码的完整性的结果和根客户机的软件配置值,利用根客户机的认证密钥通过根客户机来产生至少一个根消息认证码,其中根客户机的认证密钥存储在根客户机中;以及通过根客户机将所述至少一个根消息认证码发送至服务器,以进行验证。

附图说明

将从结合附图的下面详细描述中更清楚地理解本发明构思的一些示例实施例,其中:

图1示出了根据本发明构思的一些示例实施例的网络系统;

图2示出了根据本发明构思的一些示例实施例的利用对称密钥的加密技术的协议;

图3示出了根据本发明构思的一些示例实施例的网络认证系统;

图4示出了根据本发明构思的一些示例实施例的认证密钥产生协议;

图5示出了根据本发明构思的一些示例实施例的认证消息产生协议;

图6示出了根据本发明构思的一些示例实施例的网络系统;

图7是根据本发明构思的一些示例实施例的网络准备阶段的流程图;

图8示出了根据本发明构思的一些示例实施例的网络系统;

图9是根据本发明构思的一些示例实施例的验证网络的完整性的方法的流程图;

图10示出了根据本发明构思的一些示例实施例的父子系统;

图11是根据本发明构思的一些示例实施例的验证循环的流程图;

图12是根据本发明构思的一些示例实施例的产生子消息认证码的方法的流程图;

图13示出了根据本发明构思的一些示例实施例的集线器装置和根装置;

图14示出了根据本发明构思的一些示例实施例的软件配置值;

图15示出了根据本发明构思的一些示例实施例的父装置的链消息认证码产生协议;

图16是根据本发明构思的一些示例实施例的产生子消息认证码的方法的流程图;

图17是根据本发明构思的一些示例实施例的验证网络系统的方法的流程图;

图18示出了根据本发明构思的一些示例实施例的网络系统;

图19示出了根据本发明构思的一些示例实施例的消息认证码构造;

图20示出了根据本发明构思的一些示例实施例的物联网(iot)系统;以及

图21示出了根据本发明构思的一些示例实施例的应用于开放空间的网络系统的示例。

具体实施方式

下文中,将参照附图详细描述本发明构思的一些示例实施例。可参照可结合下面更详细地讨论的单元和/或装置实施的操作的行为和符号化表达(例如,按照流程图、流图、数据流图、结构图、框图等的形式)描述示例实施例。虽然以特定的方式讨论,但是在特定块中指定的功能或操作可按照不同于流程图、流图中指定的流程来执行。例如,被示出为在两个连续块中串行地执行的功能或操作可实际上并发执行、同时执行或在某些情况下以相反的顺序执行。

根据一个或多个示例实施例的单元和/或装置可以使用硬件、硬件和软件的组合或存储软件的存储介质来实现。硬件可以使用处理电路来实现,诸如(但不限于)一个或多个处理器、一个或多个中央处理单元(cpu)、一个或多个控制器、一个或多个算术逻辑单元(alu)、一个或多个数字信号处理器(dsp)、一个或多个微计算机、一个或多个现场可编程门阵列(fpga)、一个或多个片上系统(soc)、一个或多个可编程逻辑单元(plu)、一个或多个微处理器、一个或多个专用集成电路(asic)或能够按照限定方式响应和执行指令的任何其他一个或多个装置。

软件可包括计算机程序、程序代码、指令或它们的某些组合,用于独立或共同指示或配置硬件装置以按需操作。计算机程序和/或程序代码可包括能够由一个或多个硬件装置(诸如上述硬件装置中的一个或多个)实现的程序或计算机可读指令、软件组件、软件模块、数据文件、数据结构等。程序代码的示例包括编译器产生的机器代码和使用解释器执行的高级程序代码。

例如,当硬件装置是计算机处理装置(例如,一个或多个处理器、cpu、控制器、alu、dsp、微计算机、微处理器等)时,计算机处理装置可被构造为根据程序代码通过执行算术、逻辑和输入/输出的操作执行程序代码。一旦程序代码被加载到计算机处理装置中,计算机处理装置可被编程为执行程序代码,从而将计算机处理装置转换成专用计算机处理装置。在一个更具体的例子中,当程序代码被加载到处理器中时,处理器被编程以执行程序代码和与其对应的操作,从而将处理器转换成专用处理器。在另一示例中,硬件装置可为被定制为专用处理电路(例如,asic)的集成电路。

诸如计算机处理装置的硬件装置可运行操作系统(os)和在os上运行的一个或多个软件应用。计算机处理装置还可以响应于软件的执行来访问、存储、操作、处理和创建数据。为了简单起见,一个或多个示例实施例可被例示为一个计算机处理装置;然而,本领域技术人员应该理解,硬件装置可包括多个处理元件和多种处理元件。例如,硬件装置可包括多个处理器或者处理器和控制器。此外,诸如并行处理器的其它处理构造是可能的。

软件和/或数据可永久或临时地在能够向硬件装置提供指令或数据的任何类型的存储介质中实现或被硬件装置解释,所述存储介质包括(但不限于)任何机器、组件、物理或虚拟的设备或计算机存储介质或装置。所述软件也可分布在网络耦接的计算机系统上,从而以分布式方式存储和执行软件。具体地说,例如,软件和数据可以由一个或多个计算机可读记录介质(包括本文所讨论的有形或非暂时性计算机可读存储介质)存储。

根据一个或多个示例实施例,存储介质还可包括单元和/或装置处的一个或多个存储装置。所述一个或多个存储装置可为有形或非暂时性计算机可读存储介质,诸如随机存取存储器(ram)、只读存储器(rom)、永久大容量存储装置(例如磁盘驱动器)和/或任何其他能够存储和记录数据的类似数据存储机构。一个或多个存储装置可被构造为存储用于一个或多个操作系统和/或用于实现本文所描述的示例实施例的计算机程序、程序代码、指令或它们的一些组合。也可利用驱动机构将计算机程序、程序代码、指令或它们的一些组合从单独的计算机可读存储介质加载到所述一个或多个存储装置和/或一个或多个计算机处理装置。这种单独的计算机可读存储介质可包括通用串行总线(usb)闪存驱动器、存储棒、蓝光/dvd/cd-rom驱动器、存储卡和/或其他类似的计算机可读存储介质。计算机程序、程序代码、指令或它们的一些组合可通过网络接口而不是通过计算机可读存储介质从远程数据存储装置加载到所述一个或多个存储装置和/或所述一个或多个计算机处理装置中。此外,计算机程序、程序代码、指令或它们的一些组合可从被构造为传递和/或分布计算机程序、程序代码、指令或者它们的一些组合的远程计算系统经网络加载到所述一个或多个存储装置和/或所述一个或多个处理器中。远程计算系统可以通过有线接口、空中接口和/或任何其他类似介质传递和/或分布计算机程序、程序代码、指令或它们的一些组合。

所述一个或多个硬件装置、存储介质、计算机程序、程序代码、指令或它们的一些组合可针对示例实施例的目的而专门设计和构造,或者它们可为针对示例实施例的目的更改和/或修改的已知装置。

以上对结构性示例实施例的描述同样适用于集线器装置100、端节点装置200、发送器1100、接收器1200、密钥管理系统(kms)300、根装置400、子树510、父装置600、子装置700、端节点装置800、810、900、910、物联网(iot)装置2110至2140、家庭网关2300、家用服务器2400、服务器2600、服务提供者2700、移动装置2800、通信连接装置3100、照明装置3200、3300、服务器3400、计算机3500、通信基站3600、移动装置3800和/或其组件中的一个或多个,如下面参照附图的详细讨论。

图1示出了根据本发明构思的一些示例实施例的网络系统10。

网络系统10可包括集线器装置100和第一端节点装置200_1至第n端节点装置200_n(其中n是自然数)。除图1所示的情况之外,根据一些示例实施例,网络系统10可包括集线器装置100和一个端节点装置。网络系统10可包括其中第一端节点装置200_1至第n端节点装置200_n连接至集线器装置100以执行通信操作的任何系统。可将集线器装置100称作服务器,并且在这种情况下,可将第一端节点装置200_1至第n端节点装置200_n称作客户机。

网络系统10可包括物联网(iot)系统。在这种情况下,根据一些非限制性示例实施例,第一端节点装置200_1至第n端节点装置200_n可为iot装置,并且集线器装置100可为路由器装置。例如,可用各种术语称呼iot系统,诸如iot网络系统、泛在传感器网络(usn)通信系统、机器类型通信(mtc)通信系统、面向机器的通信(moc)通信系统、机器对机器(m2m)通信系统和/或装置对装置(d2d)系统。例如,针对其中两个或更多个组件之间的通信,iot系统可使用诸如用户数据报协议(udp)和传输控制协议(tcp)、ipv6互联网路由协议以及应用协议(诸如受限应用协议(coap)、超文本传输协议(http)、消息队列遥测传输(mqtt)和用于传感器网络的mqtt(mqtt-s))。

集线器装置100可经交换各种数据的各种网络方法与第一端节点装置200_1至第n端节点装置200_n通信。另外,集线器装置100可连接至诸如互联网服务器的外部服务器(未示出)。集线器装置100可包括至少一个处理器和存储用于集线器装置100的操作的指令的存储器。

集线器装置100可包括信任的执行环境(tee)120。例如,tee120是可驻留在集线器装置100的应用处理器(未示出)中的安全区域。tee120是与专用软件相结合的硬件体系结构,它为广泛的应用形成信任基础,并提供与装置完整性、密钥管理、密码操作、认证、授权、访问控制和隐私保护相关的功能。tee120通过硬件与集线器装置100的主操作系统分离,并确保敏感数据和信任的应用的安全存储和处理。例如,tee120可保护密钥资源的完整性和机密性,并管理和执行信任的应用。在tee120中运行的信任的应用可访问主处理器(cpu)和存储器(未示出),同时硬件隔离保护这些受信任的应用免受在主操作系统中运行的其它应用(例如,不信任的应用、用户安装的应用)的影响。tee120内的软件和密码隔离保护其中包含的信任的应用免受彼此的影响。

tee120可包括安全区域,其中从外部访问集线器装置100是不可能的。集线器装置100可在tee120中存储关于安全的信息。例如,集线器装置100可将第一端节点装置200_1至第n端节点装置200_n的标识符、秘密密钥和认证密钥存储在tee120中。在其中第一端节点装置200_1至第n端节点装置200_n连接至集线器装置100的准备阶段中,集线器装置100可从第一端节点装置200_1至第n端节点装置200_n接收认证消息,并且基于所接收到的认证消息使用标识符和秘密密钥来产生认证密钥。下面参照图4描述产生认证密钥的详细方法。

集线器装置100可对第一端节点装置200_1至第n端节点装置200_n进行认证,并验证第一端节点装置200_1至第n端节点装置200_n的完整性。集线器装置100可以以一对多的方式而不是以一对一的方式同时验证第一端节点装置200_1至第n端节点装置200_n的完整性。集线器装置100可在第一端节点装置200_1至第n端节点装置200_n中确定根装置,以验证第一端节点装置200_1至第n端节点装置200_n的完整性,并且可形成其中根装置是根节点的树结构。此外,集线器装置100可使用对称密钥方法来验证第一端节点装置200_1至第n端节点装置200_n的完整性。参照图8描述了第一端节点装置200_1至第n端节点装置200_n的树结构,并参照图2描述了利用对称密钥方法的加密技术的详细操作。具体地说,集线器装置100可通过利用第一端节点装置200_1至第n端节点装置200_n的认证密钥作为对称密钥来验证第一端节点装置200_1至第n端节点装置200_n的完整性。根据一些示例实施例,第一端节点装置200_1至第n端节点装置200_n的软件配置值可用于验证第一端节点装置200_1至第n端节点装置200_n的完整性,并且完整性验证还可使用链消息认证码。下面参照图15和图16来描述链消息认证码。

第一端节点装置200_1至第n端节点装置200_n可通过有线/无线接口与集线器装置100和/或彼此通信。例如,有线/无线接口可包括可连接至有线局域网(lan)、诸如无线保真(wifi)的无线局域网(wlan)、诸如蓝牙的无线个人区域网络(wpan)、无线通用串行总线(usb)、zigbee、近场通信(nfc)、射频识别(rfid)、电力线通信(plc)和诸如第三代(3g)、第四代(4g)和长期演进(lte)的移动蜂窝网络的调制解调器通信接口。第一端节点装置200_1至第n端节点装置200_n中的每一个可通过与其它端节点装置的通信来共享软件配置值。

第一端节点装置200_1至第n端节点装置200_n可分别包括第一安全元件(se_1)220_1至第n安全元件(se_n)220_n。第一安全元件220_1至第n安全元件220_n中的每一个可以包括仅由经认证的用户可访问的存储空间。第一端节点装置200_1至第n端节点装置200_n可在第一安全元件220_1至第n安全元件220_n中存储需要高安全级别的数据,以相对于外部威胁保持安全性。例如,第一端节点装置200_1至第n端节点装置200_n可分别在第一安全元件220_1至第n安全元件220_n中存储认证密钥。下面将结合图3的安全元件220进一步讨论第一安全元件220_1至第n安全元件220_n的结构和功能的非限制性示例实施例。

第一端节点装置200_1至第n端节点装置200_n中的每一个可为iot装置,并且可包括(例如)通过使用其自身电力来操作的有源iot装置和由从外部无线地施加的电力来操作的无源iot装置。例如,有源iot装置可包括冰箱、空调、电话、汽车等,并且无源iot装置可包括rfid标签或nfc标签。

图2示出了根据本发明构思的一些示例实施例的使用对称密钥的加密技术的协议20。

加密技术可包括使用对称密钥的加密技术和使用非对称密钥的加密技术。在对称加密技术中,在用于发送消息message的发送器1100中对消息message加密的加密密钥与在用于接收消息message的接收器1200中对消息message解密的解密密钥相同。在非对称加密技术中,发送器1100使用的加密密钥与接收器1200使用的解密密钥不同。在非对称加密技术中,加密密钥可被称为公钥,解密密钥可被称为私钥。非对称加密技术可包括复杂的、资源密集的操作,因此,当使用非对称加密技术的装置的资源受到限制时(例如,资源受限的移动装置和/或具有有限可用内存、处理能力、电池功率等的iot装置),为了执行非对称加密和/或解密操作,可需要相对长的时间。另一方面,对称加密技术可包括消耗较少资源的相对较不复杂的操作,使得资源受限的装置与非对称加密技术相比可在相对较短的时间内执行对称加密和/或解密操作。

参照图2,发送器1100可通过使用对称密钥key_sym对消息message加密,并向接收器1200发送加密后的消息enc_message。接收器1200可接收加密后的消息enc_message,并通过使用对称密钥key_sym对加密后的消息enc_message进行解密来验证消息message的完整性。

发送器1100可通过使用哈希函数(hash)1120从消息message中生成消息摘要md。hash1120可包括产生与输入数据的大小无关的具有相同大小的输出的各种函数,并且可以不存在反函数。作为非限制性示例,hash1120可包括安全哈希算法,诸如sah-128、sha-256和sha-512。发送器1100可通过使用加密操作(enc)1140从消息摘要md产生消息认证码mac。可通过使用对称密钥key_sym来执行enc1140。发送器1100可基于消息message和消息认证码mac来产生加密后的消息enc_message。参照图2,加密后的消息enc_message可具有其中消息认证码mac在消息message之后的形式,但不限于此。例如,加密后的消息enc_message可为消息message在消息认证码mac之后的形式。

接收器1200可包括比较逻辑(complogic)1260,并且可从发送器1100接收加密后的消息enc_message。接收器1200可从加密后的消息enc_message中分离消息message和消息认证码mac。接收器1200可通过使用hash1220从消息message中产生第一消息摘要md'。接收器1200可通过使用解密操作(dec)1240从消息认证码mac中产生第二消息摘要md”。可以通过使用对称密钥key_sym来执行dec1240。complogic1260可通过将第一消息摘要md'与第二消息摘要md”进行比较来验证从发送器1100接收到的加密后的消息enc_message的完整性。例如,当第一消息摘要md'与第二消息摘要md”不同时,消息message和消息认证码mac中的至少一个可能已经受到来自外部的恶意软件的攻击。恶意软件可被称为流氓软件,并且流氓软件的非限制性示例可包括计算机病毒、蠕虫、特洛伊木马、间谍软件、不诚实商品、广告软件、恐吓软件、犯罪软件和其他恶意软件或程序。

为了便于后续附图的描述,在发送器1100上形成消息认证码mac的步骤可被称为mac操作,并且在接收器1200处通过使用消息message和消息认证码mac来验证消息message的完整性的步骤可被称为vermac操作。此外,在图2中公开的通过使用对称密钥key_sym来产生消息认证码mac和通过使用对称密钥key_sym来验证消息message的完整性的方法仅仅是一个非限制性示例,并且根据一些示例实施例,可以应用各种加密方法。

图3示出了根据本发明构思的一些示例实施例的网络认证系统30。

网络认证系统30可包括集线器装置100、端节点装置200和密钥管理系统(kms)300。参照图3,网络认证系统30可包括一个端节点装置200,但这种情况仅是为了便于描述的非限制性示例,并且网络认证系统30可包括多个端节点装置200。将省略与参照图1提供的描述相同的对集线器装置100和端节点装置200的描述。

kms300可产生端节点装置200的盐(salt)、装置id、标识符和秘密密钥。另外,kms300可通过利用盐、装置id、标识符和秘密密钥来产生端节点装置200的认证密钥key_auth。盐可为具有由kms300任意产生的特定数量位的数据。kms300可将标识符和秘密密钥发送至集线器装置100,并且可以向端节点装置200发送盐、装置id和认证密钥key_auth。因此,根据一些示例实施例,认证密钥key_auth可被预先存储在端节点装置200中。

集线器装置100可包括tee120。tee120可存储从kms300接收的标识符和秘密密钥。由于不可从外部访问tee120,因此诸如流氓软件的外部入侵者不能访问标识符和秘密密钥。

端节点装置200可包括安全元件(se)220,安全元件(se)220可以为诸如嵌入式、防篡改安全芯片、安全集成电路(ic)、专用集成电路(asic)、硬件安全模块(hsm)等。安全元件220的专用软件支持各种任务,诸如个人验证、装置认证、安全密钥和敏感数据存储、密码操作、编码和解码等,并允许密钥和认证信息在例如装置、服务器和云之间安全传输。安全元件220可存储从kms300接收的认证密钥key_auth。由于安全元件220是端节点装置200中具有增强安全性的区域,因此不能从外部访问认证密钥key_auth。根据一些示例性实施例,端节点装置200可将装置id和盐与认证密钥key_auth分开存储(例如,存储在与安全元件220分开的存储器中)。本文讨论的端节点装置的其它非限制性示例实施例(例如,发送器1100、接收器1200、根装置400、子树510、父装置600、子装置700、端节点装置800、810、900、910、iot装置2110至2140、移动装置2800、3800等)也可包括安全元件220。

端节点装置200可将验证id发送至集线器装置100以进行装置认证,并且将用于认证的认证消息auth_message发送至集线器装置100。端节点装置200可通过利用装置id、盐和认证密钥key_auth来产生认证消息auth_message。下面参照图5描述产生端节点装置200的auth_message的方法。

集线器装置100可接收用于端节点装置200的认证的认证消息auth_message。集线器装置100可通过利用可预先从端节点装置200接收的验证id和认证消息auth_message来认证端节点装置200。另外,集线器装置100可通过利用存储在tee120中的标识符、秘密密钥和认证消息auth_message来产生认证密钥key_auth。例如,集线器装置100可将盐和装置id与从端节点装置200接收到的认证消息auth_message分离,从而产生端节点装置200的认证密钥key_auth。下面参照图4描述产生集线器装置100的认证密钥key_auth的方法。当验证端节点装置200的完整性时,集线器装置100可使用认证密钥key_auth作为对称密钥。例如,端节点装置200可使用认证密钥key_auth作为对称密钥,以对特定信息加密和将消息认证码mac发送至集线器装置100,并且集线器装置100可利用用于解密的端节点装置200的认证密钥key_auth来验证所接收到的消息认证码mac。因此,集线器装置100和端节点装置200可经认证消息auth_message间接地共享对称密钥,而不直接共享对称密钥,因此,可降低和防止对称密钥暴露于外的风险。

图4示出了根据本发明构思的一些示例实施例的认证密钥产生协议。可通过图3中的集线器装置100和kms300执行认证密钥key_auth的产生。下文中,为了便于描述,假设通过集线器装置100执行图4的认证密钥产生协议。通过kms300产生认证密钥key_auth的处理也可理解为与以下处理相同。

集线器装置100可通过利用hash1121从标识符中产生哈希标识符ihash。集线器装置100可通过利用第一标签tag1、哈希标识符ihash和盐产生第一数据块db1。集线器装置100可通过利用第二标签tag2和盐产生第二数据块db2,并且通过利用hash1122从第一数据块db1中产生哈希数据块hd。第一标签tag1和第二标签tag2可为具有特定数量位的任意数据。集线器装置100可通过执行xor操作从第二数据块db2和哈希数据块hd中产生屏蔽数据块(db)。集线器装置100可利用enc1141从含有屏蔽db、哈希数据块hd和装置id的消息中产生认证密钥key_auth。可利用存储在tee120中的秘密密钥来执行enc1141。

因此,图3的集线器装置100和kms300可利用标识符、盐、装置id和秘密密钥来产生认证密钥key_auth。关于图4所示的产生认证密钥key_auth的方法,利用各种数据构造数据块的方法不限于图4所示的次序,并且根据一些示例实施例,构造数据块时的数据次序可改变。

图5示出了根据本发明构思的一些示例实施例的认证消息auth_message产生协议。可通过图3的端节点装置200产生认证消息auth_message。

端节点装置200可预先从kms300接收认证密钥key_auth,并且将所接收到的认证密钥key_auth存储在安全元件220(例如,安全芯片)中。认证密钥key_auth可包括加密密钥key_enc和消息认证码密钥key_mac。端节点装置200可利用加密密钥key_enc基于验证id和时间戳来执行enc1142,以产生加密后的消息enc_message。端节点装置200可利用消息认证码密钥key_mac基于盐、装置id和加密后的消息enc_message来执行hash1150,从而产生哈希消息认证码hmac。端节点装置200可利用盐、装置id、加密后的消息enc_message和哈希消息认证码hmac来产生认证消息auth_message。

因此,图3中的端节点装置200可利用盐、装置id和认证密钥key_auth产生认证消息auth_message。关于图5所示的产生认证消息auth_message的方法,利用各种数据构造数据块的方法不限于图5所示的次序,并且根据一些示例实施例,在构造数据块中的数据的次序可改变。

图6示出了根据本发明构思的一些示例实施例的网络系统10'。网络系统10'可包括集线器装置100和第一端节点装置200_1至第n端节点装置200_n。将省略与参照图1提供的相同的对集线器装置100和端节点装置200的描述。图6示出了其中将第n端节点装置200_n加入至包括第一端节点装置200_1至第(n-1)端节点装置200_n-1的(n-1)个端节点装置的现有网络系统10'的准备阶段。

在准备阶段中,第n端节点装置200_n可连接至集线器装置100,并且可执行通信操作。集线器装置100可接收第n认证消息auth_message_n,以认证第n端节点装置200_n。集线器装置100可利用第n标识符、第n装置id和第n认证消息auth_message_n按照与参照图4描述的方式相同的方式来产生第n认证密钥key_auth_n。集线器装置100可将第n认证密钥key_auth_n存储在tee120中。第n端节点装置200_n可将其第n软件配置值swconfig_n发送至集线器装置100。第n软件配置值swconfig_n可包括第n端节点装置200_n的进程内存映射信息和第n端节点装置200_n的安全策略信息。参照图14可理解第n软件配置值swconfig_n的更多详细描述。

在准备阶段,第n端节点装置200_n可与现有第一端节点装置200_1至第(n-1)端节点装置200_n-1通信。例如,在准备阶段,第n端节点装置200_n可将第n软件配置值swconfig_n和第n哈希数据hdat_n发送至第(n-1)端节点装置200_n-1,以产生第n端节点装置200_n的哈希密钥。另外,例如,在准备阶段,第(n-1)端节点装置200_n-1可将用于产生第(n-1)端节点装置200_n-1的哈希密钥的第(n-1)软件配置值swconfig_n-1和第(n-1)哈希数据hdat_n-1发送至第n端节点装置200_n。因此,第一端节点装置200_1至第n端节点装置200_n可共享它们的软件配置值swconfig_1至swconfig_n,并且可根据以下描述产生和存储端节点装置之间的哈希密钥。由于软件配置值swconfig_1至swconfig_n全部由所有第一端节点装置200_1至第n端节点装置200_n共享,因此网络系统10'的完整性验证可更强大和/或强健。

在准备阶段,第n端节点装置200_n可产生与现有第一端节点装置200_1至第(n-1)端节点装置200_n-1具有相互关系的哈希密钥。例如,在准备阶段,第n端节点装置200_n可产生相对于第(n-1)端节点装置200_n-1的哈希密钥。如上所述,第n端节点装置200_n可从第(n-1)端节点装置200_n-1接收第(n-1)哈希数据hdat_n-1,并且第(n-1)端节点装置200_n-1可从第n端节点装置200_n接收第n哈希数据hdat_n。因此,第(n-1)端节点装置200_n-1和第n端节点装置200_n可共享第(n-1)哈希数据hdat_n-1和第n哈希数据hdat_n。第(n-1)端节点装置200_n-1和第n端节点装置200_n可从共享的第(n-1)哈希数据hdat_n-1和第n哈希数据hdat_n中产生它们之间的哈希密钥。

图7是根据本发明构思的一些示例实施例的网络准备阶段的流程图。

在网络准备阶段中,可将例如第n端节点装置的新端节点装置新连接至集线器装置(s110)。

新端节点装置可通过通信操作与现有邻近端节点装置交换数据。新端节点装置可将用于产生哈希密钥的第n软件配置值swconfig_n和第n哈希数据hdat_n发送至邻近端节点装置(s120)。各个邻近的端节点装置可将其软件配置值swconfig和用于互相哈希密钥产生的哈希数据hdat递送至新端节点装置(s130)。

新端节点装置可将第n认证消息和第n软件配置值swconfig_n发送至集线器装置(s140)。集线器装置可基于所接收到的第n认证消息产生新端节点装置(第n端节点装置)的第n认证密钥,如参照图4的描述那样(s150)。

图8示出了根据本发明构思的一些示例实施例的网络系统40。网络系统40可包括集线器装置100和包括根装置400和第一子树510_1至第k子树510_k的多个端节点装置。将省略与参照图1提供的那些相同的对集线器装置100、根装置400和第一子树510_1至第k子树510_k的描述。具体地说,图8示出了在验证根装置400和第一子树510_1至第k子树510_k的完整性的完整性验证阶段中的网络系统40。网络系统40可根据特定时间段周期性地进入完整性验证阶段。然而,一些示例实施例不限于此。例如,网络系统40可经来自网络系统40外部的触发物而进入完整性验证阶段。

在完整性验证阶段中,集线器装置100可任意确定根装置400是根装置400和第一子树510_1至第k子树510_k中的根节点。根据一些示例实施例,对于各个完整性验证阶段,根装置400可为不同的装置,或者可为相同的装置。下面为了便于描述,将根装置400描述为第m端节点装置,但不限于此。

集线器装置100可形成使用根装置400和第一子树510_1至第k子树510_k的树结构500,以选择根装置400作为根节点。树结构500可包括二叉树结构。根据一些示例实施例,集线器装置100可不同地形成用于各个完整性验证阶段的树结构500。树结构500可包括成对地连成一线的多个顶部节点装置和底部节点装置,其中顶部节点装置被称作父装置而底部节点装置被称作子装置。换句话说,树结构500可包括以根装置400作为父装置的k个子树510_1至510_k(其中k是自然数)。

根装置400可从根装置400的第一子树510_1至第k子树510_k接收子树消息认证码mac_sub1至mac_subk。根装置400可基于所接收到的子树消息认证码mac_sub1至mac_subk来验证根装置400的第一子树510_1至第k子树510_k的完整性。根装置400的子树510_1至510_k可基于第一子树510_1至第k子树510_k的对应的根节点的子树的完整性验证结果来产生子树消息认证码mac_sub1至mac_subk。结果,通过根装置400验证根装置400的第一子树510_1至第k子树510_k的完整性的步骤可包括父装置与子装置之间的多个验证循环。下面,参照图10至图12来描述验证循环。

根装置400可利用根装置400的认证密钥基于根装置400的第一子树510_1至第k子树510_k的完整性验证结果和根装置400的软件配置值来产生根消息认证码mac_root。根装置400可将根消息认证码mac_root发送至集线器装置100,以进行验证。

集线器装置100可验证所接收到的根消息认证码mac_root。集线器装置100可通过验证根消息认证码mac_root来验证包括根装置400和第一子树510_1至第k子树510_k的整个树结构500的完整性。

图9是根据本发明构思的一些示例实施例的验证网络的完整性的方法的流程图。参照图8的网络系统40描述图9的验证网络的完整性的方法的流程图。

集线器装置100可在完整性验证阶段中任意确定包括根装置400和第一子树510_1至第k子树510_k的所述多个端节点装置中的根装置400(s210)。集线器装置100可形成使用根装置400和第一子树510_1至第k子树510_k的树结构500,以选择根装置400作为根节点(s220)。根装置400可验证根装置400的第一子树510_1至第k子树510_k的完整性(s230)。根装置400可基于根装置400的第一子树510_1至第k子树510_k的完整性验证结果来产生根消息认证码mac_root(s240)。根装置400可将根消息认证码mac_root发送至集线器装置100,以进行验证。集线器装置100可验证所接收到的根消息认证码mac_root(s250)。因此,集线器装置100可利用根装置400和第一子树510_1至第k子树510_k形成树结构500,从而可通过仅验证根消息认证码mac_root来验证所有根装置400和第一子树510_1至第k子树510_k。

图10示出了根据本发明构思的一些示例实施例的父子系统50。父子系统50可包括父装置600和子装置700。为了便于描述,将父装置600称作第i端节点装置,并且将子装置700称作第j端节点装置,但是一些示例实施例不限于此。父装置600与子装置700之间的关系可表示图8中的树结构500中的顶部节点装置与底部节点装置之间的相对(例如,等级)关系,其可应用于图8中的树结构500和第一子树510_1至第k子树510_k。

子装置700可将至少一个子消息认证码mac_child发送至父装置600。所述至少一个子消息认证码mac_child可包括第一子消息认证码mac1_child和第二子消息认证码mac2_child。然而,一些示例实施例不限于此。例如,子消息认证码mac_child还可包括子链消息认证码chain_mac_child。子装置700可基于b和c的值通过利用哈希密钥key_ij产生第一子消息认证码mac1_child,其中b可表示包括在子装置700的子树中的端节点装置中的已验证完整性的端节点装置的数量,c可表示包括在子装置700的子树中的端节点装置的总数。例如,当子装置700对应于不包括子树的叶节点时,子装置700的b和c可具有值0。子装置700可基于子装置700的子树的完整性验证结果来确定值b。

子装置700可基于子装置700的第j软件配置值swconfig_j利用哈希密钥key_ij产生第二子消息认证码mac2_child。第j软件配置值swconfig_j可包括子装置700的进程内存映射信息和安全策略信息。参照图14来理解其更详细的描述。

子装置700可基于子装置700的子树链消息认证码chain_mac_sub1和chain_mac_sub2和子装置700的第j软件配置值swconfig_j利用第j认证密钥key_auth_j来产生子链消息认证码chain_mac_child。可参照图15和图16来理解链消息认证码的更详细的描述。

父装置600可通过利用哈希密钥key_ij验证从子装置700接收的第一子消息认证码mac1_child。父装置600可从子装置700接收b和c的值,以验证第一子消息认证码mac1_child。父装置600可将基于所接收到的b和c的值利用哈希密钥key_ij产生的第一比较消息认证码与所接收到的第一子消息认证码mac1_child进行比较,从而验证第一子消息认证码mac1_child。例如,如果第一子消息认证码mac1_child与第一比较消息认证码匹配,则对第一子消息认证码mac1_child的验证是成功的。

父装置600可利用哈希密钥key_ij验证从子装置700接收的第二子消息认证码mac2_child。父装置600可将基于存储在其中的第j软件配置值swconfig_j通过利用哈希密钥key_ij产生的第二比较消息认证码与所接收到的第二子消息认证码mac2_child进行比较,从而验证第二子消息认证码mac2_child。例如,如果第二子消息认证码mac2_child与第二比较消息认证码匹配,则对第二子消息认证码mac2_child的验证是成功的。

可将验证第一子消息认证码mac1_child和第二子消息认证码mac2_child的结果用于确定父装置600的b值,并且所接收到的子链消息认证码chain_mac_child可用于产生父装置600的父链消息认证码。

上述用于产生第一子消息认证码mac1_child和第二子消息认证码mac2_child的信息是非限制性示例,并且一些示例实施例不限于此。例如,当子装置700产生第一子消息认证码mac1_child和第二子消息认证码mac2_child时,子装置700可额外使用n(未示出)和q(未示出)的值来提高安全性,其中n可为在完整性验证阶段中在装置之间任意确定的数据,并且q可为在整个网络系统中任意确定的数据。

图11是根据本发明构思的一些示例实施例的验证循环的流程图。参照图10的父子系统50描述图11。

首先,可确定子装置700是否包括子树(s310)。当子装置700对应于不包括子树的叶节点时,处理可前进至产生子消息认证码mac_child的步骤(s330)。否则,当子装置700包括子树时,子装置700可验证子装置700的子树的完整性(s320)。子装置700可基于子树的完整性验证结果和子装置700的第j软件配置值swconfig_j来产生至少一个子消息认证码mac_child(s330)。子装置700可将至少一个子消息认证码mac_child发送至父装置600。父装置600可验证这样接收到的所述至少一个子消息认证码mac_child(s340)。

图12是根据本发明构思的一些示例实施例的产生子消息认证码的方法的流程图。参照图10的父子系统50和图11的产生所述至少一个子消息认证码mac_child的步骤描述图12(s330)。

子装置700可基于b和c的值利用哈希密钥key_ij产生第一子消息认证码mac1_child(s332)。子装置700可基于子装置700的第j软件配置值swconfig_j利用哈希密钥key_ij产生第二子消息认证码mac2_child(s334)。子装置700可基于子装置700的第一子树链消息认证码chain_mac_sub1和第二子树链消息认证码chain_mac_sub2和子装置700的第j软件配置值swconfig_j利用第j认证密钥key_auth_j来产生子链消息认证码chain_mac_child。

图13示出了根据本发明构思的一些示例实施例的集线器装置100和根装置400。为了便于描述,假设根装置400是第m端节点装置。

根装置400可将至少一个根消息认证码mac_root发送至集线器装置100。所述至少一个根消息认证码mac_root可包括第一根消息认证码mac1_root和第二根消息认证码mac2_root。然而,一些示例实施例不限于此。例如,根消息认证码mac_root还可包括根链消息认证码chain_mac_root。

根装置400可基于b和c的值利用第m认证密钥key_auth_m产生第一根消息认证码mac1_root,其中b可表示包括在根装置400的子树中的端节点装置中的已验证完整性的端节点装置的数量,并且c可表示包括在根装置400的子树中的端节点装置的总数。根装置400可基于根装置400的子树的完整性验证结果来确定b的值。

根装置400可基于根装置400的第m软件配置值swconfig_m利用第m认证密钥key_auth_m产生第二根消息认证码mac2_root。第m软件配置值swconfig_m可包括根装置400的进程内存映射信息和安全策略信息。可参照图14来理解其更详细的描述。

根装置400可基于根装置400的子树的第一子树链消息认证码chain_mac_sub1和第二子树链消息认证码chain_mac_sub2和根装置400的第m软件配置值swconfig_m利用第m认证密钥key_auth_m来产生根链消息认证码chain_mac_root。可参照图15和图16来理解链消息认证码的更详细的描述。

集线器装置100可利用第m认证密钥key_auth_m验证从根装置400接收到的第一根消息认证码mac1_root和第二根消息认证码mac2_root。另外,集线器装置100可利用所述多个端节点装置(即,第1端节点装置至第n端节点装置)的认证密钥key_auth_1至key_auth_n和软件配置值swconfig_1至swconfig_n来验证根链消息认证码chain_mac_root。集线器装置100可利用所述多个认证密钥key_auth_1至key_auth_n作为对称密钥(从而减少计算量)以及利用各种消息认证码来提高安全性。

用于产生上述第一根消息认证码mac1_root和第二根消息认证码mac2_root的信息仅是非限制性示例,并且一些示例实施例不限于此。例如,当根装置400产生第一根消息认证码mac1_root和第二根消息认证码mac2_root时,根装置400可额外利用n(未示出)和q(未示出)的值来提高安全性,其中n可为在完整性验证阶段中在装置之间任意确定的数据,并且q可为在整个网络系统中任意确定的数据。

图14示出了根据本发明构思的一些示例实施例的软件配置值。软件配置值可包括指示端节点装置的状态的各种值,并且可用于端节点装置的完整性验证。软件配置值可包括进程内存映射信息和安全策略信息。

进程内存映射信息可包括关于端节点装置的存储器上的代码区域的信息和关于系统可执行文件的信息。作为非限制性示例,进程内存映射信息可包括关于linux系统中的/bin/、/sbin/、/usr/bin/、/usr/sbin/中的文件的信息。

安全策略信息可包括关于系统配置文件的配置信息和关于存储器保护方案的配置信息。作为非限制性示例,关于系统配置文件的配置信息可包括网络配置信息、安全壳(ssh)配置信息和文件系统信息中的至少一个。作为非限制性示例,关于存储器保护方案的配置信息可包括地址空间布局随机化(aslr)、数据执行保护(dep)、ascii-armor和堆栈金丝雀(stackcanary)中的至少一个。

图15示出了根据本发明构思的一些示例实施例的父装置600的链消息认证码chain_mac_i产生协议。为了便于描述,父装置600可为第i端节点装置device_i,第一子装置700_1可为第(i+1)端节点装置device_i+1,第二子装置700_2可为第(i+2)端节点装置device_i+2。

第一子装置700_1和第二子装置700_2可分别将至少一个消息认证码分别发送至父装置600。所述至少一个消息认证码可包括链消息认证码。也就是说,第一子装置700_1可将第(i+1)链消息认证码chain_mac_(i+1)发送至父装置600,第二子装置700_2可将第(i+2)链消息认证码chain_mac_(i+2)发送至父装置600。父装置600可基于所接收到的第(i+1)链消息认证码chain_mac_i+1和第(i+2)链消息认证码chain_mac_i+2和父装置600的第i软件配置值swconfig_i、利用第i认证密钥key_auth_i来产生第i链消息认证码chain_mac_i。当父装置600对应于不包括子装置的叶节点时,父装置600可仅基于第i软件配置值swconfig_i产生第i链消息认证码chain_mac_i。当父装置600是图13的根装置400时,例如,父装置600可将第i链消息认证码chain_mac_i发送至集线器装置100,以进行验证。

参照图13和图15,当父装置600是根装置400时,第i链消息认证码chain_mac_i可为根链消息认证码chain_mac_root。由于集线器装置100存储关于所述多个端节点装置的认证密钥key_auth_1至key_auth_n的信息、所述多个端节点装置的软件配置值和关于树结构的信息,因此集线器装置100可产生比较链消息。集线器装置100可将产生的比较链消息与从根装置400接收到的根链消息认证码chain_mac_root进行比较,以确定它们是否相同,从而执行根链消息认证码chain_mac_root的验证。例如,如果根链消息认证码chain_mac_root与产生的比较链消息匹配,则根链消息认证码chain_mac_root的验证是成功的。

根据参照图15利用链消息认证码的验证方法,由于仅使用认证密钥进行验证,因此在验证阶段可防止外部进行伪造和调制的尝试。

图16是根据本发明构思的一些示例实施例的产生子消息认证码的方法的流程图。

首先,可确定装置是否包括子树(s410)。当装置包括子树时,作为产生链消息认证码的基础的数据可包括子装置的链消息认证码和装置的软件配置值(s420)。否则,当装置是不包括子树的叶节点时,作为产生链消息认证码的基础的数据可仅包括装置的软件配置值(s430)。可利用装置的认证密钥产生链消息认证码(s440)。最终,装置可产生链消息认证码(s450)。装置可将产生的链消息认证码发送至其父装置,以进行验证。

图17是根据本发明构思的一些示例实施例的验证网络系统的方法的流程图。网络系统可包括集线器装置100和包括根装置400、第一父装置600_1和第一子装置700_1的多个端节点装置。虽然将第一子装置700_1描述为对应于不具有子树的叶节点的装置,但这仅是非限制性说明示例,并且根据一些示例实施例,整个树结构的深度可大于三。另外,为了便于描述,假设根装置400是第i端节点装置device_i,第一父装置600_1是第j端节点装置device_j,第一子装置700_1是第k端节点装置device_k。

在完整性验证阶段中,集线器装置100和包括根装置400、第一父装置600_1和第一子装置700_1的所述多个端节点装置可产生并且共享n和q的值,以提高验证的安全性和可靠性。集线器装置100可将n_i(集线器装置100与根装置400之间的n)和q的值发送至根装置400(s510)。根装置400可将n_ij(根装置400与第一父装置600_1之间的n)和q的值发送至第一父装置600_1(s511)。第一父装置600_1可将n_jk(第一父装置600_1与第一子装置700_1之间的n)和q的值发送至第一子装置700_1(s512)。

第一子装置700_1可产生至少一个子消息认证码(s520)。第一子装置700_1可基于n_jk、q、b_k(第一子装置700_1的b)和c_k(第一子装置700_1的c)的值利用第jk哈希密钥key_jk来产生第一子消息认证码mac1_k。当第一子装置700_1是对应于叶节点的装置时,b_k和c_k的值可为0。第一子装置700_1可基于第一子装置700_1的n_jk、q和第k软件配置值swconfig_k利用第jk哈希密钥key_jk来产生第二子消息认证码mac2_k。第一子装置700_1可基于第k软件配置值swconfig_k利用第一子装置700_1的第k认证密钥key_auth_k产生子链消息认证码chain_mac_k。第一子装置700_1可将第一子消息认证码mac1_k、第二子消息认证码mac2_k、子链消息认证码chain_mac_k、b_k和c_k发送至第一父装置600_1,以进行验证(s530)。

第一父装置600_1可利用第k软件配置值swconfig_k、第jk哈希密钥key_jk和所接收到的b_k和c_k的值来验证第一子消息认证码mac1_k和第二子消息认证码mac2_k(s540)。

第一父装置600_1可产生至少一个父消息认证码(s541)。第一父装置600_1可基于n_ij(根装置400与第一父装置600_1之间的n)、q、b_j(第一父装置600_1的b)和c_j(第一父装置600_1的c)利用第ij哈希密钥key_ij来产生第一父消息认证码mac1_j。可基于其子装置(例如,第一子装置700_1、第二子装置700_2(未示出)等)的验证结果确定b_j和c_j的值。第一父装置600_1可基于第一父装置600_1的n_ij、q和第j软件配置值swconfig_j利用第ij哈希密钥key_ij来产生第二父消息认证码mac2_j。第一父装置600_1可基于从其子装置接收的至少一个子树链消息认证码chain_mac_subj和第j软件配置值swconfig_j利用第一父装置600_1的第j认证密钥key_auth_j来产生父链消息认证码chain_mac_j。例如,所接收到的至少一个子树链消息认证码chain_mac_subj可包括从第一子装置700_1接收的子链消息认证码chain_mac_k。第一父装置600_1可将第一父消息认证码mac1_j、第二父消息认证码mac2_j、父链消息认证码chain_mac_j、b_j和c_j发送至根装置400,以进行验证(s550)。

根装置400可利用第j软件配置值swconfig_j、第ij哈希密钥key_ij和所接收到的b_j和c_j的值来验证第一父消息认证码mac1_j和第二父消息认证码mac2_j(s560)。

根装置400可产生至少一个根消息认证码(s561)。根装置400可基于n_i(集线器装置100与根装置400之间的n)、q、b_i(根装置400的b)和c_i(根装置400的c)的值利用第i认证密钥key_auth_i来产生第一根消息认证码mac1_i。可基于其子装置(例如,第一父装置600_1、第二父装置600_2(未示出)等)的验证结果确定b_i和c_i的值。根装置400可基于根装置400的n_i、q和第i软件配置值swconfig_i的值利用第i认证密钥key_auth_i来产生第二根消息认证码mac2_i。根装置400可基于从其子装置接收的至少一个子树链消息认证码chain_mac_subi和第i软件配置值swconfig_i利用第i认证密钥key_auth_i来产生根链消息认证码chain_mac_i。例如,所接收到的至少一个子树链消息认证码chain_mac_subi可包括从第一父装置600_1接收的父链消息认证码chain_mac_j。根装置400可将第一根消息认证码mac1_i和第二根消息认证码mac2_i、根链消息认证码chain_mac_i、b_i和c_i发送至集线器装置100,以进行验证(s570)。

集线器装置100可利用第i软件配置值swconfig_i、第i认证密钥key_auth_i和所接收到的b_i和c_i的值来验证第一根消息认证码mac1_i和第二根消息认证码mac2_i(s580)。集线器装置100可通过比较根装置400的b_i和c_i的值是否等于端节点装置的总数减去1来验证第一根消息认证码mac1_i。另外,集线器装置100可基于所述多个端节点装置的认证密钥和所述多个端节点装置的软件配置值来验证根链消息认证码chain_mac_i。

图18示出了根据本发明构思的一些示例实施例的网络系统60。网络系统60可包括集线器装置100和多个端节点装置400、800、810、900和910。在完整性验证阶段中,集线器装置100可确定根装置400,并且可形成以根装置400作为根节点的树结构。为了便于解释,假设根装置400是第一端节点装置,第二端节点装置800和第三端节点装置810是根装置400的子装置,并且第四端节点装置900和第五端节点装置910是第三端节点装置810的子装置。然而,端节点装置的数量和树结构的形状仅是非限制性说明示例,并且一些示例实施例不限于此。

第四端节点装置900可将至少一个子树消息认证码mac_sub21、b_4和c_4发送至第三端节点装置810,以进行验证。第五端节点装置910可将至少一个子树消息认证码mac_sub22、b_5和c_5发送至第三端节点装置810,以进行验证。由于第四端节点装置900和第五端节点装置910对应于不具有子装置的叶节点装置,因此b_4、c_4、b_5和c_5全部的值可为0。

第三端节点装置810可验证所接收到的子树消息认证码mac_sub21和mac_sub22中的至少一个。当两个验证均通过时,第三端节点装置810的b_3和c_3的值可都为2。第三端节点装置810可将至少一个子树消息认证码mac_sub2、b_3和c_3发送至根装置400,以进行验证。第二端节点装置800可将至少一个子树消息认证码mac_subl、b_2和c_2发送至根装置400,以进行验证。由于第二端节点装置800对应于不具有子装置的叶节点装置,因此b_2和c_2二者的值可为0。

根装置400可验证所接收到的子树消息认证码mac_sub1和mac_sub2中的至少一个。当两个验证均通过时,根装置400的b_1和c_1二者的值可都为4。根装置400可将至少一个根消息认证码mac_root、b_1和c_l发送至集线器装置100,以进行验证。

集线器装置100可验证所接收到的至少一个根消息认证码mac_root。按照这种方式,集线器装置100可验证整个网络系统60的完整性。

图19示出了根据本发明构思的一些示例实施例的消息认证码构造。图19示出了在图18的网络系统60中发送的消息认证码构造。

参照图18和图19,通过第四端节点装置900产生的至少一个子树消息认证码mac_sub21可包括第一子树消息认证码mac1_sub21、第二子树消息认证码mac2_sub21和子树链消息认证码chain_mac_sub21。可基于n_34、q、b_4和c_4利用哈希密钥key_34产生第一子树消息认证码mac1_sub21。可基于n_34、q和第四软件配置值swconfig_4利用哈希密钥key_34产生第二子树消息认证码mac2_sub21。可基于第四软件配置值swconfig_4利用第四认证密钥key_auth_4产生子树链消息认证码chain_mac_sub21。可以理解,按照这种方式获得分别通过第五端节点装置910和第二端节点装置800产生的子树消息认证码mac_sub22和mac_sub1中的至少一个。

通过第三端节点装置810产生的至少一个子树消息认证码mac_sub2可包括第一子树消息认证码mac1_sub2、第二子树消息认证码mac2_sub2和子树链消息认证码chain_mac_sub2。可基于n_13、q、b_3和c_3利用哈希密钥key_13产生第一子树消息认证码mac1_sub2。可基于n_13、q和第三软件配置值swconfig_3利用哈希密钥key_13产生第二子树消息认证码mac2_sub2。可基于第四端节点装置900的子树链消息认证码chain_mac_sub21、第五端节点装置910的子树链消息认证码chain_mac_sub22和第三软件配置值swconfig_3利用第三认证密钥key_auth_3来产生子树链消息认证码chain_mac_sub2。

由根装置400产生的至少一个根消息认证码mac_root可包括第一根消息认证码mac1_root、第二根消息认证码mac2_root和根链消息认证码chain_mac_root。可基于n_1、q、b_1和c_1利用第一认证密钥key_auth_1产生第一根消息认证码mac1_root。可基于n_1、q和第一软件配置值swconfig_1利用第一认证密钥key_auth_1产生第二根消息认证码mac2_root。可基于第二端节点装置800的子树链消息认证码chain_mac_sub1、第三端节点装置810的子树链消息认证码chain_mac_sub2和软件配置值swconfig_1利用第一认证密钥key_auth_1来产生根链消息认证码chain_mac_rooot。

图20示出了根据本发明构思的一些示例实施例的物联网(iot)系统2000。iot系统2000可包括家庭网络系统2100,其包括iot装置2110至2140。另外,iot系统2000还可包括外部通信网络2500、服务器2600、服务提供者2700和移动装置2800。

家庭网络系统2100可为一种经有线/无线网络控制建筑物(例如,住宅、公寓、办公室等)中的各种装置和在装置之间共享内容的技术的示例。家庭网络系统2100可包括iot装置2110至2140、家庭网络2200和家庭网关2300。家庭网络系统2100还可包括家用服务器2400。

例如,iot装置2110可包括诸如冰箱、洗衣机和空调的家电。例如,iot装置2120可包括门锁、cctv相机、对讲机、窗传感器、火警传感器和电插头。例如,iot装置2130可包括诸如tv、音频装置、游戏机和计算机的娱乐装置。例如,iot装置2140可包括办公装置,诸如打印机、投影仪和影印机。另外,iot装置2110至2140可包括各种其它电子装置或感测装置。iot装置2110至2140可经家庭网络2200和/或家庭网关2300彼此通信。

iot装置2110至2140可经家庭网关2300连接至外部通信网络2500。家庭网关2300可在家庭网络2200与外部通信网络2500之间转换协议,并且将家庭网络2200与外部通信网络2500彼此连接。另外,家庭网关2300可在包括在家庭网络2200中的各个通信网络之间转换协议和将iot装置2110至2140连接至家用服务器2400。家庭网关2300可与其它装置分离地设置,或者可被包括在其它装置中。例如,家庭网关2300可被包括在iot装置2110至2140或家用服务器2400中。

家庭网关2300和iot装置2110至2140可根据参照图1至图19描述的方法来执行完整性验证。家庭网关2300可为根据图1至图19的集线器装置,并且iot装置2110至2140可为根据图1至图19的多个端节点装置。因此,家庭网关2300可确定iot装置2110至2140中的根装置和形成以根装置作为根节点的树结构。根装置可验证其子树的完整性,并且可基于验证完整性的结果将至少一个根消息认证码发送至家庭网关2300。在完整性验证中,iot装置2110至2140的认证密钥可用作对称密钥。所述至少一个根消息认证码可包括链消息认证码。

图21示出了根据本发明构思的一些示例实施例的应用于开放空间的网络系统3000的示例。参照图1至图20描述的网络系统不仅可应用于诸如建筑物(例如,住宅、公寓和办公室等)的封闭空间,而且可应用于诸如街道和公园的开放空间。网络系统3000可包括通信连接装置3100、按照特定间距安装并且以可通信方式连接至通信连接装置3100的多个照明装置3200和3300、服务器3400、用于控制服务器3400的计算机3500、通信基站3600、用于连接上述可通信装置的通信网络3700和移动装置3800。

安装在诸如街道和公园的开放外部空间中的所述多个照明装置3200和3300可分别包括智能引擎3210和3310。智能引擎3210和3310可包括用于发射光的发光装置、用于驱动发光装置的驱动器、用于收集关于周围环境的信息的传感器和通信模块。

通信连接装置3100可为被构造为执行有线/无线通信的接入点(ap),并且可调停通信网络3700与其它装置之间的通信。通信连接装置3100可通过至少一种有线/无线方法连接至通信网络3700,并且可例如在照明装置3200和3300中的任何一个中机械地存储。

例如,通信连接装置3100可经诸如wifi的无线通信协议连接至移动装置3800。移动装置3800的用户可经连接至附近的照明装置3200和3300的智能引擎3210和3310的通信连接装置3100接收由智能引擎3210和3310收集的周围环境信息。周围环境信息可包括附近的交通信息、天气信息等。

通信连接装置3100或服务器3400可验证照明装置3200和3300以及移动装置3800的完整性。通信连接装置3100或服务器3400可确定照明装置3200和3300以及移动装置3800中的根装置,并且形成以根装置作为根节点的树结构。根装置可验证其子树的完整性,并且基于验证完整性的结果产生至少一个根消息认证码。在完整性验证中,可将装置的认证密钥用作对称密钥,并且至少一个消息认证码可包括链消息认证码。参照图1至图19可理解完整性验证方案的更详细描述。

如上所述,在附图和说明中公开了一些示例实施例。虽然本文参照特定术语描述了一些示例实施例,但是应该理解,其仅用于描述本发明构思的技术构思的目的,而不是为了限制权利要求所限定的本发明构思的范围。因此,本领域普通技术人员应该清楚地理解,在不脱离本发明构思的范围的情况下,各种修改形式和等同示例实施例都是可能的。因此,应该通过随附的权利要求的技术构思来确定本发明构思的真实保护范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1