[go: up one dir, main page]

CN104301973B - A kind of method of wireless body area network fast wake-up association - Google Patents

A kind of method of wireless body area network fast wake-up association Download PDF

Info

Publication number
CN104301973B
CN104301973B CN201410598609.3A CN201410598609A CN104301973B CN 104301973 B CN104301973 B CN 104301973B CN 201410598609 A CN201410598609 A CN 201410598609A CN 104301973 B CN104301973 B CN 104301973B
Authority
CN
China
Prior art keywords
association
frame
nonce
hub
node
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
CN201410598609.3A
Other languages
Chinese (zh)
Other versions
CN104301973A (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.)
Xidian University
Original Assignee
Xidian University
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 Xidian University filed Critical Xidian University
Priority to CN201410598609.3A priority Critical patent/CN104301973B/en
Publication of CN104301973A publication Critical patent/CN104301973A/en
Application granted granted Critical
Publication of CN104301973B publication Critical patent/CN104301973B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W52/00Power management, e.g. Transmission Power Control [TPC] or power classes
    • H04W52/04Transmission power control [TPC]
    • H04W52/54Signalisation aspects of the TPC commands, e.g. frame structure
    • H04W52/58Format of the TPC bits
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W52/00Power management, e.g. Transmission Power Control [TPC] or power classes
    • H04W52/02Power saving arrangements
    • H04W52/0209Power saving arrangements in terminal devices
    • H04W52/0225Power saving arrangements in terminal devices using monitoring of external events, e.g. the presence of a signal
    • H04W52/0229Power saving arrangements in terminal devices using monitoring of external events, e.g. the presence of a signal where the received signal is a wanted signal
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D30/00Reducing energy consumption in communication networks
    • Y02D30/70Reducing energy consumption in communication networks in wireless communication networks

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

本发明公开了一种无线体域网快速唤醒关联的方法,该无线体域网快速唤醒关联的方法包括确定唤醒帧的帧头、帧体和帧尾;采用单播唤醒关联包括全新的单播Wakeup帧以及单播唤醒关联机制;多播唤醒关联包括多播Wakeup帧,地址索引号对照表以及多播唤醒关联机制。本发明缩短了从唤醒到MK建立所需的时间,减小节点等待的时间,从而在一定程度上减少了节点能量的损耗,可用于无线体域网中传感节点的唤醒关联过程。

The invention discloses a method for fast wake-up association of a wireless body area network. The method for fast wake-up association of a wireless body area network includes determining the frame header, frame body and frame tail of the wake-up frame; adopting unicast wake-up association includes brand new unicast Wakeup frame and unicast wakeup association mechanism; multicast wakeup association includes multicast wakeup frame, address index number comparison table and multicast wakeup association mechanism. The invention shortens the time required from wake-up to MK establishment, reduces the waiting time of nodes, thereby reduces the energy loss of nodes to a certain extent, and can be used in the wake-up association process of sensor nodes in wireless body area networks.

Description

一种无线体域网快速唤醒关联的方法A method for fast wake-up association of wireless body area network

技术领域technical field

本发明属于通信技术领域,尤其涉及一种无线体域网快速唤醒关联的方法。The invention belongs to the technical field of communication, and in particular relates to a method for quickly waking up an association of a wireless body area network.

背景技术Background technique

无线体域网(WBAN),即Wireless Body Area Network,可以看作是无线传感器网络(WSN)的一种特殊应用,它是指一系列能穿戴的无线传感器设备所组成的无线网络。WBAN将把人体变成通信网络的一部分,使得人们在日常生活中越来越依赖无线网络,从而在真正意义上实现了网络的泛在化。Wireless Body Area Network (WBAN), that is, Wireless Body Area Network, can be regarded as a special application of Wireless Sensor Network (WSN), which refers to a wireless network composed of a series of wearable wireless sensor devices. WBAN will turn the human body into a part of the communication network, making people more and more dependent on wireless networks in daily life, thus realizing the ubiquity of the network in a true sense.

人体传感器网络主要用于病人的监护,生理参数的测量等。各种传感器测量出来的数据通过无线网络传输方式传送到专用的监护仪器或各种通信设备上。WBAN在医疗健康方面的重要应用,使得WBAN的重要性得到了更好的体现。国际的标准组织Institute ofElectrical and Electronics Engineers(IEEE)已经完成了和WBAN相关的国际标准制定——IEEE802.15.6。该标准定义了一种传输速率最高可达10Mbps、最长距离约3公尺的连结技术。不同于其他短距离、低功耗无线技术,新标准特别考虑在人体上或人体内的应用。在WBAN中包括一个无线体域网控制器Hub和多个无线体域网传感节点BN。BN可以分布在生物体的各个角落,主要负责采集生物信息,并将采集到的信息发送给Hub;Hub负责控制BN,给传感节点发送指令信息、收集处理传感节点传输的信号。服务器通过传输网络与Hub进行通信,实时监视人体的各种特征指标。The human body sensor network is mainly used for patient monitoring and physiological parameter measurement. The data measured by various sensors are transmitted to dedicated monitoring instruments or various communication devices through wireless network transmission. The important application of WBAN in medical health makes the importance of WBAN better reflected. The International Standards Organization Institute of Electrical and Electronics Engineers (IEEE) has completed the formulation of international standards related to WBAN - IEEE802.15.6. The standard defines a connection technology with a transmission rate of up to 10Mbps and a maximum distance of about 3 meters. Unlike other short-range, low-power wireless technologies, the new standard specifically considers applications on or inside the human body. The WBAN includes a wireless body area network controller Hub and multiple wireless body area network sensor nodes BN. BN can be distributed in every corner of the organism, and is mainly responsible for collecting biological information and sending the collected information to Hub; Hub is responsible for controlling BN, sending instruction information to sensor nodes, and collecting and processing signals transmitted by sensor nodes. The server communicates with the Hub through the transmission network, and monitors various characteristic indicators of the human body in real time.

传感器技术是WBAN的重要基础,小型化、智能化、高精度、低功率的各类传感器是支持WBAN的必要条件,其中大部分传感器都是依靠电池供电的。对于植入式节点来说,有限的电池能量需要在相当长的生命周期内支持传感器的工作,在电池充电或更换电池上,是非常困难的。所以体域网节点的功率消耗是非常重要的性能指标。Sensor technology is an important foundation of WBAN. Miniaturized, intelligent, high-precision, and low-power sensors are necessary conditions for supporting WBAN. Most of these sensors are powered by batteries. For implantable nodes, the limited battery energy needs to support the sensor's work for a long life cycle, and it is very difficult to charge or replace the battery. Therefore, the power consumption of BAN nodes is a very important performance indicator.

在目前IEEE公布的WBAN的标准802.15.6中,在MAC层中设置了节点和Hub的四种状态,分别是Orphan、Associated、Secured、Connected,节点与Hub建立连接时依次经历四种状态并且不能跨越状态。In the current WBAN standard 802.15.6 published by IEEE, four states of the node and the Hub are set in the MAC layer, namely Orphan, Associated, Secured, and Connected. leap state.

在Orphan状态,节点(或Hub)通过安全关联帧与Hub(或节点)进行信息交互,实现MK的建立和节点与Hub的相互认证,安全关联帧共有五种模式可供选择,分别是MK预共享关联、非认证关联、公钥隐藏关联、口令认证关联和显示认证关联。其中的MK预共享关联采用对称密钥体制,其他四种则采用椭圆曲线密码体制。关联请求一般默认由节点发起,如果MK激活或产生成功,节点与Hub进入下一状态,否则继续Orphan状态。In the Orphan state, the node (or Hub) interacts with the Hub (or node) through the security association frame to realize the establishment of MK and the mutual authentication between the node and the Hub. There are five modes of security association frames to choose from, namely MK pre Shared associations, non-authenticated associations, public-key hidden associations, password-authenticated associations, and explicit-authenticated associations. Among them, the MK pre-shared association adopts the symmetric key system, and the other four adopt the elliptic curve cryptosystem. The association request is generally initiated by the node by default. If the MK is activated or generated successfully, the node and the Hub enter the next state, otherwise continue to the Orphan state.

在Associated状态,节点与Hub用上一步生成或激活的MK通过对称密钥体制产生PTK。PTK成功生成后节点和Hub共同进入下一状态,否则继续Associated状态,如果在Associated状态下MK无效,节点会回到Orphan状态,节点(或Hub)可以通过分离请求帧终止当前关联和当前MK并回到Orphan状态。In the Associated state, the node and the Hub use the MK generated or activated in the previous step to generate PTK through the symmetric key system. After the PTK is successfully generated, the node and the Hub enter the next state together, otherwise continue to the Associated state, if the MK is invalid in the Associated state, the node will return to the Orphan state, and the node (or Hub) can terminate the current association and the current MK by separating the request frame and Return to Orphan state.

在Secured状态,节点通过连接请求(或连接分配,连接点分配帧由Hub发送给节点)帧与Hub建立连接,连接建立成功后进入最终的Connected状态。如果PTK无效或者Connected_NID丢失,则回到Associated状态,通过分离请求帧可以终止当前关联和当前MK并回到Orphan状态。In the Secured state, the node establishes a connection with the Hub through a connection request (or connection allocation, the connection point allocation frame is sent by the Hub to the node) frame, and enters the final Connected state after the connection is successfully established. If the PTK is invalid or the Connected_NID is lost, it returns to the Associated state, and the current association and the current MK can be terminated by separating the request frame and returns to the Orphan state.

在Connected状态,节点在处于连接状态下,保存了分配的Connected_NID,一个唤醒计划。节点和Hub可以传输任何保障了安全的帧,中。如果PTK重新产生的过程中MK丢失或无效,节点会回到Orphan状态。如果它们的PTK丢失或无效,节点和Hub需要回到Associated状态。通过分离请求帧可以终止当前关联和当前MK并回到Orphan状态。通过断开连接帧可以终止当前连接并回到Associated状态。In the Connected state, when the node is in the connected state, it saves the assigned Connected_NID and a wake-up plan. Nodes and Hubs can transmit any frame that guarantees security. If the MK is lost or invalid during PTK regeneration, the node will return to the Orphan state. Nodes and Hubs need to go back to the Associated state if their PTKs are missing or invalid. The current association and the current MK can be terminated by detaching the request frame and returning to the Orphan state. The current connection can be terminated by the disconnect frame and return to the Associated state.

由于WBAN对功率的消耗要求非常严苛,所以IEEE802.15.6规定了处于Connected状态的节点按照连接请求(或连接分配)帧中的唤醒策略域中的规定进行周期的休眠/唤醒,以节省能量。对于处在Orphan状态下的节点,其处理器工作在低功率模式,等待Hub的Wakeup或者T-Poll帧来唤醒以进入工作模式。通过对当前IEEE802.15.6标准的研究,唤醒策略唤醒处于Orphan状态的节点会出现下述的问题。Since WBAN has very strict requirements on power consumption, IEEE802.15.6 stipulates that nodes in the Connected state perform periodic sleep/wake up according to the provisions in the wake-up policy field in the connection request (or connection allocation) frame to save energy. For a node in the Orphan state, its processor works in a low-power mode, waiting for the Hub's Wakeup or T-Poll frame to wake up to enter the working mode. Through the research on the current IEEE802.15.6 standard, the wake-up strategy to wake up the nodes in the Orphan state will have the following problems.

