网络节点间的数据传输方法

文档序号:7736332阅读:509来源:国知局
专利名称:网络节点间的数据传输方法
技术领域
本发明涉及一种在网络中的网络节点之间传输数据的方法,特别是以加密保护的方式在无线传感器网络的网络节点间传输数据的方法。
背景技术
无线传感器网络或无线传感器-执行器网络WSN(Wireless Sensor Network)用途广泛。无线传感器网络例如可以用来对生产设备和化学过程实施监测和控制,以及对管 线实施监测。无线传感器网络中的传感器节点通过无线接口进行无线通信。按照某种数据 传输协议进行数据传输。802. 15.4、Zig Bee、无线HART和蓝牙等都是目前已有的通过无线 接口传输数据的数据传输协议。借助消息在各传感器节点之间交换测量值及控制指令。为了防止未经授权的第三方篡改无线传输的消息,需要对网络节点间交换的数据 进行加密保护。但是,无线传感器网络中各网络节点的存储空间和计算能力有限,特别是在 采用电池供电的情况下,这些节点的能量供应有限,因此,需要一种有效的安全方案来解决 这个问题。传统方法通过用密钥为被传输数据加密来保证其安全。但是,简单的K型加密法 不完全安全,因为第三方有可能利用所谓的“重放攻击”来重放(wiedereinspiegeln)消 息。传统网络为此而采用所谓的NONCE值。NONCE值是一次性值,或者说只使用一次的值。 NONCE值用来识别重放的消息(重放攻击)。在此情况下,发送节点(例如传感器节点)将 借助密钥K和NONCE值的函数来为数据(例如测量数据)加密。这种NONCE值又称“初始 化向量”。由发送节点向网络内部的接收节点发送消息或帧F。每个NONCE值和每个密钥只 结合使用一次。因此,为了有效防止消息被重放或者避免受到重放攻击,接收节点会对接收 到的消息中所使用的NONCE值的一次性进行检验。通常,802. 15. 4或WLAN等协议为了保护 数据帧而使用的加密方法还进一步要求每个NONCE值或初始化向量和每个密钥只能结合 使用一次。否则就会削弱加密保护的保护效果。因此,最迟在NONCE值的取值范围用尽之 前必须生成新的密钥K'(密钥更新)。但是,采用NONCE值来防止重放攻击时,需要在接收端也就是接收节点上存储有 关已用NONCE值的状态信息。网络可能由多个节点构成,为了将来从其他节点接收消息或 帧,每个节点都必须将该网络中每个其他节点所使用过的NONCE值的状态信息予以存储, 这就需要占用大量存储空间来存储状态信息,从而使各节点产生很大的资源负荷。特别是 在网络中的不同节点间存在大量端到端安全关联的情况下,每个节点都需要大量存储空 间,因为该节点必须为每个端到端安全关联各存储一个NONCE值。

