一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

改进节点之间的加密传输的系统和方法与流程

2022-07-10 01:46:22 来源:中国专利 TAG:

改进节点之间的加密传输的系统和方法
1.本技术要求2021年1月5日提交的序列号为63/133,876的美国临时专利申请的优先权,其公开内容通过引用整体并入本文。
2.本公开描述了用于维持在两个节点之间的同步以允许对这些节点之间的传输进行加密并使延迟攻击的机会最小化的系统和方法。


背景技术:

3.某些网络协议利用加密来在节点之间安全地传输消息。在某些实施例中,使用相同的密钥对所有消息进行加密。换句话说,两个节点确定了加密密钥,并将该密钥用于所有传输。
4.在其它实施例中,两个节点可以利用初始化向量(iv)或随机数(nonce),使得每个传输都使用不同的密钥来加密。例如,z波网络协议使用span(单投射协定前随机数(singlecast pre-agree nonce))的概念。对于两个节点之间的每次传输,使用唯一的span,其仅为两个节点所知。在发送和接收传输之后,两个节点使用相同的算法来更新span。
5.这样,恶意行为者不能通过在延长的时段上监视两个节点之间的传输来解密这些传输,因为每个传输是用不同的span发送的。该技术要求两个节点保持同步,以使得每个节点都知道由另一个节点用来加密输入分组的span。
6.然而,这种方法也存在问题。图1示出了一个这样的限制。在这种情况下,标记为节点a的第一节点1和标记为节点b的第二节点2通过中间节点3彼此通信,该中间节点可以是转发器(repeater)或其它设备。第一节点1和第二节点2对于两个节点之间的所有通信使用了相同的span。具体讲,当节点发送或接收分组时,它更新其span。例如,节点可以使计数器递增,其被用作到随机数值序列中的索引。可替代地,节点可以执行软件函数以更新其span。在时间t0,两个节点同步,并且二者都指示span被设置为相同的数,为了说明的目的,该数是18。当然,也可以使用其他值。该span被用于加密和解密特定分组。
7.在时间t1,节点a发送第一分组到中间节点3,并接收来自该中间节点3的确认。因此,由于分组被成功发送,节点a使span递增。因此,节点a现在相信当前的span是19。
8.在时间t2,中间节点3然后将第一分组转发到节点b。然而,该传输可能失败,使得节点b没有接收到第一分组,该第一分组必须在稍后的时间由中间节点3重传。重传利用相同的span值。
9.然而,节点b可以具有发送到节点a的第二分组。由于节点b还没有接收到第一分组,所以它使用18的span值在时间t3将该第二分组发送到节点a。由于第二分组被成功发送了,所以,节点b将其span更新为19。
10.然而,节点a不能解密该第二分组,因为其span已经被更新为19,如上所述。
11.在时间t4,中间节点3成功地将第一分组转发到节点b。然而,节点b不能解密该分组,因为该分组利用了18的span值,并且节点b的当前的span值被设置为19。
12.由于两个节点1、2都不能解密这两个分组,所以两个节点1、2被迫重新同步,如时
间t5所示。注意,重新同步过程是耗时的,增加了功率并降低了效率。
13.因此,如果有一种维持利用iv或随机数的两个节点之间的同步的系统和方法,则将是有益的。如果这种技术能够容易地引入,则将是有利的。


技术实现要素:

14.公开了用于改进网络中的节点之间的加密传输的系统和方法。在一个实施例中,两组随机数值被用于加密每对网络设备之间的通信,其中,一组随机数值被用于从第一节点发送到第二节点的分组,并且第二组随机数值被用于从第二节点发送到第一节点的分组。这些随机数值被用于加密在两个节点之间传输的分组。这样,可以降低同步丢失的概率,尤其是在第一节点和第二节点之间存在中间节点的配置中。在另一实施例中,通过有意重置安全参数,使延迟攻击的可能性被最小化。
15.根据一个实施例,公开了一种在传输加密分组的第一节点和第二节点之间保持同步的方法。该方法包括:在第一节点和第二节点中创建用于从第一节点到第二节点的传输的第一随机数值的初始值;每当去往所述第二节点的分组被成功发送时,在所述第一节点处更新所述第一随机数值;以及,每当成功地接收到来自所述第一节点的分组时,在所述第二节点处更新所述第一随机数值;其中,所述第一随机数值由所述第一节点用来加密被发送到所述第二节点的分组,并且由所述第二节点用来解密从所述第一节点接收的分组。在一些实施例中,所述方法还包括在第一节点和第二节点中创建用于从第二节点到第一节点的传输的第二随机数值的初始值;每当去往所述第一节点的分组被成功发送时,在所述第二节点处更新所述第二随机数值;以及,每当成功地接收到来自所述第二节点的分组时,在所述第一节点处更新所述第二随机数值;其中,所述第二随机数值由所述第二节点用来加密发送到所述第一节点的分组,并由所述第一节点用来解密从所述第二节点接收的分组。在某些实施例中,由于使每个随机数值被更新的事件中的差异,第一随机数值和第二随机数值会随着时间而不同。在一些实施例中,第一节点和第二节点均包括第一随机数值的序列,并且更新所述第一随机数值包括递增到所述第一随机数值序列中的索引。在一些实施例中,第一节点和第二节点均包括随机数值序列,并且更新所述第一随机数值包括递增到所述随机数值序列中的第一索引,并且更新所述第二随机数值包括递增到所述随机数值序列中的第二索引。在一些实施例中,第一节点和第二节点均包括第一随机数值序列和第二随机数值序列,并且更新所述第一随机数值包括递增到所述第一随机数值序列中的第一索引,并且更新所述第二随机数值包括递增到所述第二随机数值序列中的第二索引。在某些实施例中,更新第一随机数值包括调用软件函数,其中,每次调用软件函数时生成新的第一随机数值。在一些实施例中,更新所述第一随机数值包括递增先前的第一随机数值。
16.根据第二实施例,公开了一种网络设备。所述网络设备包括用于与第二网络设备通信的无线网络接口;处理单元;以及存储器设备,包括指令,所述指令在由所述处理单元执行时使得所述网络设备能够:创建用于从所述网络设备到第二网络设备的传输的第一随机数值的初始值;以及,每当去往第二网络设备的分组被成功发送时,更新第一随机数值;其中,所述第一随机数值用于加密发送给所述第二网络设备的分组。在一些实施例中,所述网络设备还包括指令,当由处理单元执行时,所述指令使得网络设备能够:创建用于从所述第二网络设备到所述网络设备的传输的第二随机数值的初始值;以及,每当来自所述第二
网络设备的分组被成功接收到时,更新所述第二随机数数值;其中,所述第二随机数值用于解密从第二网络设备发送的分组。在某些实施例中,由于使每个随机数值被更新的事件中的差异,第一随机数值和第二随机数值会随着时间而不同。在一些实施例中,所述网络设备包括第一随机数值序列,并且更新所述第一随机数值包括递增到所述第一随机数值序列中的索引。在一些实施例中,所述网络设备包括随机数值序列,并且更新所述第一随机数值包括递增到所述随机数值序列中的第一索引,并且更新所述第二随机数值包括递增到所述随机数值序列中的第二索引。在某些实施例中,所述网络设备包括第一随机数值序列和第二随机数值序列,并且更新所述第一随机数值包括递增到所述第一随机数值序列中的第一索引,并且更新所述第二随机数值包括递增到所述第二随机数值序列中的第二索引。在某些实施例中,更新第一随机数值包括调用软件函数,其中,每次调用软件函数时生成新的第一随机数值。
17.根据另一实施例,公开了一种最小化在传输加密分组的第一节点和第二节点之间的延迟攻击的风险的方法。所述方法包括基于预定参数发起重新同步过程,其中,所述重新同步过程重置与所述第一节点和所述第二节点相关联的安全参数。在某些实施例中,预定参数包括自接收到分组以来的持续时间。在一些实施例中,预定参数包括规则的时间间隔。在一些实施例中,预定参数包括噪声或rssi水平。在一些实施例中,安全参数包括用于加密第一节点与第二节点之间的分组的一个或多个随机数值。
附图说明
18.为了更好地理解本公开,请参考附图,其中,相同的要素用相同的数字来表示,并且其中:图1是示出根据现有技术的同步丢失的时序图;图2示出根据一个实施例的网络设备的框图;图3是示出根据一个实施例的保留同步的时序图;以及图4是示出根据一个实施例的对延迟攻击的响应的时序图。
具体实施方式
19.图2示出了可以用于实现本文描述的技术的网络设备10的框图。网络设备10具有处理单元20和相关的存储器设备25。处理单元20可以是任何合适的组件,诸如微处理器、嵌入式处理器、专用电路、可编程电路、微控制器或其它类似设备。存储器设备25包含指令,当由处理单元20执行时,所述指令使得网络设备10能够执行本文描述的功能。该存储器设备25可以是非易失性存储器,诸如flash rom、电可擦除rom或其它合适的设备。在其它实施例中,存储器设备25可以是易失性存储器,诸如ram或dram。包含在存储器设备25内的指令可以被称为软件程序,其被布置在非暂时性存储介质上。
20.网络设备10还包括网络接口30,其可以是包括天线35的无线网络接口。网络接口30可以支持任何支持安全等级的无线网络,诸如wifi、利用ieee 802.15.4规范的网络,诸如zigbee、利用ieee 802.15.6规范的网络、以及无线智能家庭协议,诸如z-wave。网络接口30用于允许网络设备10与布置在第一网络31上的其他设备通信。
21.网络设备10可以包括第二存储器设备40。从网络接口30接收的或要经由网络接口
30发送的数据也可以被存储在第二存储器设备40中。该第二存储器设备40传统上是易失性存储器。
22.虽然公开了存储器设备25,但是可以采用任何计算机可读介质来存储这些指令。例如,可以采用只读存储器(rom)、随机存取存储器(ram)、磁性存储设备(诸如硬盘驱动器)或光学存储设备(诸如cd或dvd)。此外,这些指令可以诸如例如通过网络连接(未示出)、经由cd rom或通过另一个机制下载到存储器设备25中。这些指令可以用任何编程语言来编写,其不受本公开的限制。因此,在一些实施例中,可以存在包含本文描述的指令的多个计算机可读非暂时性介质。第一计算机可读非暂时性介质可以与处理单元20通信,如图2所示。第二计算机可读非暂时性介质可以是cdrom,或位于远离网络设备10的不同存储器设备。包含在该第二计算机可读非暂时性介质上的指令可以被下载到存储器设备25上以允许由网络设备10来执行指令。
23.虽然处理单元20、存储器设备25、网络接口30和第二存储器设备40在图2中被示为单独的组件,但是应当理解,这些组件中的一些或全部可以被集成到单个的电子组件中。相反,图2用于示出网络设备10的功能,而不是其物理配置。
24.尽管未示出,但是网络设备10还具有电源,其可以是电池或到永久电源的连接,诸如壁装插座。
25.与前面的实施例相反,本发明的网络设备10为正被发送到第二节点的分组和正被该第二节点接收的分组维护单独的span值。因此,在存储器设备25内或在第二存储器设备40内,网络设备10保持每个连接两个span值;用于正被发送到第二节点的分组的发送span值和用于正被所述第二节点接收的分组的接收span值。
26.图3示出了使用两个单独的span值的网络设备10的操作。在该图中,标记为节点a的第一节点100是具有与图2所示的配置类似的配置的网络设备10。类似地,标记为节点b的第二节点110也是具有与图2所示的配置类似的配置的网络设备10。节点a和节点b通过中间节点120彼此通信,该中间节点可以是转发器或其他设备。
27.最初,在时间t0所示,节点100、110被同步。存在针对节点a的发送span值,称为span_a_to_b,以及针对节点a的接收span值,称为span_b_to_a。同样,存在针对节点b的发送span值,称为span_b_to_a,以及针对节点b的接收span值,称为span_a_to_b。针对节点a和节点b的span_a_to_b值是同步的。类似地,针对节点a和节点b的span_b_to_a值是同步的。
28.span_b_to_a值和span_a_to_b值可使用当前技术来初始化。例如,对于z波网络协议,每个节点都贡献于用于创建初始值的随机数。下面给出一个具体的示例。
29.每个节点(即,节点a和节点b)可以贡献熵输入(ei)。每个节点可贡献16个字节。每个ei可以使用预定算法来生成。在一个实施例中,伪随机数发生器用于为每个节点创建ei。这些ei值可以使用特殊分组格式(诸如重新同步(resync)消息)被传送到另一节点。
30.可以被称为senderei(发送器ei)和receiverei(接收器ei)的每个节点的ei被混合以形成32字节的熵值。然后,这个32字节的值可以用作一个或多个软件函数的输入,以生成混合熵输入(mei)。在某些实施例中,所述一个或多个软件函数可以是ckdf-mei-extract和ckdf-mei-expand函数,如2020年7月6日公开的z-wave transport-encapsulation command class specification,其公开内容通过引用整体并入本文。mei可以用作ctr_
drbg函数的输入以生成内部状态集,也称为innerspan(内部span)。ctr_drbg函数是由名为“recommendation for random number generation using deterministic random bit generators”的nist特殊出版物800-90a修订1定义的,其公开内容通过引用整体并入本文。这个过程建立要使用的初始随机数值。随后的随机数值可以使用被称为nextnonce的软件函数来生成,该软件函数可以利用由先前提到的nist特殊出版物所定义的ctr_drbg_generate算法。注意,如果两个节点都利用了相同的32字节熵输入,则所得到的随机数值对于两个节点都将是相同的。
31.在一个实施例中,节点a和节点b各自创建两个16字节ei值;一个针对span_a_to_b值,并且一个针对span_b_to_a值。在另一实施例中,节点a和节点b各自创建一个16字节ei值,其用于播种span_a_to_b和span_b_to_a值二者。
32.在其它实施例中,可以以不同的方式来生成初始值。唯一的要求是节点a和节点b针对span_a_to_b值利用相同的初始值,并且针对span_b_to_a值利用相同的初始值。
33.span_a_to_b 值在每次节点 a 成功发送去往节点 b 的分组时由节点 a 更新。span_a_to_b 值在每次节点 b 成功接收来自节点 a 的分组时由节点 b 更新。类似地,span_b_to_a值在每次其成功地从节点b接收分组时由节点a更新。span_b_to_a值在每次其成功地发送去往节点a的分组时由节点b更新。当然,如果有第三个节点,诸如节点 c,则节点 a 可能有两个附加 span 值来跟踪发送到节点 c 和从节点 c 接收的分组。类似地,节点 b 也可能有两个附加 span 值来跟踪发送到节点 c 和从节点 c 接收的分组。
34.在某些实施例中,附图中的span_a_to_b值和span_b_to_a值表示用于加密和解密分组的实际值。虽然在该示例中使用了小的数字,但是应当理解,这些数字的长度可以是许多字节。因此,在该实施例中,这些值是实际的随机数值。在其它实施例中,本公开中的值是指到随机数值序列中的索引。因此,如果span_a_to_b值是18,则这是指随机数值序列中的第十八个条目。
35.在另一实施例中,诸如上述的nextnonce函数的软件函数被用于创建随机数值。在该实施例中,附图中的值表示调用nextnonce函数的次数。因此,在所有实施例中,直接或间接地使用本公开中使用的值来生成用于加密和解密特定分组的随机数。
36.由于从节点a发送到节点b的分组的数量可能不同于从节点b发送到节点a的分组的数量,所以span_a_to_b值和span_b_to_a值可能不同。
37.回到图3,在时间t0,为了说明的目的,假设span_a_to_b值是42,并且span_b_to_a值是18。当然,也可以使用任何其他值。
38.在时间t1,节点a向中间节点120发送第一分组,并且从该中间节点120接收确认。因此,由于成功地发送了该分组,节点a更新span_a_to_b值。因此,节点a现在相信当前的span_a_to_b值是43。如上所述,在某些实施例中,图中所示的值是随机数值。在其他实施例中,该值是到随机数值序列中的索引。在其它实施例中,该值表示nextnonce函数已经被调用的次数。因此,span_a_to_b值的递增表示生成或选择下一个span_a_to_b随机数。
39.在时间t2,中间节点120然后将第一分组转发到节点b。然而,该传输可能失败,使得节点b没有接收到第一分组,该第一分组必须在稍后的时间由中间节点120重传。重传利用相同的span_a_to_b值。
40.然而,节点 b 可能有第二分组要发送到节点 a。由于该分组是从节点b指向节点a
的,所以使用span_b_to_a值。因此,节点b使用18的span_b_to_a值在时间t3将该第二分组发送到节点a。由于第二分组被成功发送,因此节点b将其span_b_to_a值递增到19。如上所述,在某些实施例中,该值是实际的随机数值。在其他实施例中,该值是到随机数值序列中的索引。在其它实施例中,该值表示nextnonce函数已经被调用的次数。因此,span_b_to_a值的递增表示生成或选择下一个span_b_to_a随机数。
41.在某些实施例中,存在两个随机数值序列;一个针对span_a_to_b随机数,并且一个针对span_b_to_a随机数。span_a_to_b计数器和span_b_to_a计数器被分别用于到这两个序列中的索引。在其它实施例中,存在单个的序列,其中,每个计数器表示到该序列中的索引。因此,值的递增指示下一个随机数值被选择用于该通信路径。
42.因为现在有单独的span值,所以节点a能够解密该第二分组,因为其span_b_to_a值也被设置为18。
43.在时间t4,中间节点120成功地将第一分组转发给节点b。由于现在有单独的span值,节点b能够解密该分组,因为该分组利用42的span_a_to_b值,并且节点b的span_a_to_b值也被设置为42。
44.因此,在时间t5,节点a和节点b仍然同步。
45.换句话说,通过利用单向span值,可以承受传输中断和在由节点a发送的第一分组到达节点b之前将第二分组从节点b发送到节点a的情况。这可以通过减少两个节点必须重新同步的次数来提高整体网络性能。
46.因此,在一个实施例中,节点a和节点b每个都生成随机数值的第一序列和到第一序列中的第一索引。每当成功地传输了去往节点b的分组时,节点a就将第一索引递增。每当来自节点a的分组被成功接收,节点b就将第一索引递增。布置在到第一序列中的第一索引处的随机数值被节点a用于加密向节点b发送的分组,并且被节点b用于解密从节点a接收的分组。另外,节点a和节点b均声称到随机数值的第二序列中的第二索引。每当成功地发送去往节点a的分组时,节点b就将第二索引递增。每当来自节点b的分组被成功接收,节点a就将第二索引递增。在到第二序列中的第二索引处布置的随机数值被节点b用来加密被发送到节点a的分组,并且被节点a用来解密从节点b接收的分组。在某些实施例中,第一序列和第二序列是相同序列。在一些实施例中,通过多次调用诸如nextnonce函数的软件函数来生成这些序列,其中,每次调用创建新的随机数值。在其它实施例中,序列可以是连续数。
47.因此,在每个实施例中,节点 a 和节点 b 各自为用于从节点 a 到节点 b 的传输的第一随机数值创建相同的初始值。节点a每当其成功地向节点b发送分组时就更新第一随机数值。节点b每当其成功地从节点a接收分组时就更新第一随机数值。该第一随机数值可被称为 span_a_to_b。如上所述,更新第一随机数值可以涉及:递增所述随机数值;递增到随机数值序列中的索引;或者使用软件函数来生成新的随机数值。
48.节点 a 和节点 b 还各自为用于从节点 b 到节点 a 的传输的第二随机数值创建相同的初始值。节点b每当其成功地向节点a发送分组时更新第二随机数值。节点a每当其成功地从节点b接收分组时更新第二随机数值。该第二随机数值可被称为 span_b_to_a。如上所述,更新第二随机数值可以涉及:递增所述随机数值;d递增到随机数值序列的索引中;或者使用软件函数来生成新的随机数值。
49.注意,第一随机数值和第二值的初始值可以相同。然而,由于引起每个随机数值被
更新的事件中的差异,第一随机数值和第二随机数值会随着时间而不同。
50.在某些实施例中,在节点保持随机数值序列的情况下,相同随机数值序列可被用于第一随机数值和第二随机数值。在其它实施例中,每个节点可以保持两个随机数值序列。
51.在某些实施例中,在节点利用软件函数来更新随机数值的情况下,相同的软件函数被用于更新第一随机数值和第二随机数值。
52.在某些实施例中,可以通过简单地递增先前的随机数值来更新第一随机数值和第二随机数值。
53.虽然以上描述公开了用于降低同步丢失的可能性的系统和方法,但是其他益处也是可能的。
54.例如,可以实现对典型网络协议的附加修改以减少潜在延迟攻击的机会。
55.这些修改可以在上述修改之外执行,或者单独进行。
56.在一个实施例中,每个节点可以包括定时器。该定时器可以在接收到传入消息之后开始,并且可以通过接收到第二消息来重置。换句话说,该计时器可以用于测量两个分组之间的时间。接收节点可以在接收的分组之间建立最大时间。如果超过该最大时间,则接收节点可重新播种一个或多个span值。图4中示出了这种操作的示例。
57.在该实施例中,假设网络设备10使用了两个单独的span值。在该图中,标记为节点a的第一节点200是具有类似于图2所示的配置的配置的网络设备10。类似地,标记为节点b的第二节点210也是具有类似于图2所示的配置的配置的网络设备10。节点a和节点b通过中间节点220彼此通信,该中间节点可以是转发器或其他设备。
58.最初,在时间t0所示,节点200、210是同步的。存在针对节点a的发送span值,称为span_a_to_b,以及针对节点a的接收span值,称为span_b_to_a。同样,存在针对节点b的发送span值,称为span_b_to_a,以及针对节点b的接收span值,称为span_a_to_b。节点a和节点b的span_a_to_b值是同步的。类似地,节点a和节点b的span_b_to_a值也是同步的。
59.在时间t0,为了说明的目的,假设span_a_to_b值是42,并且span_b_to_a值是18。当然,也可以使用任何其他值。
60.在时间t1,节点a经由中间节点220向节点b发送第一分组。尽管未示出,但此时,节点a将span_a_to_b值更新为43。
61.在时间t2,中间节点220尝试将第一消息转发到节点b。该传输失败了。中间节点220可以尝试将该第一分组重传附加的一次或多次。这种传输延迟可能仅仅是噪声,或者可能是试图延迟第一分组的传输的攻击者。这可以被称为延迟攻击。在某一点上,节点b内的定时器期满,指示自从从节点a接收的最后一个分组以来的时间超过了预定阈值。
62.作为响应,节点 b 重置了它自己和节点 a 之间的安全参数。安全参数包括span_a_to_b值和span_b_to_a值。具体讲,在该实施例中,节点b可以在时间t3向节点a发送用于使两个节点之间的通信重新同步的分组。在这个可以称为重新同步消息或resync message的分组中,节点b可以为span_a_to_b值和span_b_to_a值二者提供其ei。如果使用两个span,则节点b可以发送两个ei值。在另一实施例中,节点b可以发送一个ei值,该ei值用于播种span_a_to_b和span_b_to_a值二者。如果只有一个span用于双向通信,则节点b只发送一个ei。
63.一旦节点b确定自从节点a接收的最后一个分组以来的时间超过了预定阈值,它就
不再能解密第一消息。因此,在时间t4,当第一消息最终成功传输到节点b时,节点b将不能解密该消息。
64.在时间t5,来自节点b的重新同步消息到达节点a。作为响应,节点a也重置其安全参数。如上所述,安全参数包括span_a_to_b值和span_b_to_a值。由于重新同步消息包括来自节点b的ei值,因此节点a能够生成新的span_a_to_b和span_b_to_a值。节点a然后在时间t6向节点b发送重新同步消息。该重新同步消息包括节点a的ei值,这使得节点b能够构造mei和新的span_a_to_b和span_b_to_a值,如上所述。因此,在时间t7,节点a和节点b再次同步。
65.注意,上述情形描述了节点b基于自最后消息以来的持续时间来重置安全参数的情况。在其它实施例中,节点b可以使用其它准则来发起重新同步过程。例如,节点b可以以规则的间隔发起重新同步过程,而不管网络业务如何。在又一实施例中,节点b可以监视噪声或rssi值,并且如果这些度量太大,则可以发起重新同步过程。
66.因此,在该实施例中,诸如节点b的节点可以基于预定参数,诸如以规则的间隔,基于分组之间的持续时间或另一个度量,来发起重新同步过程。
67.本系统和方法具有许多优点。首先,如图1所示,存在由于时序异常而丢失两个网络设备之间同步的情况。通过利用两个单独的单向随机数值,可以消除这种同步丢失。这种方法需要最小的额外开销。对于该网络设备与之通信的每个网络设备,需要第二随机数值。因此,可以在对系统资源的影响有限的情况下改进设备的同步。
68.其次,如图4所示,存在可能发生延迟攻击的情况。通过周期性地或战略性地重置两个节点之间的安全参数,减少了延迟攻击的机会。
69.本公开不受本文所述的具体实施例的范围限制。实际上,除了本文所述的那些实施例之外,根据前面的描述和附图,本公开的其它各种实施例和修改对于本领域普通技术人员来说也应当是显而易见的。因此,这些其它实施例和修改旨在落入本公开的范围内。此外,尽管本公开在此已经在特定环境中的特定实现的上下文中出于特定目的而被描述了,但是本领域普通技术人员应当认识到其有用性不限于此,并且本公开可以出于任何数目的目的而在任何数目的环境中有益地实现。因此,应鉴于如本文所述的本公开的全部广度和精神来解释下文所陈述的权利要求书。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献