1.对于非认证关联、公钥隐藏关联、口令认证关联和显示认证关联,需要首先发送唤醒信号,然后由节点发起关联请求,完成MK的协商以及与Hub的相互认证。上述过程比较繁琐,会造成一定程度的功率损耗。1. For non-authentication association, public key hidden association, password authentication association and display authentication association, it is necessary to send a wake-up signal first, and then the node initiates an association request to complete MK negotiation and mutual authentication with the Hub. The above process is cumbersome and will cause a certain degree of power loss.

2.在分发GTK的时候,会需要Hub与多个节点同时进行关联过程,在IEEE802.15.6标准中没有进行详细说明,如果依然采用单个顺序的关联方式,会造成节点等待的时间过程,从而造成节点能量的浪费。2. When distributing GTK, it will be necessary for the Hub to associate with multiple nodes at the same time, which is not described in detail in the IEEE802.15.6 standard. If a single sequence of association is still used, it will cause the node to wait for the time process, resulting in Waste of node energy.

发明内容Contents of the invention

本发明实施例的目的在于提供一种无线体域网快速唤醒关联的方法,旨在解决现有的无线体域网快速唤醒关联的方法存在的在Hub与节点之间进行唤醒和建立MK过程中的时间和步骤的冗长和复杂的问题。The purpose of the embodiment of the present invention is to provide a wireless body area network fast wake-up association method, aiming to solve the existing wireless body area network fast wake-up association method in the process of waking up and establishing MK between the Hub and the node Lengthy and complex issues of time and steps.

本发明实施例是这样实现的,一种无线体域网快速唤醒关联的方法,该无线体域网快速唤醒关联的方法包括确定唤醒帧的帧头、帧体和帧尾;采用单播唤醒关联包括全新的单播Wakeup帧以及单播唤醒关联机制;多播唤醒关联包括多播Wakeup帧,地址索引号对照表以及多播唤醒关联机制。The embodiment of the present invention is achieved in this way, a method for fast wake-up association of wireless body area network, the method for fast wake-up association of wireless body area network includes determining the frame header, frame body and frame tail of the wake-up frame; adopting unicast wake-up association Including brand new unicast wakeup frame and unicast wakeup association mechanism; multicast wakeup association includes multicast wakeup frame, address index number comparison table and multicast wakeup association mechanism.

进一步,唤醒帧的帧头包括FC、HID/NID、BAN ID,其中FC为帧头控制,包括协议版本、Ack策略、安全级别、帧类型等帧控制信息,在帧控制中设置帧的类型为控制类型,子类型为Wakeup帧;HID/NID为Hub和BN的地址缩短码,用于帧数据的接收;BAN ID为当前工作的体域网的缩短地址,用于标记该帧数据所处的体域网。Further, the frame header of the wake-up frame includes FC, HID/NID, BAN ID, wherein FC is frame header control, including frame control information such as protocol version, Ack policy, security level, frame type, etc., and the type of frame is set in frame control as Control type, the subtype is Wakeup frame; HID/NID is the address shortening code of Hub and BN, which is used to receive frame data; BAN ID is the shortening address of the currently working body area network, which is used to mark the location of the frame data body area network.

进一步,步骤二,唤醒帧体包括Add_a、Add_b、SSS、Asso_ctrl、SAD;其中Add_a为Hub要求与之进行认证的BN节点地址或者BN的地址检索码,在单播时M=6字节,多播时M的大小可变;Add_b为当前发送唤醒关联信号的Hub地址;SSS为安全套接字选择域,用于确定当前安全关联协议、安全级别、帧认证控制、密码函数一系列用于安全关联所需的信息;Asso_ctrl为安全关联控制,包括关联序列号和关联状态;SAD为安全关联数据,包含Hub的公钥以及当前Hub产生的随机数Nonce_b,在0~(2128-1)中随机选取,用于唤醒之后的认证工作。Further, in step 2, the wake-up frame body includes Add_a, Add_b, SSS, Asso_ctrl, SAD; wherein Add_a is the address retrieval code of the BN node address or BN that the Hub requires to authenticate with it, M=6 bytes during unicast, more The size of M is variable when broadcasting; Add_b is the Hub address currently sending the wake-up association signal; SSS is the secure socket selection field, which is used to determine the current security association protocol, security level, frame authentication control, and a series of cryptographic functions for Information required for security association; Asso_ctrl is security association control, including association serial number and association state; SAD is security association data, including Hub’s public key and random number Nonce_b generated by the current Hub, between 0 and (2 128 -1) Randomly selected from among, it is used for the authentication work after wake-up.

进一步,唤醒帧尾由FCS组成,采用循环冗余序列CRC校验;Further, the wake-up frame tail is composed of FCS, and the cyclic redundancy sequence CRC check is adopted;

进一步,单播关联过程具体包括:Further, the unicast association process specifically includes:

步骤一,Hub根据当前通信的需要设置SSS、Asso_ctrl域为相应的值,选择自己的私钥SKb,计算PKb=SKb×G,构造Wakeup帧;在发送Wakeup帧后,向节点发送T-Poll帧;Step 1. The Hub sets the SSS and Asso_ctrl fields to corresponding values according to the current communication needs, selects its own private key SK b , calculates PK b = SK b ×G, and constructs a Wakeup frame; after sending the Wakeup frame, it sends T to the node - Poll frame;

步骤二,节点收到唤醒帧后,获得本次关联的配置信息以及Hub的公钥PKb,然后选择自己的私钥SKa长为256比特,计算公钥PKa=SKa×G,计算出公钥后,节点再计算基于口令的公钥,PKa'=PKa-Q(PW),其中Q(PW)=(QX,QY),QX=232×PW+MX。节点根据收到的Wakeup帧中的Nonce_b以及自身选择的Nonce_a计算:Step 2: After receiving the wake-up frame, the node obtains the configuration information of this association and the public key PK b of the Hub, and then selects its own private key SK a with a length of 256 bits, calculates the public key PK a = SK a × G, and calculates After the public key is issued, the node calculates the password-based public key again, PK a '=PK a -Q(PW), where Q(PW)=(Q X , Q Y ), Q X =2 32 ×PW+M X . The node calculates according to the Nonce_b in the received Wakeup frame and the Nonce_a selected by itself:

KMAC_1A=CMAC(Temp_1,Add_a||Add_b||Nonce_a||Nonce_b||SSS,64)KMAC_1A=CMAC(Temp_1,Add_a||Add_b||Nonce_a||Nonce_b||SSS,64)

KMAC_2A=CMAC(Temp_1,Add_b||Add_a||Nonce_b||Nonce_a||SSS,64);KMAC_2A=CMAC(Temp_1,Add_b||Add_a||Nonce_b||Nonce_a||SSS,64);

节点利用上述计算的信息PKa'、KMAC_2A构造第一关联请求帧,并向Hub发送;The node uses the information PK a ' and KMAC_2A calculated above to construct the first association request frame and send it to the Hub;

步骤三,Hub收到第一关联请求帧后,首先复原当前节点的公钥PKa=PKa'+Q(PW),Q(PW)=(QX,QY),QX=232×PW+MX;MX为使QX满足椭圆曲线上的点的最小非负整数;计算DHKey=X(SKb×PKa)=X(SKa×SKb×G),这里X()函数是取椭圆曲线密钥的X坐标值,Temp_1=RMB_128(DHKey),根据收到的信息以及计算得到的信息计算:Step 3, after the Hub receives the first association request frame, it first restores the public key of the current node PK a =PK a '+Q(PW), Q(PW)=(Q X , Q Y ), Q X =2 32 ×PW+M X ; M X is the smallest non-negative integer that makes Q X satisfy the points on the elliptic curve; calculate DHKey=X(SK b ×PK a )=X(SK a ×SK b ×G), where X( ) function is to take the X coordinate value of the elliptic curve key, Temp_1=RMB_128 (DHKey), and calculate according to the received information and the calculated information:

KMAC_1B=CMAC(Temp_1,Add_a||Add_b||Nonce_a||Nonce_b||SSS,64)KMAC_1B=CMAC(Temp_1,Add_a||Add_b||Nonce_a||Nonce_b||SSS,64)

KMAC_2B=CMAC(Temp_1,Add_b||Add_a||Nonce_b||Nonce_a||SSS,64)KMAC_2B=CMAC(Temp_1,Add_b||Add_a||Nonce_b||Nonce_a||SSS,64)

对比收到的KMAC_2A和计算得到的KMAC_2B,如果相同则根据KMAC_1B继续构造第二关联请求帧并进入本次关联请求的步骤五,如果不同则取消本次关联请求;Comparing the received KMAC_2A and the calculated KMAC_2B, if they are the same, continue to construct the second association request frame according to KMAC_1B and enter step five of this association request, if they are different, cancel this association request;

步骤四,节点收到第二关联请求帧,对比在步骤二中计算的KMAC_1A与收到的KMAC_1B,如果不同则取消本次关联请求,如果相同则进入本次关联的步骤五;Step 4, the node receives the second association request frame, compares the KMAC_1A calculated in step 2 with the received KMAC_1B, if they are different, cancel this association request, and if they are the same, enter step 5 of this association;

步骤五,节点与Hub计算MK=CMAC(Temp_2,Nonce_a||Nonce_b,128),这里Temp_2=LMB(DHKey),为DHKey的最左128位;双方完成唤醒关联。Step 5, the node and the Hub calculate MK=CMAC(Temp_2,Nonce_a||Nonce_b,128), where Temp_2=LMB(DHKey), which is the leftmost 128 bits of DHKey; both parties complete the wake-up association.

进一步,多播关联过程具体包括:Further, the multicast association process specifically includes:

步骤一,Hub根据当前通信的需要设置SSS、Asso_ctrl域为相应的值选择自己的私钥SKb,计算PKb=SKb×G;构造广播的Wakeup帧,并广播T-Poll帧,直到收到所有需要通信的节点发送的第一关联请求帧;Step 1. The Hub sets the SSS and Asso_ctrl fields to corresponding values according to the needs of current communication, selects its own private key SK b , calculates PK b = SK b ×G; constructs a Wakeup frame for broadcast, and broadcasts a T-Poll frame until receiving to the first association request frame sent by all nodes that need to communicate;

步骤二,某个节点i收到Wakeup帧后,根据地址选择私钥SKai,计算公钥PKai=SKai×G,计算基于口令的公钥,PKai'=PKai-Q(PWi),Q(PWi)=(QX,QY);QX=232×PWi+MX;选择随机数Nonce_ai,计算DHKey=X(SKai×PKb)=X(SKai×SKb×G),Temp_1=RMB_128(DHKey),节点根据收到的Wakeup帧信息以及自身选择的Nonce_ai计算:Step 2: After receiving the Wakeup frame, a certain node i selects the private key SK ai according to the address, calculates the public key PK ai =SK ai ×G, and calculates the public key based on the password, PK ai '=PK ai -Q(PW i ), Q(PW i )=(Q X , Q Y ); Q X =2 32 ×PW i +M X ; choose random number Nonce_a i , calculate DHKey=X(SK ai ×PK b )=X(SK ai ×SK b ×G), Temp_1=RMB_128 (DHKey), the node calculates according to the received Wakeup frame information and the Nonce_a i selected by itself:

KMAC_1A=CMAC(Temp_1,Add_ai||Add_b||Nonce_ai||Nonce_b||SSS,64)KMAC_1A=CMAC(Temp_1,Add_a i ||Add_b||Nonce_a i ||Nonce_b||SSS,64)