发明内容
有鉴于此,本发明的目的是提供一种以加密保护的方式在网络的网络节点之间传 输数据的方法,其中,NONCE值的状态信息需要占用的存储空间很少。本发明用来达成上述目的的解决方案是一种具有如根据权利要求1所述特征的以加密保护的方式在网络的网络节点之间传输数据的方法。本发明提供一种以加密保护的方式在网络的网络节点之间传输数据的方法,其 中,实施下列步骤以便在消息中传输所述数据a)根据计数值和定值生成NONCE值,所述计数值在传输消息时被更新,所述定值 供所述网络的各网络节点共享;以及b)借助密钥和所述生成NONCE值对在所述消息中传输的数据进行加密和解密。根据本发明方法的一种实施方式,由一中央管理网络节点为所述网络的其余网络 节点提供所述网络中所使用的共享定值。这种实施方式的优点在于,所述网络中共同使用的定值非常便于管理,必要时还 可予以更换来提高网络的防篡改安全度。无论网络节点有多少,所述网络共享定值在一个 网络节点上只需存储一次。此外,即使在供电中断或更换电池的情况下也不需要长期存储 计数值,这样可避免该网络节点多次使用同一个NONCE值,因为网络节点恢复供电或重新 工作后就可为其分配网络中正在使用的定值。根据本发明方法的一种实施方式,所述NONCE值此外还根据将所述消息传输给所 述网络的接收网络节点的发送网络节点的发送节点地址而生成。由此可进一步提高防重放攻击安全度。根据本发明方法的一种实施方式,所述中央管理网络节点通过向所述网络的网络 节点发送广播消息或单播消息来传输所述共享定值。这就可以简单快捷的方式更新所述网络共享定值。根据本发明方法的另一实施方式,所述共享定值可由所述中央管理网络节点重新 配置。根据一种可行的实施方式,这种对共享定值的重新配置以固定的时间间隔定期进 行。根据一种替代实施方式,当被传输数据量超过预定数据量后,对用来生成NONCE 值的所述共享定值进行重新配置。根据本发明方法的另一实施方式,当被传输消息的数量超过预定数量后,对所述 共享定值进行重新配置。根据本发明方法的另一实施方式,当所述网络中的任一网络节点达到预定计数值 后,对所述共享定值进行重新配置。根据本发明方法的另一实施方式,发生预定事件时对所述共享定值进行重新配置。根据本发明方法的另一实施方式,所述预定事件指所述网络中增设一个网络节 点,例如,某一网络节点在连接供电电压后开始与所述网络通信。根据本发明方法的另一实施方式,当符合预定条件的数据被传输时,对所述共享 定值进行重新配置。本发明通过以上各种实施方式来重新配置共享定值,由此,本发明以加密保护的 方式在网络的网络节点之间传输数据的方法可灵活应用于各种领域并满足各种安全需要。根据本发明方法的另一实施方式,通过将所述发送网络节点的发送节点地址、所 用共享定值和所述发送网络节点的内部计数器所产生的计数值予以连接或者串联来生成所述NONCE值。这种实施方式的优点在于,采用相对简单的电路设计且消耗少量电能或能量就能 生成NONCE值。根据本发明方法的另一实施方式,通过在串联所述发送网络节点的发送节点地 址、所述共享定值和所述发送网络节点的内部计数器所产生的计数值时应用哈希函数来生 成所述NONCE值。这种实施方式的优点在于,第三方即使在监听被传输消息的过程中也不能识别出 发送网络节点当前所用的NONCE值,借此可提高防篡改安全度。根据本发明方法的另一实施方式,通过CCM算法来对在所述消息中传输的数据进 行加密及解密。根据所述方法的一种可行实施方式,所述被传输消息具有头数据和有效数据,所 述头数据中包含有发送节点地址、接收节点地址和所述发送网络节点的当前计数值,所述 有效数据中包含有加密的数据。根据本发明方法的另一实施方式,所述接收网络节点将在所述消息中传输过来 的所述发送网络节点的计数值与所述接收网络节点的内部计数器根据在所述消息中传输 过来的发送节点地址而选定的计数值进行比较,如果传输过来的计数值比选定的计数值更 新,所述接收网络节点就根据传输过来的计数值、所述共享定值和传输过来的发送节点地 址生成一接收端NONCE值,其中,利用接收端生成的所述NONCE值和所述接收网络节点中所 存储的密钥来对以加密方式在所述消息中传输的数据进行解密。根据本发明方法的另一实施方式,所述发送网络节点通过无线接口将所述消息传 输给所述接收网络节点。本发明还提供一种由多个网络节点构成的网络,这些网络节点彼此间以消息形式 传输数据,其中,每个网络节点均具有a)用于根据计数值和定值生成NONCE值的单元,所述计数值在发送消息时被更 新,所述定值供所述网络的各网络节点共同使用;以及b)用于借助密钥和所述生成NONCE值为在所述消息中传输的数据进行加密和解 密的单元。根据本发明网络的一种实施方式,所述网络具有一个为所述网络的其余网络节点 提供所述共享定值的中央管理网络节点。根据本发明网络的一种实施方式,每个网络节点各具有至少一个传感器。本发明还提供一种包括多个程序指令的计算机程序,所述程序指令用于实施所述 以加密保护的方式在网络的网络节点之间传输数据的方法,其中,实施下列步骤以便在消 息中传输所述数据a)根据计数值和定值生成NONCE值,所述计数值在发送消息时被更新,所述定值 供所述网络的各网络节点共同使用;以及b)借助密钥和所述生成NONCE值为在所述消息中传输的数据进行加密和解密。本发明还提供一种存储有上述计算机程序的数据载体。


