主权项 |
一种邻近无线终端间会话密钥的生成方法,其特征在于包括以下步骤:步骤1:主终端根据指定的地理距离范围,初始化邻近范围测试策略参数,主终端广播包含上述邻近范围测试策略参数的会话密钥的建立请求信号,启动会话密钥的建立进程;步骤2:主终端根据邻近范围测试策略参数监听周围无线环境中多个接入节点发送的无线信号,主终端提取、记录接收到的每个数据包的RSSI、数据包的到达时间、数据包的MAC地址和数据包的序列号,其中i表示主终端接收到的第i个无线数据包,并且满足1≤i≤N,N为非无穷大的正整数,表示指定测试时间周期内主终端接收到的数据包的数目;每个数据包的RSSI记为RSSI<sub>i</sub>,数据包的到达时间记为t<sub>i</sub>,数据包的MAC地址记为MAC<sub>i</sub>,数据包的序列号记为SN<sub>i</sub>;步骤3:指定的地理距离范围内的邻近目标无线终端(目标终端)接收会话密钥的建立请求信号后,根据邻近范围测试策略参数监听周围无线环境中多个接入节点发送的无线信号,目标终端提取、记录接收到的每个数据包的RSSI、数据包的到达时间、数据包的MAC地址和数据包的序列号;每个数据包的RSSI记为RSSI<sub>j</sub>,数据包的到达时间记为t<sub>j</sub>,数据包的MAC地址记为MAC<sub>j</sub>,数据包的序列号记为SN<sub>j</sub>,其中j表示目标终端接收到的第j个无线数据包,并且满足1≤j≤N,N表示指定测试时间周期内目标终端接收到的数据包的数目;步骤4:目标终端把接收到的每个数据包的RSSI、数据包的MAC地址,数据包的序列号作为公共位置标识,发送给主终端;每个数据包的RSSI记为RSSI<sub>j</sub>,数据包的MAC地址记为MAC<sub>j</sub>,数据包的序列号记为SN<sub>j</sub>,其中j表示目标终端接收到的第j个无线数据包,并且满足1≤j≤N,N表示指定测试时间周期内目标终端接收到的数据包的数目;步骤5:主终端接收到目标终端的公共位置标识,获得目标终端接收到的每个数据包的物理层信息MAC<sub>j</sub>、SN<sub>j</sub>,1≤j≤N;步骤6:主终端搜索自己接收到的每个数据包的物理层信息MAC<sub>i</sub>、SN<sub>i</sub>,1≤i≤N与到达目标终端的每个数据包的物理层信息MAC<sub>j</sub>、SN<sub>j</sub>,1≤j≤N作对比,找到满足MAC<sub>i</sub>=MAC<sub>j</sub>、SN<sub>i</sub>=SN<sub>j</sub>,1≤i,j≤N的数据包即主终端和目标终端的共享数据包,将共享数据包在主终端处的序号i加到共享数据包目录I中,将共享数据包在目标终端处的序号j加到共享数据包目录J中;步骤7:主终端将共享数据包目录J发送给目标终端;步骤8:主终端根据共享数据包目录I中的数据包序号,将最小序号对应的数据包的接收时间作为主终端的时间参考起点,将其它序号对应的数据包的接收时间减去主终端的时间参考起点,再以0.01的精度舍入,得到主终端的会话密钥;步骤9:目标终端根据接收到的共享数据包目录J中的数据包序号,将最小序号对应的数据包的接收时间作为目标终端的时间参考起点,将其它序号对应的数据包的接收时间减去目标终端的时间参考起点,再以0.01的精度舍入,得到目标终端的会话密钥。 |