KMAC_2A=CMAC(Temp_1,Add_b||Add_ai||Nonce_b||Nonce_ai||SSS,64)KMAC_2A=CMAC(Temp_1,Add_b||Add_a i ||Nonce_b||Nonce_a i ||SSS,64)

该节点利用计算得到的PKai'、KMAC_2A构造第一关联请求帧并发送;The node uses the calculated PK ai ', KMAC_2A to construct the first association request frame and send it;

步骤三,Hub收到第i节点的第一关联请求帧后,首先复原第i节点的公钥:PKai=PKai'+Q(PWi),Q(PWi)=(QX,QY),QX=232×PWi+MX,QY为正偶数;计算DHKey=X(SKb×PKai)=X(SKai×SKb×G),Temp_1=RMB_128(DHKey),根据收到的信息以及计算得到的信息计算:Step 3, after the Hub receives the first association request frame from the i-th node, it first restores the public key of the i-th node: PK ai =PK ai '+Q(PW i ), Q(PW i )=(Q X , Q Y ), Q X =2 32 ×PW i +M X , Q Y is a positive even number; calculate DHKey=X(SK b ×PK ai )=X(SK ai ×SK b ×G), Temp_1=RMB_128(DHKey) , calculated based on the received information and the calculated information:

KMAC_1B=CMAC(Temp_1,Add_ai||Add_b||Nonce_ai||Nonce_b||SSS,64)KMAC_1B=CMAC(Temp_1,Add_a i ||Add_b||Nonce_a i ||Nonce_b||SSS,64)

KMAC_2B=CMAC(Temp_1,Add_b||Add_ai||Nonce_b||Nonce_ai||SSS,64)KMAC_2B=CMAC(Temp_1,Add_b||Add_a i ||Nonce_b||Nonce_a i ||SSS,64)

对比收到的KMAC_2A和计算得到的KMAC_2B,如果相同则根据KMAC_1B继续构造第二关联请求帧,如果不同则取消本次关联请求,发送第二关联请求帧后Hub计算MKi=CMAC(Temp_2,Nonce_ai||Nonce_b,128)为Hub与第i节点的主密钥;Comparing the received KMAC_2A and the calculated KMAC_2B, if they are the same, continue to construct the second association request frame according to KMAC_1B, if they are different, cancel this association request, and after sending the second association request frame, the Hub calculates MK i =CMAC(Temp_2, Nonce_a i ||Nonce_b,128) is the master key of the Hub and the i-th node;

步骤四,第i节点收到第二关联请求帧,对比在步骤二中计算的KMAC_1A与收到的KMAC_1B,如果不同则取消本次关联请求,如果相同计算MKi=CMAC(Temp_2,Nonce_ai||Nonce_b,128)为第i节点与Hub的主密钥。Step 4, the i-th node receives the second association request frame, compares the KMAC_1A calculated in step 2 with the received KMAC_1B, if they are different, cancel this association request, if they are the same, calculate MK i =CMAC(Temp_2,Nonce_a i | |Nonce_b,128) is the master key of the i-th node and the Hub.

进一步,该无线体域网快速唤醒关联的方法中节点均是处于非连接状态。Further, in the method for quickly waking up the association of the wireless body area network, the nodes are all in a non-connected state.

本发明提供的无线体域网快速唤醒关联的方法,采用单播唤醒关联包括全新的单播Wakeup帧以及单播唤醒关联机制;多播唤醒关联包括多播Wakeup帧,地址索引号对照表以及多播唤醒关联机制。本发明减少了在关联过程中帧的传输,节省了数据传输过程中的能量损耗。本发明实现了无线体域网传感节点在被安全唤醒的同时开始关联,减少了从唤醒到MK建立所需传输的帧数,减小节点等待的时间;以IEEE802.15.6标准中公钥隐藏关联为例,在整个关联过程中需要传输4480比特的数据,需要5次的帧交换。在本发明中需要传输3112比特的数据,需要3次帧交换,与公钥隐藏关联相比节省数据传输达30%并减少了2帧数据的传输。The wireless body area network fast wake-up association method provided by the present invention adopts a unicast wake-up association including a brand-new unicast Wakeup frame and a unicast wake-up association mechanism; a multicast wake-up association includes a multicast Wakeup frame, an address index number comparison table, and a multicast Broadcast wake-up association mechanism. The invention reduces frame transmission in the association process and saves energy consumption in the data transmission process. The invention realizes that the wireless body area network sensor node starts to associate when it is safely awakened, reduces the number of frames required to be transmitted from awakening to MK establishment, and reduces the waiting time of nodes; the public key is hidden in the IEEE802.15.6 standard Taking association as an example, 4480 bits of data need to be transmitted during the entire association process, and 5 frame exchanges are required. In the present invention, 3112-bit data needs to be transmitted, and three frame exchanges are required, which saves data transmission by 30% and reduces the transmission of 2 frames of data compared with the public key hidden association.

附图说明Description of drawings

图1是本发明实施例提供的无线体域网快速唤醒关联的方法流程图;FIG. 1 is a flow chart of a method for fast wake-up association of a wireless body area network provided by an embodiment of the present invention;

图2是本发明实施例提供的Wakeup帧结构示意图;FIG. 2 is a schematic diagram of a Wakeup frame structure provided by an embodiment of the present invention;

图3是本发明实施例提供的单播唤醒关联过程流程图;FIG. 3 is a flowchart of a unicast wake-up association process provided by an embodiment of the present invention;

图4是本发明实施例提供的地址索引号对照表图;Fig. 4 is an address index number comparison table diagram provided by the embodiment of the present invention;

图5是本发明实施例提供的多播唤醒关联过程流程图。Fig. 5 is a flowchart of a multicast wake-up association process provided by an embodiment of the present invention.

具体实施方式Detailed ways

为了使本发明的目的、技术方案及优点更加清楚明白,以下结合实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。In order to make the object, technical solution and advantages of the present invention more clear, the present invention will be further described in detail below in conjunction with the examples. It should be understood that the specific embodiments described here are only used to explain the present invention, not to limit the present invention.

下面结合附图及具体实施例对本发明的应用原理作进一步描述。The application principle of the present invention will be further described below in conjunction with the accompanying drawings and specific embodiments.

如图1所示,本发明实施例的无线体域网快速唤醒关联的方法包括以下步骤:As shown in FIG. 1, the method for quickly waking up the association of the wireless body area network according to the embodiment of the present invention includes the following steps:

S101:确定唤醒帧的帧头、帧体和帧尾;S101: Determine the frame header, frame body and frame tail of the wake-up frame;

S102:采用单播唤醒关联包括全新的单播Wakeup帧以及单播唤醒关联机制;S102: Using unicast wakeup association includes a new unicast Wakeup frame and a unicast wakeup association mechanism;

S103:多播唤醒关联包括多播Wakeup帧,地址索引号对照表以及多播唤醒关联机制。S103: The multicast wakeup association includes a multicast Wakeup frame, an address index number comparison table, and a multicast wakeup association mechanism.

本发明具体包括以下步骤:The present invention specifically comprises the following steps:

第一步,对体域网的Wakeup帧结构进行了设计:In the first step, the Wakeup frame structure of the body area network is designed:

步骤一,唤醒帧的帧头包括FC(Frame Control)、HID/NID(Hub/NodeIdentifier)、BAN ID(BAN Identifier),其中FC为帧头控制,包括协议版本、Ack策略、安全级别、帧类型等帧控制信息,在帧控制中可以设置帧的类型为控制类型,子类型为Wakeup帧;HID/NID为Hub和BN的地址缩短码,用于帧数据的接收;BAN ID为当前工作的体域网的缩短地址,用于标记该帧数据所处的体域网;Step 1, the frame header of the wake-up frame includes FC (Frame Control), HID/NID (Hub/NodeIdentifier), BAN ID (BAN Identifier), where FC is frame header control, including protocol version, Ack policy, security level, frame type Such as frame control information, in the frame control, you can set the frame type as the control type, and the subtype as Wakeup frame; HID/NID is the address shortening code of Hub and BN, which is used to receive frame data; BAN ID is the current working body The shortened address of the domain network is used to mark the body area network where the frame data is located;

步骤二,唤醒帧体包括Add_a(Recipient Address)、Add_b(Sender Address)、SSS(Security Suite Selector)、Asso_ctrl(Association Control)、SAD(SecurityAssociation Data);其中Add_a为Hub要求与之进行认证的BN节点地址或者BN的地址检索码,在单播时M=6字节,多播时M的大小可变;Add_b为当前发送唤醒关联信号的Hub地址;SSS为安全套接字选择域,用于确定当前安全关联协议、安全级别、帧认证控制、密码函数等一系列用于安全关联所需的信息;Asso_ctrl为安全关联控制,包括关联序列号和关联状态;SAD为安全关联数据,在这里包含Hub的公钥以及当前Hub产生的随机数Nonce_b,在0~(2128-1)中随机选取,用于唤醒之后的认证工作;Step 2, the wake-up frame body includes Add_a (Recipient Address), Add_b (Sender Address), SSS (Security Suite Selector), Asso_ctrl (Association Control), SAD (SecurityAssociation Data); where Add_a is the BN node that the Hub requires to authenticate with Address or the address retrieval code of BN, M=6 bytes during unicast, and the size of M during multicast is variable; Add_b is the Hub address currently sending the wake-up association signal; SSS is the secure socket selection field, used to determine A series of information required for security associations such as the current security association protocol, security level, frame authentication control, and cryptographic functions; Asso_ctrl is the security association control, including the associated serial number and association status; SAD is the security association data, which includes Hub The public key and the random number Nonce_b generated by the current Hub are randomly selected from 0 to (2 128 -1) and used for authentication after wake-up;

步骤三,唤醒帧尾由FCS组成,采用循环冗余序列CRC校验;Step 3, the wake-up frame tail is composed of FCS, and the cyclic redundancy sequence CRC is used for checking;

第二步,单播关联过程:The second step, the unicast association process:

步骤一,Hub根据当前通信的需要设置SSS、Asso_ctrl域为相应的值,选择自己的私钥SKb,计算PKb=SKb×G,构造Wakeup帧;在发送Wakeup帧后,向节点发送T-Poll帧;Step 1. The Hub sets the SSS and Asso_ctrl fields to corresponding values according to the current communication needs, selects its own private key SK b , calculates PK b = SK b ×G, and constructs a Wakeup frame; after sending the Wakeup frame, it sends T to the node - Poll frame;

步骤二,节点收到唤醒帧后,获得本次关联的配置信息以及Hub的公钥PKb,然后选择自己的私钥SKa长为256比特,计算公钥PKa=SKa×G,计算出公钥后,节点再计算基于口令的公钥,PKa'=PKa-Q(PW),Q(PW)=(QX,QY),QX=232×PW+MX;节点根据收到的Wakeup帧中的Nonce_b以及自身选择的Nonce_a计算:Step 2: After receiving the wake-up frame, the node obtains the configuration information of this association and the public key PK b of the Hub, and then selects its own private key SK a with a length of 256 bits, calculates the public key PK a = SK a × G, and calculates After the public key is issued, the node calculates the password-based public key again, PK a '=PK a -Q(PW), Q(PW)=(Q X , Q Y ), Q X =2 32 ×PW+M X ; The node calculates according to the Nonce_b in the received Wakeup frame and the Nonce_a selected by itself:

KMAC_1A=CMAC(Temp_1,Add_a||Add_b||Nonce_a||Nonce_b||SSS,64)KMAC_1A=CMAC(Temp_1,Add_a||Add_b||Nonce_a||Nonce_b||SSS,64)

KMAC_2A=CMAC(Temp_1,Add_b||Add_a||Nonce_b||Nonce_a||SSS,64);KMAC_2A=CMAC(Temp_1,Add_b||Add_a||Nonce_b||Nonce_a||SSS,64);

利用上述计算的信息PKa'、KMAC_2A构造第一关联请求帧,并向Hub发送;Using the information PK a ' and KMAC_2A calculated above to construct a first association request frame and send it to the Hub;

步骤三,Hub收到第一关联请求帧后,首先复原当前节点的公钥PKa=PKa'+Q(PW),Q(PW)=(QX,QY),QX=232×PW+MX;MX为使QX满足椭圆曲线上的点的最小非负整数;计算DHKey=X(SKb×PKa)=X(SKa×SKb×G),这里X()函数是取椭圆曲线密钥的X坐标值,Temp_1=RMB_128(DHKey),根据收到的信息以及计算得到的信息计算:Step 3, after the Hub receives the first association request frame, it first restores the public key of the current node PK a =PK a '+Q(PW), Q(PW)=(Q X , Q Y ), Q X =2 32 ×PW+M X ; M X is the smallest non-negative integer that makes Q X satisfy the points on the elliptic curve; calculate DHKey=X(SK b ×PK a )=X(SK a ×SK b ×G), where X( ) function is to take the X coordinate value of the elliptic curve key, Temp_1=RMB_128 (DHKey), and calculate according to the received information and the calculated information:

KMAC_1B=CMAC(Temp_1,Add_a||Add_b||Nonce_a||Nonce_b||SSS,64)KMAC_1B=CMAC(Temp_1,Add_a||Add_b||Nonce_a||Nonce_b||SSS,64)

KMAC_2B=CMAC(Temp_1,Add_b||Add_a||Nonce_b||Nonce_a||SSS,64)KMAC_2B=CMAC(Temp_1,Add_b||Add_a||Nonce_b||Nonce_a||SSS,64)

对比收到的KMAC_2A和计算得到的KMAC_2B,如果相同则根据KMAC_1B继续构造第二关联请求帧并进入本次关联请求的步骤五,如果不同则取消本次关联请求;Comparing the received KMAC_2A and the calculated KMAC_2B, if they are the same, continue to construct the second association request frame according to KMAC_1B and enter step five of this association request, if they are different, cancel this association request;

步骤四,节点收到第二关联请求帧,对比在步骤二中计算的KMAC_1A与收到的KMAC_1B,如果不同则取消本次关联请求,如果相同则进入本次关联的步骤五;Step 4, the node receives the second association request frame, compares the KMAC_1A calculated in step 2 with the received KMAC_1B, if they are different, cancel this association request, and if they are the same, enter step 5 of this association;

步骤五,节点与Hub计算MK=CMAC(Temp_2,Nonce_a||Nonce_b,128),这里Temp_2=LMB(DHKey),为DHKey的最左128位;双方完成唤醒关联;Step 5, the node and the Hub calculate MK=CMAC(Temp_2,Nonce_a||Nonce_b,128), where Temp_2=LMB(DHKey), which is the leftmost 128 bits of DHKey; both parties complete the wake-up association;

第三步,多播关联过程:The third step, the multicast association process:

步骤一,Hub根据当前通信的需要设置SSS、Asso_ctrl域为相应的值,选择自己的私钥SKb,计算PKb=SKb×G;构造广播的Wakeup帧,并广播T-Poll帧,直到收到所有需要通信的节点发送的第一关联请求帧;Step 1. The Hub sets the SSS and Asso_ctrl fields to corresponding values according to the current communication needs, selects its own private key SK b , and calculates PK b = SK b ×G; constructs a broadcast Wakeup frame, and broadcasts a T-Poll frame until Receive the first association request frame sent by all nodes that need to communicate;

步骤二,某个节点i收到Wakeup帧后,根据地址选择私钥SKai,计算公钥PKai=SKai×G,计算基于口令的公钥,PKai'=PKai-Q(PWi),Q(PWi)=(QX,QY);QX=232×PWi+MX;选择随机数Nonce_ai,计算DHKey=X(SKai×PKb)=X(SKai×SKb×G),Temp_1=RMB_128(DHKey),节点根据收到的Wakeup帧信息以及自身选择的Nonce_ai计算:Step 2: After receiving the Wakeup frame, a certain node i selects the private key SK ai according to the address, calculates the public key PK ai =SK ai ×G, and calculates the public key based on the password, PK ai '=PK ai -Q(PW i ), Q(PW i )=(Q X , Q Y ); Q X =2 32 ×PW i +M X ; choose random number Nonce_a i , calculate DHKey=X(SK ai ×PK b )=X(SK ai ×SK b ×G), Temp_1=RMB_128 (DHKey), the node calculates according to the received Wakeup frame information and the Nonce_a i selected by itself:

KMAC_1A=CMAC(Temp_1,Add_ai||Add_b||Nonce_ai||Nonce_b||SSS,64)KMAC_1A=CMAC(Temp_1,Add_a i ||Add_b||Nonce_a i ||Nonce_b||SSS,64)

KMAC_2A=CMAC(Temp_1,Add_b||Add_ai||Nonce_b||Nonce_ai||SSS,64)KMAC_2A=CMAC(Temp_1,Add_b||Add_a i ||Nonce_b||Nonce_a i ||SSS,64)

该节点利用计算得到的PKai'、KMAC_2A构造第一关联请求帧并发送;The node uses the calculated PK ai ', KMAC_2A to construct the first association request frame and send it;

步骤三,Hub收到第i节点的第一关联请求帧后,首先复原第i节点的公钥:PKai=PKai'+Q(PWi),Q(PWi)=(QX,QY),QX=232×PWi+MX,QY为正偶数;计算DHKey=X(SKb×PKai)=X(SKai×SKb×G),Temp_1=RMB_128(DHKey),根据收到的信息以及计算得到的信息计算:Step 3, after the Hub receives the first association request frame from the i-th node, it first restores the public key of the i-th node: PK ai =PK ai '+Q(PW i ), Q(PW i )=(Q X , Q Y ), Q X =2 32 ×PW i +M X , Q Y is a positive even number; calculate DHKey=X(SK b ×PK ai )=X(SK ai ×SK b ×G), Temp_1=RMB_128(DHKey) , calculated based on the received information and the calculated information:

KMAC_1B=CMAC(Temp_1,Add_ai||Add_b||Nonce_ai||Nonce_b||SSS,64)KMAC_1B=CMAC(Temp_1,Add_a i ||Add_b||Nonce_a i ||Nonce_b||SSS,64)

KMAC_2B=CMAC(Temp_1,Add_b||Add_ai||Nonce_b||Nonce_ai||SSS,64)KMAC_2B=CMAC(Temp_1,Add_b||Add_a i ||Nonce_b||Nonce_a i ||SSS,64)

对比收到的KMAC_2A和计算得到的KMAC_2B,如果相同则根据KMAC_1B继续构造第二关联请求帧,如果不同则取消本次关联请求,发送第二关联请求帧后Hub计算MKi=CMAC(Temp_2,Nonce_ai||Nonce_b,128)为Hub与第i节点的主密钥;Comparing the received KMAC_2A and the calculated KMAC_2B, if they are the same, continue to construct the second association request frame according to KMAC_1B, if they are different, cancel this association request, and after sending the second association request frame, the Hub calculates MK i =CMAC(Temp_2, Nonce_a i ||Nonce_b,128) is the master key of the Hub and the i-th node;

步骤四,第i节点收到第二关联请求帧,对比在步骤二中计算的KMAC_1A与收到的KMAC_1B,如果不同则取消本次关联请求,如果相同计算MKi=CMAC(Temp_2,Nonce_ai||Nonce_b,128)为第i节点与Hub的主密钥。Step 4, the i-th node receives the second association request frame, compares the KMAC_1A calculated in step 2 with the received KMAC_1B, if they are different, cancel this association request, if they are the same, calculate MK i =CMAC(Temp_2,Nonce_a i | |Nonce_b,128) is the master key of the i-th node and the Hub.

本发明的工作原理:Working principle of the present invention:

本发明实现了无线体域网传感节点在被安全唤醒的同时开始关联,缩短了从唤醒到MK建立所需的时间,减小节点等待的时间;同时对Hub与多个节点的关联方式进行了设计;为此设计了全新的唤醒信号和新的关联机制,Hub在开始建立WBAN网络或需要与未处在Connected状态的节点进行通信时,会需要对节点进行唤醒;唤醒操作是通过控制类型的帧Wakeup和T-Poll实现的,可以使用两者结合的方法,也可以单独使用T-Poll方法;在IEEE802.15.6中规定由Wakeup帧唤醒节点,由T-Poll分配时隙用于Associated帧的交换;在本发明中使用Wakeup与T-Poll结合的方式进行上述的唤醒操作。The invention realizes that the wireless body area network sensor node starts to associate when it is safely awakened, shortens the time required from awakening to MK establishment, and reduces the waiting time of nodes; at the same time, the association mode of the Hub and multiple nodes is Design; for this purpose, a new wake-up signal and a new association mechanism are designed. When the Hub starts to establish a WBAN network or needs to communicate with a node that is not in the Connected state, it will need to wake up the node; the wake-up operation is through the control type The frame Wakeup and T-Poll can be implemented, and the combination of the two methods can be used, or the T-Poll method can be used alone; IEEE802.15.6 stipulates that the node is awakened by the Wakeup frame, and the time slot allocated by T-Poll is used for the Associated frame exchange; in the present invention, the above-mentioned wake-up operation is performed by using the combination of Wakeup and T-Poll.

本发明的具体实施例:Specific embodiments of the present invention:

本发明提出了一种基于体域网的快速安全唤醒关联机制,以实现无线体域网传感节点在被安全唤醒的同时开始关联,缩短了从唤醒到MK建立所需的时间,减小节点等待的时间,同时对Hub与多个节点的关联方式进行了设计;本发明中体域网的节点均是处于非连接状态。The present invention proposes a fast and secure wake-up association mechanism based on body area network, so as to realize that the wireless body area network sensor nodes start to associate while being safely awakened, shortening the time required from wake-up to MK establishment, and reducing the number of nodes During the waiting time, the association mode between the Hub and multiple nodes is designed; the nodes of the body area network in the present invention are all in a non-connected state.

Hub在开始建立WBAN网络或需要与未处在Connected状态的节点进行通信时,会需要对节点进行唤醒。唤醒操作是通过控制类型的帧Wakeup和T-Poll实现的,可以使用两者结合的方法,也可以单独使用T-Poll方法。在IEEE802.15.6中规定由Wakeup帧唤醒节点,由T-Poll分配时隙用于Associated帧的交换。在本发明中使用Wakeup与T-Poll结合的方式进行上述的唤醒操作。When the Hub starts to establish a WBAN network or needs to communicate with nodes that are not in the Connected state, it will need to wake up the nodes. The wake-up operation is realized through the control type frame Wakeup and T-Poll, and the combination of the two methods can be used, or the T-Poll method can be used alone. It is stipulated in IEEE802.15.6 that nodes are awakened by Wakeup frames, and time slots are allocated by T-Poll for the exchange of Associated frames. In the present invention, the above-mentioned wake-up operation is performed by using the combination of Wakeup and T-Poll.