下面借助附图对本发明以加密保护的方式在网络的网络节点之间传输数据的方 法及本发明网络的优选实施方式进行说明,以便阐述本发明的特征所在,其中图1为本发明以加密保护的方式传输数据的方法的实施例的简易流程图;图2为在本发明网络的发送节点和接收节点之间传输消息的简明框图;图3为本发明方法所传输的消息的一种可能的数据格式;图4为本发明网络中所包含的一个网络节点的实施例的框图,用以说明数据的加 密过程;图5为本发明网络中所包含的一个接收节点的实施例的框图,用以说明消息的解 密过程;图6为本发明网络的一个实施例,其中,按照本发明方法在网络节点之间传输消息;图7A、图7B为本发明方法通过中央管理网络节点提供共享定值的不同方案;图8为本发明网络的一个实施例;图9为本发明网络的另一实施例;以及图10为本发明网络的又一实施例。
具体实施例方式如图1所示,本发明以加密保护的方式在网络的网络节点之间传输数据的方法主 要包括两个步骤。在第一步骤Sl中生成一个NONCE值N。这个NONCE值是根据计数值CTR和定值 EANCV (ExternalIy Assigned Nonce Contribution Value,“外部分配的现时贡献值”)而 生成,所述计数值CTR在传输消息或帧F时被更新。这个在网络中使用的共享定值EANCV供 本发明网络的各网络节点共同使用。根据一种可行实施方式,由一个中央管理网络节点利 用广播消息或单播消息为所述网络的其余网络节点提供在网络中使用的共享定值EANCV。 根据一种可行实施方式,所述管理网络节点利用广播消息向所述网络的其余所有网络节点 发送定值EANCV。根据一种替代实施方式,所述管理网络节点利用单播消息向每个网络节 点分别发送定值EANCV。根据另一实施方式,除计数值CTR和定值EANCV外,所述NONCE值 N还根据发送网络节点的发送节点地址SA生成,该发送网络节点将消息F传输给所述网络 的另一接收网络节点。在步骤Sl生成NONCE值后,步骤S2分别借助密钥K和生成NONCE值N来对消息 F中所传输的数据进行加密或解密。如果某个发送网络节点打算将数据以加密保护的方式 传输给某个接收网络节点,就需要借助密钥K及在发送端生成的NONCE值N来对数据进行 加密。接收到消息F后,接收节点借助相应的密钥K和NONCE值对该信息F进行解密。图2展示的是在本发明的网络1内,网络1的发送节点2-1向接收节点2-2传输 消息或帧F的示意图。网络1可以由多个互相交换帧F的网络节点2构成。所述网络的网 络节点2之间以直接的方式或者间接通过该网络其他网络节点来传输帧或消息F。网络节 点2可以是包含一或多个传感器的网络节点。这些传感器网络节点将传感器所检测到的测 量数据以消息F或帧的形式传输给其他网络节点,以便对这些数据进行分析。传感器可以是包括温度传感器在内的任何一种传感器。根据本发明方法的一种优选实施方式,以消息、 数据包或帧F的形式传输测量数据。图3展示的是本发明方法可以采用的一种数据格式。帧F具有头数据或管理数据 HDR0这些头数据HDR中包含了有关帧F的信息,特别是有关发送节点或接收节点的身份的 信息。如图3所示,头数据HDR中主要包含了发送节点地址SA、接收节点地址EA以及其他 的管理数据。发送地址SA和接收地址EA可以是MAC地址。本发明方法中的头数据HDR还包含一个计数值CTR,该计数值例如由发送节点2-1 中的内部计数器生成。当一个消息F从该发送节点2-1向接收节点2-2发送时,这个计数 值CTR被更新,其中,这种更新一般体现为计数值CTR的增长。在数据包或帧F中,紧接着 头数据HDR的是有效数据或有效载荷数据(payload data)。这些有效数据例如是来自发送 节点2-1的一或多个传感器的加密数据。举例而言,发送节点2-1的数据或测量数据给出 了发送节点2-1的位置或坐标以及该位置上的基本温度状况。但是,这些加密数据中也可 以包含控制数据或控制指令数据。图3所示的帧F的有效数据已用密钥K和NONCE值N予 以加密。此外,消息或帧F中还可包含校验和CKS。这个校验和可具有数字签名或消息认证 码(Message Authentication Code,消息验证码)。如图3所示,帧F的头数据HDR中除了发送节点2_1的发送地址SA或发送ID外, 还包含接收节点的接收地址EA或带有更新后的计数值(CTR)的接收ID,视情况还包含管理 数据,例如帧的类型(Type)、数据字段的长度或数据包内有效数据的量(length)及其他标 记。帧的类型或消息的类型例如可以指示它是否为数据帧、控制指令或者确认指令。在头 数据HDR中例如可包含已激活某一安全机制(Security Enable)或者采用哪种协议版本这 样的信息。根据本发明方法的一种可行实施方式,通过一种如802. 15. 4-2006所规定的CCM 算法来对消息F中所传输的数据进行加密。这种加密法能够实现机密性、完整性或二者兼 顾。图3所示的帧F或在网络1的节点2之间进行交换的消息F可以采用无线或有线 传输。网络节点2之间的无线通信在很多工业应用领域可以带来诸多优点。例如,安装成 本低,网络节点2安装灵活,可避免电缆或滑动触点受到机械磨损,网络1易于扩展。通过 本发明的方法可以加密保护的方式在上述无线网络1的网络节点2之间传输数据,其中,同 时能有效防止消息被重放或者避免受到重放攻击。图4展示的是本发明网络1内的一个网络节点2的框图。图4所示的框图展示了 在发送节点2-1中生成NONCE值N的过程以及利用密钥K和生成NONCE值N来为数据加密 的过程。图4所示的发送节点2-1包含两个传感器3A、3B,它们通过输入/输出单元4将 测量数据提供给加密装置5。本发明网络1的传感器节点2可具有一个传感器3或任意数 量的不同传感器3。作为替代实施方式,网络节点2不具有任何传感器,而是将(例如)读 取自某一存储器的数据加密后以消息F的形式传输给另一网络节点2。图4所示的加密装 置5可以是执行加密算法的处理器CPU。该加密算法例如为CCM算法。特定而言可以采用 AES算法或DES算法作为其中的基本分组密码。借助从存储器6中读取的密钥K并根据生 成NONCE值N为输入/输出单元4所输出的例如来自于传感器3的数据加密。存储器6可 以是非易失性快闪存储器。由单元7生成或产生加密所需的NONCE值N。这个电路或单元7根据计数值CTR和定值EANCV生成NONCE值N。根据一种可行实施方式,单元7此外还根据发送节点2_1的 发送地址SA来生成NONCE值N。如图4所示,发送节点2_1包含一个用于生成计数值CTR 的内部计数器8,其中,在传送或者发送一消息F时更新该计数值。这种更新例如体现为计 数值CTR的增长。根据一种替代实施方式,也可以通过减小计数值CTR来对其进行更新。根 据另一实施方式,也可以按照某种预定的计算规则(例如用于计算伪随机数字序列的计算 规则)来计算数字次序,由此来更新计数值CTR。如图4所示,发送节点2-1的发送地址SA 以及共享定值EANCV都可以从存储器9中读取。存储器9可以是RAM存储器。根据一种实 施方式,单元7根据计数值CTR和定值EANCV来生成NONCE值N。根据一种替代实施方式, 此外还根据从存储器9中读取的发送节点2-1的发送节点地址SA来生成该NONCE值N。根据本发明方法的一种可行实施方式,单元7通过对发送网络节点2-1的发送节 点地址SA、共享定值EANCV及发送网络节点2-1中内部计数器8所产生的计数值CTR进行 串联或连接来生成NONCE值N。采用这种实施方式时,相应的位串被串联起来或者彼此相连。N: = SAIEANCVI CTR根据一种替代实施方式,单元7借助哈希函数(例如MD5或SHAl、SHA-256)生成 NONCE值N。将该哈希函数应用于发送网络节点2-1的发送节点地址SA、共享定值EANCV及 计数值CTR的串联。N = HASH (SA | EANCV | CTR)根据其他实施方式,也可以任何一种其他顺序来串联发送节点地址SA、定值 EANCV和计数值CTR。例如以如下方式来生成所述NONCE值Ν = SA| CTR IEANCV 或者 N:= EANCVl SA| CTR 等等。单元7可以是硬连线电路,以便将电路复杂程度降至最低。根据一种替代实施方 式,单元7通过执行一个用于生成NONCE值N的程序来生成上述NONCE值N,其中,根据一 种可行实施方式,这种NONCE值生成程序是可配置的。将生成NONCE值N提供给加密单元 5。加密单元5本身可以是硬连线电路或者由一个微处理器构成。根据一种可行实施方式, NONCE值N的生成和数据加密由同一个微处理器在执行相应程序时完成。加密单元5借助 密钥K和单元7所生成的NONCE值N为数据(例如传感器的测量数据)加密。可以采用对 称或不对称加密。随后将加密数据作为有效数据打包成如图3所示的帧F或数据包。节点 2-1的无线模块10通过发射/接收天线11将这个帧F发送出去。如图4所示,节点2-1由 供电单元12供电。根据一种优选实施方式,网络1的节点2具有独立的供电或供能系统, 例如电池、蓄电池或太阳能电池。根据本发明方法的一种优选实施方式,存储在存储器9中的网络共享定值EANCV 可由中央管理节点进行重新配置。当图4所示的节点2-1通过发射/接收天线11接收到 一条发送给该节点的单播消息或广播消息时,无线模块10会将管理网络节点接收到的网 络共享定值EANCV写入存储器9。随后,发送节点2-1就能利用该网络的最新定值EANCV来 进行加密。其中,定值EANCV会在网络1的所有传感器节点2上得到重新配置,亦即,网络1 的每个传感器节点2所接收、存储和使用的都是新的网络共享定值EANCV。根据一种可行实施方式,以固定的时间间隔也就是定期对网络共享定值EANCV进行重新配置,例如每天或每月进行一次。根据一种替代实施方式,如果网络1中传输数据量超过预定的数据量阈值,就对 共享定值EANCV进行重新配置,其中该预定的数据量阈值可以调整。根据一种替代实施方式,如果网络1内所传输的消息F的数量超过预定数量,就由 所述管理节点对共享定值EANCV进行重新配置。根据另一可行实施方式,如果网络1内一个节点2上所传输的消息F的数量超过 预定数量,就对网络共享定值EANCV进行重新配置。根据本发明方法的另一实施方式,如果网络1内的计数器达到预定的计数值,就 对共享定值EANCV进行重新配置。举例而言,当传感器节点2的内部计数器或用作管理网 络节点的网关的内部计数器达到预定的计数值CTR时,对定值EANCV进行重新配置。根据 一种可行实施方式,可根据具体应用来相应调节所述阈值。根据本发明方法的另一实施方式,发生预设事件时对共享定值EANCV进行重新配 置。例如,当网络1识别到某种特定情况(如安全警报)时,可以自动启动对共享定值EANCV 的重新配置。这样就无法重放早前的NONCE值或者错误地显示网络1的无错状态或特殊状 态。根据本发明方法的另一实施方式,如果以加密方式传输的数据符合某一预定条 件,就对定值EANCV进行重新配置。例如,一旦在传感器网络1中检测到超过5开的温度变 化就可进行重新配置。通过这种方式,攻击者就无法重放那些温差超过5开的早前测量值。 也就是说,因攻击者重放测量消息而引起的最大测量误差得到了限制。根据一种可行实施方式,网络1的中央管理节点将当前的或者重新配置后的 EANCV值分配给网络1的节点2。这一点可以通过广播消息而实现。作为替代方案,也可通 过单播消息将重新配置后的定值EANCV分别通知给网络节点2。根据一种替代实施方式,各网络节点的共享定值EANCV可以定期自动增长或者说 增加1。例如,每个网络节点2可以在每天深夜1点增长其EANCV。根据另一实施方式,可 以根据网络1的其他节点2所发送的消息F中所使用的EANCV值得知,另一节点2已经换 成更新后的EANCV值。在此情况下,发现发送节点2-1已更改EANCV值的接收节点2_2就 可将其EANCV值也设置成这个新的值。根据另一实施方案,所述EANCV值构成一个所谓的哈希链。其中,更新后的EANCV 值与更新前的EANCV值通过哈希函数(例如MD5、SHAU SHA-256)连接起来Hash (EANCV-新)=EANCV-旧。由于密码哈希函数不可逆,因而也就无法根据早前的旧EANCV值来测定它。如果 新的EANCV值是已知的,就可通过计算该EANCV值的哈希值来检验这个新的EANCV值正确 与否。通过这种方式就可防止新哈希值向网络节点2的传输被篡改。根据本发明方法的另一实施方式,输入更新后的新EANCV值之后,将此前的EANCV 值存储一段时间并继续加以使用。这样就可在一段重叠时间内用这两个EANCV值进行通 信。通过这种方式还可与尚未具有更新后的EANCV值的网络节点2交换消息。在这段重叠 时间或过渡时间内,接收节点2-2可利用两个EANCV值来确认哪一个EANCV值能够成功解 密。但这种实施方式需要执行两个解密过程,计算量相对较大。根据一种替代实施方式,在所传输的消息F的头数据HDR的位或标记中指出,可用来解密的是此前的EANCV值还是更新后的EANCV值。通过这种方式可对应该使用哪个EANCV 值来解密进行明确指示。当网络中使用的共享定值EANCV更新或者重新配置后,这个指示 标记就会改变。图5以框图的形式展示了本发明网络1的接收节点2-2内的解密过程。根据本发明网络1的一种优选实施方式,网络1内的每个节点2都既可用作如图 4所示的发送节点2-1,也可用作如图5所示的接收节点2-2。在图5所示的实施方式中,接收节点2-2所包含的解密单元(decrypt)由与图4 所示的加密单元相同的单元构成,例如CPU或处理器。此外,接收端用于生成NONCE值N' 的单元7与发送端上用于生成NONCE值N的单元相同。在图5所示的实施例中,接收节点 2-2通过无线接口接收(例如)以图3所示的数据格式传输过来的帧F或消息F。单元13 将传输过来的计数值CTR和发送节点2-1的发送地址SA从接收到的帧F的头数据HDR中 提取出来。根据传输过来的发送节点地址SA-SK在接收节点2-2内选择或寻址内部计数器 14。内部计数器14提供一个计数值CTR'。在图5所示的实施方式中,比较单元15将选定 的计数值CTR'与在消息或帧F中传输过来的计数值CTR进行比较。如果传输过来的计数 值CTR比选定的计数值CTR'更新,比较单元15就产生一个使能信号,以便单元7生成接收 端的NONCE值N'。在接收节点2-2中生成NONCE值N'的方式与在发送节点2_1内生成 NONCE值N的方式相同,可以参考图4。将接收端生成的NONCE值N'传输给解码单元5或 CPU,该解码单元或CPU借助密钥K和接收端所生成的NONCE值N'来对消息F中包含的数 据进行解密。解密后的数据例如可由所述接收节点内的数据处理单元16进行处理或分析。 根据一种可行实施方式,执行解码算法或解密算法的解码单元5、用于生成NONCE值N'的 单元7以及数据处理单元16共同构成一个形式例如为微处理器的单元。根据一种替代实 施方式,解密单元5是专门为此目的设置的硬连线电路。根据本发明方法的一种优选实施方式,发送端或接收端所生成的NONCE值只与同 一个密钥K结合使用一次。其中,可以在NONCE值的取值范围用尽时更换密钥K。发送节点 2-1通过产生或生成NONCE值来对待传输的帧或数据包实施加密保护。在此情况下,接收节 点2-2通过对数据包或接收到的帧中的信息进行了解并视情况通过所存储的状态信息(例 如计数值)而具有同样的NONCE值。发送节点2-1可以不同的方式确保NONCE值N是最新 的,接收节点2-2则能够以不同的方式对此加以检验。在图5所示的实施例中,采用计数值 CTR来确保NONCE值N是最新的。为了能够对NONCE值的是否为最新的进行检验,接收节 点2-2存储关于最后一次接收到的计数值的信息,以后就只接受那些比该计数值更新的计 数值。发送节点2-1或接收节点2-2的单元7在产生或生成NONCE值的过程中可以采用 不同的参数。根据一种可行实施方式,这些参数除了计数值或节点地址外还可包括优先字 段。可以采用对所传输的帧F的数目进行计数的帧计数器来生成计数值。本发明以加密保护的方式在网络1的网络节点2之间传输数据的方法也特别适用 于那些不具有同步钟面时刻的网络1。举例而言,本发明的方法特别适用于无线传感器网络 WSN,也就是由传感器节点所构成的网络,这些传感器节点不具有同步钟面时刻信息。用于检验NONCE值N是否最新的计数值CTR优选选用较大的位宽,例如32位、48 位或64位。其原因在于,计数值越宽或者说计数值取值范围越广,测定密钥K和重新配置密钥K的必要性就越小。但计数值CTR也可选用较小的位宽,例如4位、8位或16位。这样 做的优点是,存储及传输计数值CTR时只需占用少量的位。借助密钥K和生成NONCE值N来加密数据时可以采用不同的加密算法。举例而言, 可以借助AES算法或DES算法来为数据提供加密保护,以免帧F受到篡改。优选在CCM模 式下使用这些算法。用于生成NONCE值N的定值EANCV优选适用于整个网络。亦即,网络1的所有网 络节点使用同一个EANCV值来进行加密和解密。根据另一实施方案,将定值EANCV分配给 一组节点或一部分网络节点2,以便它们相互通信。用来加密数据的密钥K可以是任何一种密钥。所述密钥可以是网络1的所有网络 节点2都了解的网络密钥(network key)。根据一种替代实施方式,所用的密钥是网络1中 两个直接相邻的网络节点所了解的链路密钥(Iinkkey)。根据另一实施方式,密钥K可以是 位于通信链路的终点或端节点上的两个传感器节点或者一个传感器节点和一个网关节点 所了解的端到端密钥(end-to-end key)。根据其他实施方案,密钥K是广播密钥或组播密 钥。可以通过将不同参数的位串与定值EANCV予以串联来生成应用于加密的NONCE值,例 如将定值EANCV与计数值CTR和发送节点地址SA予以串联。根据一种可行实施方式,所述 生成NONCE值N具有可变位宽。如果EANCV值的长度或位宽过大,例如使用任意长度的文 本字符串时,就可借助哈希函数来计算具有预定长度的NONCE值。根据一种优选实施方式,由中央管理节点将网络或分网络中最新的定值EANCV 分配给网络1的网络节点2,其中,该管理节点例如是网关、网络管理服务器(network manager server)或安全月艮务器(security server, security manager)。该管理节点将上 述EANCV值分配给网络1的各节点2时同样采用加密保护的方式。本发明的方法可以防止所谓的“重放攻击”。本发明的传输方法能够检测到被第三 方监听和播放过的帧F。接收节点2-2不会接收不是用当前EANCV值生成的帧F。此外,一 同传输过来的计数值CTR也可用来防止重放攻击。其中,接收节点存储与计数值CTR相关 的信息数据,该计数值CTR为该接收节点最后一次接收的来自发送节点2-1的计数值CTR。 本发明方法从相对较小的取值范围中获取计数值CTR,例如该取值范围例如包括4位、8位 或16位,因为计数值CTR只要明确对应于每个定值EANCV就可以了。在图6所示的示范性网络中,6个传感器节点2可以通过无线接口与网关节点2-0 通信。在图6所示的实施例中,网关节点2-0为其余网络节点2-1至2-6提供一个网络共享 定值EANCV。传感器节点2-1、2-3、2-4、2-5、2-6各具有至少一个用于检测测量数据(例如 环境温度)的传感器。这些测量数据被加密并以帧F的形式传输出去,以便进行测量数据 分析。所述EANCV值优选由中央管理节点(即无线传感器网络1的网关节点2-0)发送给 其余节点2-1至2-6,这些节点存储该EANCV值以供进一步使用。以防篡改方式发送EANCV 值。这一点可以通过在中央网关2-0和传感器节点2-1至2-6之间被保护的传输实现。作 为替代方案,上述连接构成一个哈希链,其中,更新后的EANCV的哈希值由此前的EANCV值 推导出来。图7A、图7B展示的是管理节点2-0向其余网络节点发送EANCV值的不同方案。在 图7A所示的方案中,网关节点2-0通过单播消息(assign)将EANCV值分别单独传输给网 络1的各传感器节点2-1至2-6。亦即,每个传感器节点2-1至2-6都是单独地接收到当前EANCV 值。在图7B所示的方案中,通过广播消息或组播信息来发送EANCV值。根据这个方案, 网关节点2-0是通过中间节点来转发当前的EANCV值。由此网络1中出现泛洪以使得所有 传感器节点都能接收到包含有当前EANCV值的分配消息。图8展示的是本发明网络1的另一实施例。这个实施例是一种具有多跳网状拓扑 结构的网络。图9展示的是本发明网络1的另一实施例,其中,该网络的多跳网络拓扑结构具有 树形结构。图10展示的是本发明网络1的另一实施例,其中,该网络具有单跳网络拓扑结构 或星形结构。在图8至图10所示的实施例中,各网络节点2均由具有至少一个传感器的传感器 节点构成。但本发明的方法并不仅限于在传感器节点2之间传输消息,本发明的网络节点 也可具有执行器或传感器与执行器的组合体。根据图6至图10所示的一种可行实施方式, 网关2-0与一计算机网络(例如企业内部网或生产网络)相连。根据一种可行实施方式, 也可设置多个网关。此外,本发明的网络1也不限于无线网络。也可通过导线来在网络1的各网络节 点2之间以有线方式传输消息F。本发明网络1的节点2之间采用同样的EANCV值通信。无论涉及多少通信对象及 密钥,都只需要存储一个共用的EANCV值,这在各节点2中占用的存储空间非常少。这样就 不必为每个通信对象、每个密钥或每个通信对象-密钥组合都存储一个值。这就能够在待 存储数据量较少的同时达到较大的有效NONCE长度。这样就不需要或者极少需要更新密 钥。同时还能将计数值的取值范围控制得较小。
权利要求
1.一种以加密保护的方式在一网络(1)的网络节点( 之间传输数据的方法,其中,实 施下列步骤以便在一消息(F)中传输所述数据a)根据一计数值CTR和一定值EANCV生成一NONCE值N,在发送所述消息(F)时更新 所述计数值CTR,所述定值供所述网络(1)的网络节点( 共同使用;以及b)通过一密钥(K)和所述生成NONCE值N对在所述消息(F)中传输的数据进行加密和 解密。
2.根据权利要求1所述的方法,其中,由一中央管理网络节点(2-0)为所述网络(1)的 其余网络节点提供该在网络中使用的共享定值EANCV。
3.根据权利要求1或2所述的方法,其中,所述NONCE值N进一步还根据发送网络节点 (2-1)的一发送节点地址(SA)生成,其中所述发送网络节点将所述消息(F)传输给所述网 络(1)的另一接收网络节点(2-2)。
4.根据权利要求2所述的方法,其中,所述中央管理网络节点(2-0)通过向所述网络 (1)的网络节点发送广播消息或单播消息来传输所述共享定值EANCV。
5.根据权利要求2或4所述的方法,其中,所述中央管理网络节点(2-0)能够对所述共 享定值EANCV进行重新配置。
6.根据权利要求5所述的方法,其中,在以下情况发生时,定期对所述共享定值EANCV 进行重新配置;所述情况包括以下之一传输数据量超过一预定的数据量;传输的消息(F)的数量超过一预定数量;在所述网络(1)中的一网络节点达到一预定计数值;发生一预设事件;发送符合预设条件的数据。
7.根据权利要求3所述的方法,其中,通过将所述发送网络节点的发送节点地 址(SA)、所述共享定值EANCV和所述发送网络节点的一内部计数器(8)所产生的计 数值CTR串联来生成所述NONCE值N。
8.根据权利要求3所述的方法,通过在串联所述发送网络节点的发送节点地址 (SA)、所述共享定值EANCV和所述发送网络节点的一内部计数器(8)所产生的计数 值CTR时应用一哈希函数来生成所述NONCE值N。
9.根据权利要求1至8中任一项权利要求所述的方法,其中,使用CCM算法对所述消息 中传输的所述数据进行加密和解密。
10.根据权利要求3至9中任一项权利要求所述的方法,其中,所述被传输的消息(F) 中包含有头数据(HDR)和有效数据(PL),所述头数据具有一发送节点地址(SA)、一接收节 点地址(EA)和所述发送网络节点的当前计数值CTR,所述有效数据具有加密的数据。
11.根据权利要求10所述的方法,其中,所述接收网络节点(2- 将所述发送网络节点 (2-1)的计数值CTR与所述接收网络节点0-2)的一内部计数器(14)的计数值CTR'进行 比较,其中所述发送网络节点的计数值CTR通过所述消息(F)传输过来,所述内部计 数器(14)的计数值CTR'根据所述消息(F)中传输的所述发送节点地址(SA)进行选择;如 果传输过来的计数值CTR比选定的计数值CTR'更新,所述接收网络节点就根据传输过来 的计数值CTR、所述共享定值EANCV和传输过来的发送节点地址(SA)生成一接收端NONCE值N',其中,利用所述在接收端生成的NONCE值N'和所述接收网络节点(2-2)中存储的 密钥(K)对以加密方式在所述消息(F)中传输的数据进行解密。
12.根据权利要求3至9中任一项权利要求所述的方法,其中,所述发送网络节点 (2-1)通过一无线接口将所述消息(F)传输给所述接收网络节点0-2)。
13.一种由多个网络节点(2)构成的网络(1),所述网络节点通过消息消息(F)在彼此 间传输数据,其中,每个网络节点⑵均具有a)一用于生成一 NONCE值(N)的单元(7),该单元(7)根据一计数值(CTR)和一定值 (EANCV)生成所述NONCE值(N),所述计数值在传输一消息(F)时被更新,所述定值(EANCV) 供所述网络(1)的网络节点⑵共同使用;以及b)一用于对通过所述消息(F)传输的数据进行加密和解密的单元(5),该单元(5)借 助一密钥(K)和所述生成NONCE值(N)对所述数据进行加密和解密。
14.根据权利要求13所述的网络,其中,所述网络(1)具有一中央管理网络节点 0-0),该具有一中央管理网络节点(2-0)为所述网络(1)的其他网络节点(2-i)提供所述 共享定值(EANCV)。
15.根据权利要求13或14所述的网络,其中,所述网络节点( 各具有至少一个传感 器(3) 。
16.一种计算机程序,包括多个程序指令以实施根据权利要求1至12所述的方法。
17.一种数据载体,存储有根据权利要求16所述的计算机程序。
全文摘要
本发明提供一种以加密保护的方式在一网络(1)的网络节点(2)之间传输数据的方法。所述网络节点(2)例如是一无线传感器网络的传感器节点。根据本发明的方法,为了在一消息(F)中传输所述数据,需要根据一计数值(CTR)和一定值(EANCV)来生成一NONCE值(N),所述计数值在传输所述消息(F)时被更新,所述定值供所述网络(1)的网络节点(2)共同使用。随后,在所述网络节点(2)内部借助一密钥(K)和所述生成NONCE值(N)来为在所述消息(F)中传输的数据加密和解密。本发明的方法可以在占用所述网络节点(2)最少资源的同时提供防重放攻击保护。
文档编号H04L9/32GK102150392SQ200980135432
公开日2011年8月10日 申请日期2009年8月19日 优先权日2008年9月10日
发明者乌尔丽克·迈尔, 汉斯-约阿希姆·霍夫, 赖纳·法尔克 申请人:西门子公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1