在IEEE802.15.6的唤醒帧基础上,设计了全新的Wakeup帧;本次设计的唤醒关联单播帧结构参照图2进行说明;Based on the IEEE802.15.6 wakeup frame, a new Wakeup frame is designed; the structure of the wakeup associated unicast frame designed this time is explained with reference to Figure 2;

帧头:Frame header:

FC(Frame Control):帧头控制,包括协议版本、Ack策略、安全级别、帧类型等帧控制信息,在帧控制中可以设置帧的类型为控制类型,子类型为Wakeup帧;FC (Frame Control): Frame header control, including frame control information such as protocol version, Ack policy, security level, frame type, etc. In frame control, the type of frame can be set as control type, and the subtype is Wakeup frame;

HID/NID(Hub/Node Identifier):分别为Hub和BN的地址缩短码,用于帧数据的接收;HID/NID (Hub/Node Identifier): The address shortening codes of Hub and BN respectively, used for receiving frame data;

BAN ID(BAN Identifier):为当前工作的体域网的缩短地址,用于标记该帧数据所处的体域网;BAN ID (BAN Identifier): It is the shortened address of the current working body area network, which is used to mark the body area network where the frame data is located;

帧体:长度最长为pMaxFrameBodyLength,按照IEEE802.15.6规定,为255字节;Frame body: the longest length is pMaxFrameBodyLength, which is 255 bytes according to IEEE802.15.6;

Add_a(Recipient Address):为Hub要求与之进行认证的BN节点地址或者BN的地址检索码,在单播时M=6字节,多播时M的大小可变;Add_a (Recipient Address): It is the BN node address or BN address retrieval code that the Hub requires to authenticate with it, M=6 bytes in unicast, and the size of M is variable in multicast;

Add_b(Sender Address):为当前发送唤醒关联信号的Hub地址;Add_b(Sender Address): It is the address of the Hub currently sending the wake-up association signal;

SSS(Security Suite Selector):安全套接字选择域,用于确定当前安全关联协议、安全级别、帧认证控制、密码函数等一系列用于安全关联所需的信息;SSS (Security Suite Selector): The secure socket selection field is used to determine a series of information required for security associations such as the current security association protocol, security level, frame authentication control, and cryptographic functions;

Asso_ctrl(Association Control):安全关联控制,包括关联序列号和关联状态;Asso_ctrl(Association Control): Security association control, including association serial number and association status;

SAD(Security Association Data):安全关联数据,在这里包含Hub的公钥以及当前Hub产生的随机数,在0~(2128-1)中随机选取,用于唤醒之后的认证工作;SAD (Security Association Data): Security association data, including the Hub's public key and the random number generated by the current Hub, randomly selected from 0 to (2 128 -1), used for authentication after wake-up;

帧尾:end of frame:

FCS:为帧检测序列,采用循环冗余序列CRC校验;FCS: It is a frame detection sequence, which adopts cyclic redundancy sequence CRC check;

在完成唤醒帧的设计后,对IEEE802.15.6规定的单播关联过程进行了优化,以口令认证关联为例,在进行关联的前提是Hub及节点要共享PW(Pass Word),即用户口令;下文中参照图3进行详细的论述,具体包括:After completing the design of the wake-up frame, the unicast association process specified in IEEE802.15.6 is optimized. Taking the password authentication association as an example, the premise of the association is that the Hub and the node must share the PW (Pass Word), that is, the user password; In the following, a detailed discussion will be made with reference to FIG. 3 , including:

第一步,初始化,Hub根据当前通信的需要设置SSS、Asso_ctrl域为相应的值;Hub选择它的私钥SKb长为256比特,计算公钥PKb=SKb×G,其中G=(Gx,Gy)为IEEE802.15.6中规定的椭圆曲线的基点,其中Gx=6b17d1f2e12c4247f8bce6e563a440f277037d812deb33a0f4a13945d898c296;Gy=4fe342e2fe1a7f9b8ee7eb4a7c0f9e162bce33576b315ececbb6406837bf51f5,The first step is initialization. The Hub sets the SSS and Asso_ctrl domains to corresponding values according to the needs of current communication; the Hub selects its private key SKb to be 256 bits long, and calculates the public key PK b =SK b ×G, where G=(Gx ,Gy)为IEEE802.15.6中规定的椭圆曲线的基点,其中Gx=6b17d1f2e12c4247f8bce6e563a440f277037d812deb33a0f4a13945d898c296;Gy=4fe342e2fe1a7f9b8ee7eb4a7c0f9e162bce33576b315ececbb6406837bf51f5,

×为基于该椭圆曲线的标量乘法;Hub在0~(2128-1)选择一个随机数Nonce_b,设置SAD域并构造上述的Wakeup帧;在发送Wakeup帧后,Hub要向节点发送T-Poll帧,T-Poll帧是为关联帧的交换分配时隙的;在本发明中,如果Hub没有收到第一关联帧,则会一直发送T-Poll帧,直到收到第一关联帧为止;× is the scalar multiplication based on the elliptic curve; the Hub selects a random number Nonce_b from 0 to (2 128 -1), sets the SAD field and constructs the above Wakeup frame; after sending the Wakeup frame, the Hub will send a T-Poll to the node Frame, the T-Poll frame is to allocate time slots for the exchange of the associated frame; in the present invention, if the Hub does not receive the first associated frame, it will always send the T-Poll frame until the first associated frame is received;

第二步,节点收到唤醒帧后,首先存储唤醒帧,如果Add_a中不是自己的地址,则保持现在的状态不做改变;如果Add_a中是自己的地址,则处理器进入工作状态;节点取出存储的唤醒帧,将其中的SSS、Asso_ctrl、SAD域的信息取出,获得本次关联的配置信息以及Hub的公钥PKb选择,然后选择自己的私钥SKa长为256比特,计算公钥PKa=SKa×G,其中G为IEEE802.15.6中规定的椭圆曲线的基点与节点的选择相同,×为基于该椭圆曲线的标量乘法,计算出公钥后,节点再计算基于口令的公钥,In the second step, after the node receives the wake-up frame, it first stores the wake-up frame. If Add_a is not its own address, the current state remains unchanged; if Add_a is its own address, the processor enters the working state; the node takes out From the stored wake-up frame, take out the information in the SSS, Asso_ctrl, and SAD fields, obtain the associated configuration information and the Hub’s public key PK b selection, and then select your own private key SK a with a length of 256 bits, and calculate the public key PK a =SK a ×G, where G is the base point of the elliptic curve stipulated in IEEE802.15.6, which is the same as the node selection, and × is the scalar multiplication based on the elliptic curve. After the public key is calculated, the node calculates the public key based on the password. key,

PKa'=PKa-Q(PW);PK a '=PK a -Q(PW);

Q(PW)=(QX,QY);Q(PW)=( QX , QY );

QX=232×PW+MX,QY为正偶数;Q X =2 32 ×PW+M X , Q Y is a positive even number;

MX为使QX满足椭圆曲线上的点的最小非负整数;M X is the smallest non-negative integer that makes Q X satisfy the points on the elliptic curve;

计算完成后,如果PKa'有效,则更新当前节点的公钥PKa,选择随机数Nonce_a,计算X(),这里X()函数是取椭圆曲线密钥的X坐标值;Temp_1=RMB_128(DHKey),为DHKey的最右128位;节点根据收到的Wakeup帧中的Nonce_b以及自身选择的Nonce_a计算:After the calculation is completed, if PK a ' is valid, update the public key PK a of the current node, select the random number Nonce_a, and calculate X(), where the X() function is to take the X coordinate value of the elliptic curve key; Temp_1=RMB_128( DHKey), which is the rightmost 128 bits of DHKey; the node calculates according to the Nonce_b in the received Wakeup frame and the Nonce_a selected by itself:

KMAC_1A=CMAC(Temp_1,Add_a||Add_b||Nonce_a||Nonce_b||SSS,64)KMAC_1A=CMAC(Temp_1,Add_a||Add_b||Nonce_a||Nonce_b||SSS,64)

KMAC_2A=CMAC(Temp_1,Add_b||Add_a||Nonce_b||Nonce_a||SSS,64)KMAC_2A=CMAC(Temp_1,Add_b||Add_a||Nonce_b||Nonce_a||SSS,64)

节点利用上述计算的信息PKa、KMAC_2A构造第一关联请求帧;该帧为IEEE802.15.6规定的标准请求帧;如果节点由于某种原因要放弃本次关联,则需要设置关联请求帧的关联控制域中的关联状态选项,该选项的长度为一个字节,十进制值0代表加入当前关联;1代表由于SSS域选择不同而放弃关联;2代表缺少需要的安全凭据而放弃关联;3代表当前资源不足而放弃关联;4代表受到管理员或所有者的安全策略选项限制而放弃关联;5-15保留;所以节点要放弃本次关联,仍需要发送第一关联请求帧,并按上述要求填写相应的关联状态选项;在发送第一关联请求帧时要按照Hub发送的T-Poll帧分配的时隙进行帧发送;The node uses the information PKa and KMAC_2A calculated above to construct the first association request frame; this frame is a standard request frame specified by IEEE802.15.6; if the node wants to give up this association for some reason, it needs to set the association control field of the association request frame The association status option in , the length of this option is one byte, and the decimal value 0 represents joining the current association; 1 represents abandoning the association due to different SSS domain selection; 2 represents abandoning the association due to lack of required security credentials; 3 represents insufficient current resources And give up the association; 4 means giving up the association due to the restrictions of the administrator or owner's security policy options; 5-15 reserved; so the node still needs to send the first association request frame if it wants to give up this association, and fill in the corresponding form according to the above requirements Association state option; when sending the first association request frame, the frame shall be sent according to the time slot allocated by the T-Poll frame sent by the Hub;

第三步,Hub收到第一关联请求帧后,首先复原当前节点的公钥:In the third step, after the Hub receives the first association request frame, it first restores the public key of the current node:

PKa=PKa'+Q(PW);PK a =PK a '+Q(PW);

Q(PW)=(QX,QY);Q(PW)=( QX , QY );

QX=232×PW+MX,QY为正偶数;Q X =2 32 ×PW+M X , Q Y is a positive even number;

MX为使QX满足椭圆曲线上的点的最小非负整数;M X is the smallest non-negative integer that makes Q X satisfy the points on the elliptic curve;

计算DHKey=X(SKb×PKa)=X(SKa×SKb×G),这里X()函数是取椭圆曲线密钥的X坐标值,Temp_1=RMB_128(DHKey),根据收到的信息以及计算得到的信息计算:Calculate DHKey=X(SK b ×PK a )=X(SK a ×SK b ×G), where the X() function is to take the X coordinate value of the elliptic curve key, Temp_1=RMB_128(DHKey), according to the received Information and calculated information calculations:

KMAC_1B=CMAC(Temp_1,Add_a||Add_b||Nonce_a||Nonce_b||SSS,64)KMAC_1B=CMAC(Temp_1,Add_a||Add_b||Nonce_a||Nonce_b||SSS,64)

KMAC_2B=CMAC(Temp_1,Add_b||Add_a||Nonce_b||Nonce_a||SSS,64)KMAC_2B=CMAC(Temp_1,Add_b||Add_a||Nonce_b||Nonce_a||SSS,64)

对比收到的KMAC_2A和计算得到的KMAC_2B,如果相同则继续构造第二关联请求帧并进入本次关联请求的第五步,如果不同则取消本次关联请求,与节点类似同样需要设置关联状态选项;根据在第一步中选择的SSS、Asso_ctrl,在SAD域填充随机数Nonce_b,Hub公钥,以及KMAC_1B构造第二关联请求帧,该帧为IEEE802.15.6规定的标准请求帧;Compare the received KMAC_2A with the calculated KMAC_2B. If they are the same, continue to construct the second association request frame and enter the fifth step of this association request. If they are different, cancel this association request. Similar to the node, you also need to set the association status option ; According to SSS, Asso_ctrl selected in the first step, fill random number Nonce_b, Hub public key, and KMAC_1B in the SAD field to construct the second association request frame, which is the standard request frame specified by IEEE802.15.6;

第四步,节点收到第二关联请求帧,对比在第二步中计算的KMAC_1A与收到的KMAC_1B,如果不同则取消本次关联请求,如果相同则进入本次关联的第五步;In the fourth step, the node receives the second association request frame, compares the KMAC_1A calculated in the second step with the received KMAC_1B, if they are different, cancel this association request, and if they are the same, enter the fifth step of this association;

第五步:节点与Hub计算MK=CMAC(Temp_2,Nonce_a||Nonce_b,128),这里Temp_2=LMB(DHKey),为DHKey的最左128位;Step 5: The node and the Hub calculate MK=CMAC(Temp_2,Nonce_a||Nonce_b,128), where Temp_2=LMB(DHKey), which is the leftmost 128 bits of DHKey;

上面的步骤完成了在单播情况下Hub对节点的唤醒关联过程,并对双方的密钥协商以及认证过程进行了简化;下面将对多播关联过程进行说明。The above steps complete the Hub-to-node awakening association process in the case of unicast, and simplify the key negotiation and authentication process between the two parties; the multicast association process will be described below.

在多播的过程中,Hub需要颁发GTK给各个参与通信过程的节点,但是在IEEE802.15.6中GTK的颁发需要Hub与每个参与通信的节点都共享一个PTK,而PTK的生成是以MK的存在为前提的;所以在多播过程中Hub需要与多个节点进行关联,以激活或产生它们之间的MK;如果采用顺序唤醒关联方式,会造成很大的网络时延以及节点的等待时间过长;所以采用多播Wakeup帧的形式进行唤醒关联,即将本发明论述的Wakeup帧头中的接收ID域中将ID设置为Multicast_NID,按照本发明的Wakeup帧就需要将所有需要通信的节点的地址放入Add_a中;如果采用EUI-48的地址编码方式,这会造成唤醒信号的巨大开销;所以对多播时BN的地址进行重新设计;In the process of multicasting, the Hub needs to issue GTK to each node participating in the communication process, but in IEEE802.15.6, the issuance of GTK requires the Hub to share a PTK with each node participating in the communication, and the generation of PTK is based on MK Existence is the premise; therefore, in the multicast process, the Hub needs to associate with multiple nodes to activate or generate the MK between them; if the sequential wake-up association method is used, it will cause a large network delay and node waiting time Too long; So adopt the form of multicast Wakeup frame to wake up correlation, be about to set ID to Multicast_NID in the receiving ID domain in the Wakeup frame header that the present invention discusses, just need all the nodes that need to communicate according to Wakeup frame of the present invention The address is put into Add_a; if the address encoding method of EUI-48 is adopted, this will cause a huge overhead of the wake-up signal; so the address of BN in multicast is redesigned;

在本发明中将采用索引的方式,即将BN按地址和索引一一对应的方式进行地址编码;根据IEEE802.15.6标准中的规定,每个WBAN中节点的最大数目为64,所以采用6位二进制数表示地址索引码就足够了,代表WBAN中节点的EUI-48类型的地址;Hub在构建网络时将BN节点的地址索引码对应表发送给节点,节点进行存储;Hub存有BN节点的地址索引码对应表,在构造唤醒帧时,需要把节点地址对应的地址索引码写入Add_a中;节点收到多播的唤醒信号后,按照自身存储的地址索引码对应表搜索Add_a中是否有自己的索引码,如果有则响应该唤醒帧,如果没有则不响应继续保持休眠状态;In the present invention, the method of indexing will be adopted, that is, the address encoding of BN is carried out in a one-to-one correspondence mode between address and index; according to the regulations in the IEEE802.15.6 standard, the maximum number of nodes in each WBAN is 64, so 6-bit binary The number indicates that the address index code is enough, representing the EUI-48 type address of the node in the WBAN; Hub sends the address index code correspondence table of the BN node to the node when building the network, and the node stores it; the Hub stores the address of the BN node The index code correspondence table, when constructing the wake-up frame, the address index code corresponding to the node address needs to be written into Add_a; after the node receives the multicast wake-up signal, it searches Add_a according to the address index code correspondence table stored by itself. If there is an index code, it will respond to the wake-up frame, if not, it will not respond and continue to sleep;

完成上述地址对应过程,下面参照图5对多播唤醒关联的进行说明,具体包括:After completing the above address correspondence process, the following describes the multicast wake-up association with reference to Figure 5, specifically including:

第一步,初始化,Hub根据当前通信的需要设置SSS、Asso_ctrl域为相应的值;Hub选择它的私钥SKb,计算公钥PKb=SKb×G,其中G为IEEE802.15.6中规定的椭圆曲线的基点,×为基于该椭圆曲线的标量乘法;Hub在0~(2128-1)选择一个随机数Nonce_b,在设置Add_a域的时候,按照本发明定义的地址索引方式,将需要通信的节点的地址索引码按照先后顺序写入Add_a;设置SAD域并构造上述的Wakeup帧;在发送Wakeup帧的同时,Hub要向节点发送T-Poll帧,T-Poll帧是为关联帧的交换分配时隙的;这里的T-Poll帧为广播类型的帧,即帧头的接收ID为Unconnected_Broadcast_NID,所有未连接的节点均可以收到该T-Poll帧,T-Poll帧是为关联帧的交换分配时隙的;直到收到所有节点发送的第一关联请求帧,Hub才会停止广播T-Poll帧;The first step is initialization. The Hub sets the SSS and Asso_ctrl fields to corresponding values according to the current communication needs; the Hub selects its private key SK b and calculates the public key PK b = SK b × G, where G is specified in IEEE802.15.6 The base point of the elliptic curve, × is the scalar multiplication based on the elliptic curve; Hub selects a random number Nonce_b in 0~(2 128 -1), when setting the Add_a domain, according to the address index mode defined in the present invention, will need The address index code of the communicating node is written into Add_a in sequence; set the SAD field and construct the above Wakeup frame; while sending the Wakeup frame, the Hub will send a T-Poll frame to the node, and the T-Poll frame is an associated frame To exchange and allocate time slots; the T-Poll frame here is a broadcast type frame, that is, the receiving ID of the frame header is Unconnected_Broadcast_NID, and all unconnected nodes can receive the T-Poll frame, and the T-Poll frame is an associated frame The exchange allocates time slots; until the first association request frame sent by all nodes is received, the Hub will stop broadcasting the T-Poll frame;

第二步,第i节点,其中,i的取值范围是1~n,n为当前Hub需要与之通信的节点数目,收到多播唤醒帧后,则认为唤醒帧的Add_a域是按照地址索引码填写的;那么节点检索Add_a域;The second step is the i-th node, where the value range of i is 1 to n, and n is the number of nodes that the current Hub needs to communicate with. After receiving the multicast wake-up frame, it is considered that the Add_a field of the wake-up frame is based on the address The index code is filled in; then the node retrieves the Add_a field;

如果在Add_a域中有自己地址检索码,则进入工作模式,按照地址索引表复原自身地址Add_ai,这里节点计算的方法与单播时是相同的,首先选择私钥SKai,计算公钥计算公钥PKai=SKai×G,其中G为IEEE802.15.6中规定的椭圆曲线的基点,×为基于该椭圆曲线的标量乘法,其次计算基于口令的公钥,If you have your own address retrieval code in the Add_a field, enter the working mode and restore your own address Add_a i according to the address index table. Here, the node calculation method is the same as that in unicast. First, select the private key SK ai and calculate the public key calculation Public key PK ai = SK ai × G, where G is the base point of the elliptic curve specified in IEEE802.15.6, × is the scalar multiplication based on the elliptic curve, and then calculate the public key based on the password,

PKai'=PKai-Q(PWi);PK ai '=PK ai -Q(PW i );

Q(PWi)=(QX,QY);Q(PW i )=(Q X , Q Y );

QX=232×PWi+MX,QY为正偶数;Q X =2 32 ×PW i +M X , Q Y is a positive even number;

MX为使QX满足椭圆曲线上的点的最小非负整数;MX is the smallest non-negative integer that makes QX satisfy the points on the elliptic curve;

计算完成后,如果PKai'有效,则更新当前节点的公钥PKai,选择随机数Nonce_ai,计算DHKey=X(SKai×PKb)=X(SKai×SKb×G),这里X()函数是取椭圆曲线密钥的X坐标值;Temp_1=RMB_128(DHKey),为DHKey的最右128位;节点根据收到的Wakeup帧信息以及自身选择的Nonce_ai计算:After the calculation is completed, if PK ai ' is valid, update the public key PK ai of the current node, select the random number Nonce_a i , and calculate DHKey=X(SK ai ×PK b )=X(SK ai ×SK b ×G), where The X() function is to take the X coordinate value of the elliptic curve key; Temp_1=RMB_128 (DHKey), which is the rightmost 128 bits of the DHKey; the node calculates according to the received Wakeup frame information and the Nonce_a i selected by itself:

KMAC_1A=CMAC(Temp_1,Add_ai||Add_b||Nonce_ai||Nonce_b||SSS,64)KMAC_1A=CMAC(Temp_1,Add_a i ||Add_b||Nonce_a i ||Nonce_b||SSS,64)

KMAC_2A=CMAC(Temp_1,Add_b||Add_ai||Nonce_b||Nonce_ai||SSS,64)KMAC_2A=CMAC(Temp_1,Add_b||Add_a i ||Nonce_b||Nonce_a i ||SSS,64)

节点利用上述计算的信息构造第一关联请求帧;该帧为IEEE802.15.6规定的标准请求帧;如果节点由于某种原因要放弃本次关联,则需要设置关联请求帧的关联控制域中的关联状态选项,该选项的长度为一个字节,十进制值0代表加入当前关联;1代表由于SSS域选择不同而放弃关联;2代表缺少需要的安全凭据而放弃关联;3代表当前资源不足而放弃关联;4代表受到管理员或所有者的安全策略选项限制而放弃关联;5-15保留;所以节点要放弃关联请求,仍需要发送第一关联请求帧,并按上述要求填写相应的关联状态选项;在发送第一关联请求帧时要按照Hub广播的T-Poll帧分配的时隙进行帧的发送;The node uses the information calculated above to construct the first association request frame; this frame is a standard request frame specified by IEEE802.15.6; if the node wants to give up this association for some reason, it needs to set the association in the association control field of the association request frame Status option, the length of this option is one byte, the decimal value 0 means joining the current association; 1 means abandoning the association due to different SSS domain selections; 2 means abandoning the association due to lack of required security credentials; 3 means abandoning the association due to insufficient current resources ; 4 means that the association is abandoned due to the restriction of the administrator or owner's security policy options; 5-15 is reserved; so if the node wants to abandon the association request, it still needs to send the first association request frame, and fill in the corresponding association status options according to the above requirements; When sending the first association request frame, the frame should be sent according to the time slot allocated by the T-Poll frame broadcast by the Hub;

如果在Add_a域中没有自己地址检索码,则不作响应继续低功率模式;If there is no own address retrieval code in the Add_a domain, then continue the low power mode without responding;

第三步,Hub收到第i节点的第一关联请求帧后,首先复原第i节点的公钥:In the third step, after the Hub receives the first association request frame of the i-th node, it first restores the public key of the i-th node:

PKai=PKai'+Q(PWi);PK ai =PK ai '+Q(PW i );

Q(PWi)=(QX,QY);Q(PW i )=(Q X , Q Y );

QX=232×PWi+MX,QY为正偶数;Q X =2 32 ×PW i +M X , Q Y is a positive even number;

计算DHKey=X(SKb×PKai)=X(SKai×SKb×G),这里X()函数是取椭圆曲线密钥的X坐标值,Temp_1=RMB_128(DHKey),根据收到的信息以及计算得到的信息计算:Calculate DHKey=X(SK b ×PK ai )=X(SK ai ×SK b ×G), where the X() function is to take the X coordinate value of the elliptic curve key, Temp_1=RMB_128(DHKey), according to the received Information and calculated information calculations:

KMAC_1B=CMAC(Temp_1,Add_ai||Add_b||Nonce_ai||Nonce_b||SSS,64)KMAC_1B=CMAC(Temp_1,Add_a i ||Add_b||Nonce_a i ||Nonce_b||SSS,64)

KMAC_2B=CMAC(Temp_1,Add_b||Add_ai||Nonce_b||Nonce_ai||SSS,64)KMAC_2B=CMAC(Temp_1,Add_b||Add_a i ||Nonce_b||Nonce_a i ||SSS,64)

对比收到的KMAC_2A和计算得到的KMAC_2B,如果相同则继续构造第二关联请求帧,如果不同则取消本次关联请求;根据在第一步中选择的SSS、Asso_ctrl,在SAD域填充随机数Nonce_b,Hub公钥,以及KMAC_1B,该帧为IEEE802.15.6规定的标准请求帧;在第二请求帧发送后Hub计算MKi=CMAC(Temp_2,Nonce_ai||Nonce_b,128)为Hub与第i节点的主密钥并按照索引表进行存储;Hub在与当前第i节点进行关联时同时会检测其他节点的第一关联请求帧,收到请求后要进行存储,在结束当前节点的MKi后进行响应;Compare the received KMAC_2A and the calculated KMAC_2B, if they are the same, continue to construct the second association request frame, if they are different, cancel this association request; according to the SSS and Asso_ctrl selected in the first step, fill the random number Nonce_b in the SAD field , Hub public key, and KMAC_1B, this frame is a standard request frame specified by IEEE802.15.6; after the second request frame is sent, Hub calculates MK i =CMAC(Temp_2, Nonce_a i ||Nonce_b, 128) for Hub and i-th node The master key is stored according to the index table; when the Hub associates with the current i -th node, it will detect the first association request frame of other nodes at the same time. After receiving the request, it needs to store it. response;

第四步,第i节点收到第二关联请求帧,对比在第二步中计算的KMAC_1A与收到的KMAC_1B,如果不同则取消本次关联请求,如果相同计算MKi=CMAC(Temp_2,Nonce_ai||Nonce_b,128)为第i节点与Hub的主密钥;In the fourth step, the i-th node receives the second association request frame, compares the KMAC_1A calculated in the second step with the received KMAC_1B, if they are different, cancel this association request, and if they are the same, calculate MK i = CMAC(Temp_2, Nonce_a i ||Nonce_b,128) is the master key of the i-th node and the Hub;

上述过程完成了在多播情况下对Hub与多个节点的安全关联过程,产生了相应的MK,在共享MK的基础上,Hub与节点可以生成PTK,利用PTK可以颁发GTK;The above process completes the security association process between the Hub and multiple nodes in the case of multicast, and generates the corresponding MK. On the basis of sharing the MK, the Hub and the nodes can generate PTK, and use the PTK to issue GTK;

本发明与现有技术对比有以下的优势:Compared with the prior art, the present invention has the following advantages:

下面将对802.15.6与本方案在唤醒帧长度、单播和多播时MK的建立步骤以及传输所消耗的能量方面进行对比:The following will compare 802.15.6 with this solution in terms of wake-up frame length, MK establishment steps during unicast and multicast, and energy consumed by transmission:

唤醒帧长度、单播和多播时MK的建立步骤:Steps to establish MK when waking up frame length, unicast and multicast:

1.本发明将802.15.6标准中的Wakeup帧进行了重新设计,在帧体中加入了关联请求所需的SSS、Asso_ctrl、Nonce以及公钥;对Wakeup帧改进之后,虽然帧长度变长了,但是在关联步骤中不需要802.15.6原来所需的第一关联帧;所以帧长度在总体来说还是减少了;1. The present invention redesigns the Wakeup frame in the 802.15.6 standard, and adds the SSS, Asso_ctrl, Nonce and public key required for the association request in the frame body; after the Wakeup frame is improved, although the frame length becomes longer , but the first association frame originally required by 802.15.6 is not needed in the association step; so the frame length is still reduced overall;

2.本发明通过上述的Wakeup帧,简化了体域网中关联过程的步骤;在802.15.6标准中,从节点唤醒到建立MK需要进行至少五步,而在本发明中从节点唤醒到建立MK只需要三步就可以了;2. The present invention simplifies the steps of the association process in the body area network by the above-mentioned Wakeup frame; in the 802.15.6 standard, at least five steps are required to be awakened from the node to the establishment of the MK, but in the present invention, the wakeup from the node to the establishment of the MK only needs three steps;

3.本发明还对802.15.6标准中多播时的关联过程进行了简化;在标准中,当进行多播通信时,Hub会依次唤醒需要通信的节点,然后在进行关联过程建立MK;本发明设计了全新的多播唤醒关联,通过多播发送Wakeup帧,一次将所有需要与之通信的节点唤醒;然后参照Wakeup帧体中的地址和关联策略开始关联过程;在多播形式的Wakeup帧中,本发明设计了地址对应表,使得Wakeup帧开销大大降低;当有n个节点进行多播通信时,在802.15.6标准中需要2n步才能和所有节点建立MK,而采用本发明的方法,只需要n步;3. The present invention also simplifies the association process when multicasting in the 802.15.6 standard; in the standard, when performing multicast communication, the Hub will wake up the nodes that need to communicate in turn, and then establish MK in the association process; Invented and designed a brand-new multicast wakeup association, which sends Wakeup frames through multicast to wake up all nodes that need to communicate with it at one time; then start the association process by referring to the address and association strategy in the Wakeup frame body; in the multicast Wakeup frame Among them, the present invention has designed the address correspondence table, makes the Wakeup frame overhead reduce greatly; When there are n nodes to carry out multicast communication, need 2n steps to establish MK with all nodes in 802.15.6 standard, and adopt the method of the present invention , only need n steps;

传输所消耗的能量:Energy consumed for transmission:

假设bs为传输的比特数,et为单位比特发送所消耗的能量,el为单位比特接收所消耗的能量;则在WBAN中,能量Es消耗的模型为:Assuming that b s is the number of bits transmitted, e t is the energy consumed by unit bit transmission, and e l is the energy consumed by unit bit reception; then in WBAN, the model of energy E s consumption is:

Es=bset+bsel E s =b s e t +b s e l

在本次分析中,设置et为50×10-9,el为50×10-9,则本发明与802.15.6在能量消耗方面的比较结果下表6;从表中可以看出本发明减少了1368bits数据的发送,同时降低了30%的能量消耗,可以在很大程度上延长节点的寿命;In this analysis, set e t to 50×10 -9 and e l to 50×10 -9 , then the comparison results of energy consumption between the present invention and 802.15.6 are shown in Table 6 below; from the table it can be seen that the present invention The invention reduces the transmission of 1368bits data and reduces energy consumption by 30%, which can prolong the life of nodes to a large extent;

表1:本发明与IEEE802.15.6能量消耗Table 1: The present invention and IEEE802.15.6 energy consumption

以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。The above descriptions are only preferred embodiments of the present invention, and are not intended to limit the present invention. Any modifications, equivalent replacements and improvements made within the spirit and principles of the present invention should be included in the protection of the present invention. within range.

Claims (2)

  1. A kind of 1. method of wireless body area network fast wake-up association, it is characterised in that the wireless body area network fast wake-up association Method includes:Construct Wakeup frame heads, frame and postamble first under clean culture wake up association;Secondly promoter Hub sends T- Poll frames, the time slot that node distributes according to T-Poll frames again receive Wakeup frames and proceed by association process with Hub;More Broadcast wake-up association under construct Wakeup frame heads, frame and postamble and allocation index table first, secondly promoter Hub to All nodes send T-Poll frames;The time slot that node distributes according to T-Poll frames again receives Wakeup frames and opened successively with Hub Beginning is associated process;
    The frame head of wake-up association includes FC, HID/NID, BAN ID, and wherein FC controls for frame head, including protocol version, Ack strategy, Level of security, frame type frame control information, the type that frame is set in frame controls is Control Cooling, and subtype is Wakeup frames; Shorten code, the reception for frame data in the address that HID/NID is Hub and BN;BAN ID are the shortening of the body area network of work at present Address, for marking the body area network residing for the frame data;
    Waking up frame includes Add_a, Add_b, SSS, Asso_ctrl, SAD;Wherein Add_a is that Hub requirements are authenticated therewith BN node address or BN address search code, the M=6 bytes in unicast, more sowing time M size is variable;Add_b is current Send the Hub addresses of wake-up correlation signal;SSS is safe socket character selects domain, for determining current security association agreement, safety A series of information for needed for security association of rank, frame certification control, cipher function;Asso_ctrl controls for security association, Including inteerelated order row number and association status;SAD is security association data, random caused by the public key comprising Hub and current Hub Number Nonce_b, 0~(2128- 1) randomly selected in, for the certification work after wake-up;
    Wake up postamble to be made up of FCS, using cyclic redundancy sequence CRC check;
    Unicast association process specifically includes:
    Step 1, Hub are corresponding value according to SSS, Asso_ctrl domain that needs to set of present communications, select the private key of oneself SKb, calculate PKb=SKb× G, construct Wakeup frames;After Wakeup frames are sent, T-Poll frames are sent to node;
    Step 2, after node receives wake-up association, obtain the configuration information of this secondary association and Hub public key PKb, then select certainly Oneself private key SKaA length of 256 bit, calculate public key PKa=SKa× G, after calculating public key, node calculates the public affairs based on password again Key, PKa'=PKa- Q (PW), Q (PW)=(QX, QY), QX=232×PW+MX;Node is according in the Wakeup frames received Nonce_b and the Nonce_a of itself selection are calculated:
    KMAC_1A=CMAC (Temp_1, Add_a | | Add_b | | Nonce_a | | Nonce_b | | SSS, 64)
    KMAC_2A=CMAC (Temp_1, Add_b | | Add_a | | Nonce_b | | Nonce_a | | SSS, 64);
    Utilize the information PK of above-mentioned calculatinga, KMAC_2A construct the first association request frame, and to Hub send;
    Step 3, after Hub receives the first association request frame, the public key PK of present node is restored firsta=PKa'+Q (PW), Q (PW) =(QX, QY), QX=232×PW+MX;MXTo make QXMeet the minimum nonnegative integer of the point on elliptic curve;Calculate DHKey=X (SKb×PKa)=X (SKa×SKb× G), X () function is the X-coordinate value for taking elliptic curve key here, Temp_1=RMB_ 128 (DHKey), calculated according to the information received and the information being calculated:
    KMAC_1B=CMAC (Temp_1, Add_a | | Add_b | | Nonce_a | | Nonce_b | | SSS, 64)
    KMAC_2B=CMAC (Temp_1, Add_b | | Add_a | | Nonce_b | | Nonce_a | | SSS, 64)
    The KMAC_2A received the and KMAC_2B being calculated, if the same continuing the association of construction second according to KMAC_1B please The step of seeking frame and entering this association request five, cancels this association request if different;
    Step 4, node receive the second association request frame, contrast the KMAC_1A calculated in step 2 and the KMAC_1B received, Cancel this association request if different, if the same into the step of this secondary association five;
    Step 5, node and Hub calculating MK=CMAC (Temp_2, Nonce_a | | Nonce_b, 128) Temp_2=LMB (DHKey) it is, most left 128 of DHKey;Both sides complete to wake up association;
    Multicast association process specifically includes:
    Step 1, Hub are corresponding value according to SSS, Asso_ctrl domain that needs to set of present communications, select the private key of oneself SKb, calculate PKb=SKb×G;The Wakeup frames of broadcast are constructed, and broadcast T-Poll frames, the section of communication in need until receiving The first association request frame that point is sent;
    Step 2, after some node i receives Wakeup frames, according to address choice private key SKai, calculate public key PKai=SKai× G, Calculate the public key based on password, PKai'=PKai-Q(PWi), Q (PWi)=(QX, QY);QX=232×PWi+MX;Select random number Nonce_ai, calculate DHKey=X (SKai×PKb)=X (SKai×SKb× G), Temp_1=RMB_128 (DHKey), node root According to the Wakeup frame informations received and the Nonce_a of itself selectioniCalculate:
    KMAC_1A=CMAC (Temp_1, Add_ai||Add_b||Nonce_ai||Nonce_b||SSS,64)
    KMAC_2A=CMAC (Temp_1, Add_b | | Add_ai||Nonce_b||Nonce_ai||SSS,64)
    The association request frame of joint structure first is simultaneously sent;
    Step 3, after Hub receives the first association request frame of the i-th node, the public key of the i-th node is restored first:PKai=PKai'+Q (PWi), Q (PWi)=(QX, QY), QX=232×PWi+MX, QYFor positive even numbers;Calculate DHKey=X (SKb×PKai)=X (SKai× SKb× G), Temp_1=RMB_128 (DHKey), calculated according to the information received and the information being calculated:
    KMAC_1B=CMAC (Temp_1, Add_ai||Add_b||Nonce_ai||Nonce_b||SSS,64)
    KMAC_2B=CMAC (Temp_1, Add_b | | Add_ai||Nonce_b||Nonce_ai||SSS,64)
    The KMAC_2A received and the KMAC_2B being calculated are contrasted, if the same continuing construction second according to KMAC_1B closes Join claim frame, cancel this association request if different, Hub calculates MK after sending the second association request framei=CMAC (Temp_2,Nonce_ai||Nonce_b,128)
    For Hub and the master key of the i-th node;
    Step 4, the i-th node receive the second association request frame, contrast the KMAC_1A calculated in step 2 and the KMAC_ received 1B, cancel this association request if different, if identical calculations MKi=CMAC (Temp_2, Nonce_ai||Nonce_b, 128)
    For the i-th node and Hub master key.
  2. 2. the method for wireless body area network fast wake-up association as claimed in claim 1, it is characterised in that the wireless body area network is fast The method interior joint that speed wakes up association is to be in notconnect state.
CN201410598609.3A 2014-10-30 2014-10-30 A kind of method of wireless body area network fast wake-up association Active CN104301973B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201410598609.3A CN104301973B (en) 2014-10-30 2014-10-30 A kind of method of wireless body area network fast wake-up association

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410598609.3A CN104301973B (en) 2014-10-30 2014-10-30 A kind of method of wireless body area network fast wake-up association

Publications (2)

Publication Number Publication Date
CN104301973A CN104301973A (en) 2015-01-21
CN104301973B true CN104301973B (en) 2018-02-09

Family

ID=52321483

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410598609.3A Active CN104301973B (en) 2014-10-30 2014-10-30 A kind of method of wireless body area network fast wake-up association

Country Status (1)

Country Link
CN (1) CN104301973B (en)

Families Citing this family (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106034306A (en) * 2016-01-18 2016-10-19 张天宇 A mobile communication network wireless network voice optimization method
CN105534668A (en) * 2016-01-28 2016-05-04 季婷婷 Intelligent surgical nursing monitoring system
CN105892317A (en) * 2016-03-31 2016-08-24 创领心律管理医疗器械(上海)有限公司 Implantable medical device, data outputting and receiving methods thereof and communication mechanism
US10171277B2 (en) 2016-07-14 2019-01-01 Huawei Technologies Co., Ltd. Frame format and design of wake-up frame for a wake-up receiver
US10524304B2 (en) * 2016-07-14 2019-12-31 Huawei Technologies Co., Ltd. MAC frame design of wake-up frame for wake-up receiver
US10445107B2 (en) 2016-07-14 2019-10-15 Huawei Technologies Co., Ltd. Security design for a wake up frame
CN106226262A (en) * 2016-07-15 2016-12-14 西南石油大学 A kind of gas concentration detecting system
CN106302681A (en) * 2016-08-06 2017-01-04 内蒙古大学 A kind of data display server system based on Internet of Things
CN107770848B (en) * 2016-08-15 2020-09-11 华为技术有限公司 Method and apparatus for transmitting wake-up packet in communication system
US10492139B2 (en) 2016-08-31 2019-11-26 Futurewei Technologies, Inc. System and method for secure and quick wake up of a station
CN108012313B (en) * 2016-10-31 2020-12-15 华为技术有限公司 Frame transmission method, equipment and system
US10750451B2 (en) 2017-01-06 2020-08-18 Huawei Technologies Co., Ltd. Methods and devices for sending and receiving wake-up frame
CN108712741B (en) * 2017-04-01 2020-12-04 华为技术有限公司 Method, device and system for awakening device
CN108668344B (en) * 2017-04-01 2021-05-14 华为技术有限公司 Access method, station and access point
CN108810825B (en) * 2017-04-26 2021-12-17 珠海市魅族科技有限公司 Communication method, communication device and communication equipment of wireless local area network
CN108810999B (en) * 2017-05-03 2022-12-09 珠海市魅族科技有限公司 Communication method, communication device and communication equipment of wireless local area network
CN107154876A (en) * 2017-05-18 2017-09-12 贵州斯曼特信息技术开发有限责任公司 A kind of large-scale data based on cloud service platform calculates acceleration system
CN109104756B (en) * 2017-06-21 2021-05-18 华为技术有限公司 Wake-up method, access point and station
CN107396248A (en) * 2017-09-18 2017-11-24 刘圣银 A kind of digital acoustic control bone conduction earphone system based on internet
CN109548120B (en) * 2017-09-22 2022-02-11 珠海市魅族科技有限公司 Communication method and device of wireless local area network, station equipment and access point equipment
CN109698551B (en) * 2017-10-24 2024-10-29 盐城市雷击环保科技有限公司 Intelligent management system for transformer load
CN108038762A (en) * 2017-12-18 2018-05-15 长沙理工大学 A kind of house fitting-up design system
CN108616364A (en) * 2018-05-15 2018-10-02 广西壮族自治区农业科学院 Intelligent seed germination rate evaluation system and method and computer
CN113473297B (en) * 2021-07-01 2024-10-15 深圳市好上好信息科技股份有限公司 Single-wire automatic frequency communication method for Bluetooth equipment
DE202022103689U1 (en) 2022-07-02 2022-08-18 M M Kamruzzaman A network optimization system for wireless body area networks

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103874172A (en) * 2012-12-14 2014-06-18 深圳先进技术研究院 Data transmission method and system in wireless body area network
CN103874171A (en) * 2012-12-14 2014-06-18 深圳先进技术研究院 Data transmitting and receiving methods in human body communication device

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101092051B1 (en) * 2009-10-29 2011-12-12 인하대학교 산학협력단 Network device and network control device in wireless body area network and security wake-up method and wake-up authentication code generating method for the network device and the network control device

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103874172A (en) * 2012-12-14 2014-06-18 深圳先进技术研究院 Data transmission method and system in wireless body area network
CN103874171A (en) * 2012-12-14 2014-06-18 深圳先进技术研究院 Data transmitting and receiving methods in human body communication device

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
Design and Analysis of a MAC Protocol for Wireless Body Area Network using Wakeup Radio;Moshaddique Al Ameen,etc;《ISCIT 2011》;20111231;全文 *

Also Published As

Publication number Publication date
CN104301973A (en) 2015-01-21

Similar Documents

Publication Publication Date Title
CN104301973B (en) A kind of method of wireless body area network fast wake-up association
US10334530B2 (en) Access and power management for centralized networks
CN104205984B (en) The method and apparatus of channel access in Wireless LAN system
US9363836B2 (en) Secure management of radio transmissions in an endpoint device of a network
US10075831B2 (en) Method and apparatus for transmitting and receiving data in mesh network using Bluetooth
TWI531253B (en) Method and system for multi-stage device filtering in a bluetooth low energy device
WO2017124850A1 (en) Method for negotiating about target wakeup time, and access point and station
JP2018201208A (en) System and method for constant connection in radio communication system
US20150244619A1 (en) Communication methods and communication devices
Li et al. Communication energy modeling and optimization through joint packet size analysis of BSN and WiFi networks
CN113613316A (en) Indication method and device of downlink service data
CN103518409B (en) Method and device for selecting a channel according to a device's mobility
KR20120026077A (en) Method and system for managing a body area network using a coordinator device
CN106230645B (en) Low-power-consumption wireless communication method used between monitoring node and convergence gateway
CN101674573A (en) Device and method for secure wake-up of sensor nodes in wireless body area network
CN102413473A (en) A Cooperative Game-Based Intra-cluster Spectrum Allocation Method for Cognitive Sensor Networks
CN108650119A (en) A kind of method and system of Remote configuration terminal device
CN103874171A (en) Data transmitting and receiving methods in human body communication device
CN109151096B (en) Coordinate information-based IPv6 address generation and configuration method for Bluetooth low energy mesh network
Annabel et al. Energy‐Efficient Quorum‐Based MAC Protocol for Wireless Sensor Networks
CN103906172B (en) Low-power consumption micro radio sensing network network-building method based on field use
US11564162B2 (en) Access point wake up
JP2016511583A (en) System and method for power saving of multicast and broadcast data
CN102572821B (en) Broadcast authentication method of low-power-consumption real-time wireless sensor network
CN108712741A (en) A kind of method of wake-up device, equipment and system

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant