CN109347628B - 一种基于物理层信道特征的轻量级动态安全加密方法 - Google Patents
一种基于物理层信道特征的轻量级动态安全加密方法 Download PDFInfo
- Publication number
- CN109347628B CN109347628B CN201811152678.6A CN201811152678A CN109347628B CN 109347628 B CN109347628 B CN 109347628B CN 201811152678 A CN201811152678 A CN 201811152678A CN 109347628 B CN109347628 B CN 109347628B
- Authority
- CN
- China
- Prior art keywords
- recipient
- module
- sender
- turn
- key
- 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
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0816—Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
- H04L9/0838—Key agreement, i.e. key establishment technique in which a shared key is derived by parties as a function of information contributed by, or associated with, each of these
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/06—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
- H04L9/0618—Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
- H04L9/0631—Substitution permutation network [SPN], i.e. cipher composed of a number of stages or rounds each involving linear and nonlinear transformations, e.g. AES algorithms
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0816—Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
- H04L9/0852—Quantum cryptography
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0861—Generation of secret information including derivation or calculation of cryptographic keys or passwords
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Physics & Mathematics (AREA)
- Electromagnetism (AREA)
- Theoretical Computer Science (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种基于物理层信道特征的轻量级动态安全加密方法,目的是提高物联网节点通信的安全性。技术方案是构建由发送方和接收方组成的基于物理层信道特征的轻量级动态安全加密架构,发送方和接收方均安装有信道测量模块、量化模块、密钥协商模块、加密模块和数据处理模块。信道测量模块生成信道参数序列;量化模块对信道参数序列进行量化,得到原始密钥序列;密钥协商模块对原始密钥序列进行一致性的密钥协商,生成一致性安全密钥;加密模块使用一致性安全密钥对数据处理模块获得的明文进行加密通信。采用本发明可解决物联网设备通信加密时的复杂性、难度大、泄密风险大等问题,有效提高物联网节点通信的安全性。
Description
技术领域
本发明涉及物联网安全通讯领域,特别涉及一种基于物理层信道特征RSSI(Received Signal Strength Indication,接收信号强度指示)的轻量级动态安全加密方法。
背景技术
随着物联网技术的高速发展,规模庞大的物联网系统部署在城市建设、工业控制、智能生活等众多方面,极大的提高了工作效率,降低了劳动成本。但与此同时物联网系统的节点众多、覆盖范围广泛等特性导致物联网安全问题十分突出。无线通信的固有广播特性允许物联网系统覆盖范围内的任何设备进行数据的接收,从而导致攻击者发起各种被动攻击(如窃听,流量分析和监控等)或执行主动攻击(如干扰,欺骗,修改,重放和拒绝服务)等,这就对无线信道信息进行加密传输提出了需求。
无线通信加密的传统方案是以高复杂度算法为基础,保证攻击者破解密码系统所花费的时间远大于信息的有效时间。然而,传统加密方案存在着如下技术问题:
1)传统加密方案的安全性建立在已有复杂数学问题基础上,如大素数分解等,而随着硬件技术的发展尤其是量子计算的出现,使得加密信息在失效前被破译出来成为可能;
2)需要一个可信第三方来进行密钥的分发,这在物联网系统的多节点部署条件下实现难度大,同时增加了信息泄露的风险性。
3)要求通信设备的计算速度快,存储空间大。
鉴于此,如何提供一种物理层信道特征的轻量级动态安全加密方法,解决物联网设备通信加密时的复杂性、难度大、泄密风险大等问题,有效提高物联网节点通信的安全性成为本领域研究人员亟待解决的问题。
发明内容
本发明要解决的技术问题是提出一种基于物理层信道特征的轻量级动态安全加密方法,充分利用物联网节点间在公开信道交换数据产生的信道参数,量化协商出一致性通讯密钥,解决物联网设备通信加密时的复杂性、难度大、泄密风险大等问题,有效提高物联网节点通信的安全性。
本发明的技术方案是:
第一步,构建基于物理层信道特征的轻量级动态安全加密架构。基于物理层信道特征的轻量级动态安全加密架构由发送方和接收方组成,发送方和接收方通过数据包的传递,协商获得通信密钥。发送方和接收方既可以是终端节点,又可以是网关这样的网络设备。发送方和接收方均安装有信道测量模块、量化模块、密钥协商模块、加密模块和数据处理模块。
发送方的信道测量模块与接收方的信道测量模块、发送方的量化模块相连,该模块向接收方的信道测量模块发送探测数据包,从接收方的信道测量模块接收响应数据包,通过解析响应数据包获得发送方的信道参数序列,向发送方的量化模块发送发送方的信道参数序列。
接收方的信道测量模块与发送方的信道测量模块、接收方的量化模块相连;该模块从发送方的信道测量模块接收探测数据包,向发送方的信道测量模块发送响应数据包;该模块通过解析探测数据包获得接收方的信道参数序列,并向接收方的量化模块发送接收方的信道参数序列。
发送方的量化模块与接收方的量化模块、发送方的信道测量模块、密钥协商模块相连,该模块从发送方的信道测量模块接收发送方的信道参数序列,采用自适应多比特算法(参见文献“Mathur S,Trappe W,Mandayam N,et al.Radio-telepathy:extracting asecret key from an unauthenticated wireless channel.ACM InternationalConference on Mobile Computing and NETWORKING.ACM,2008”.译为:无线电:从未经验证的无线信道中提取密钥,在2008年ACM移动计算和网络国际会议上发表,自适应多比特算法见该文献第四章第1节第5到6页)将发送方的信道参数序列量化为0、1比特形式的第一原始密钥序列,将第一原始密钥序列发送给发送方的密钥协商模块;发送方的量化模块将第一原始密钥序列经过筛选后得到的第一中心位置索引序列L,将L发送给接收方的量化模块,并从接收方的量化模块接收第二中心位置索引序列L’。
接收方的量化模块与发送方的量化模块、接收方的信道测量模块、密钥协商模块相连。该模块从接收方的信道测量模块接收接收方的信道参数序列,采用自适应多比特算法将接收方的信道参数序列量化为0、1比特形式的第二原始密钥序列,将第二原始密钥序列发送给接收方的密钥协商模块。接收方的量化模块从发送方的量化模块接收L,通过对L筛选得到符合接收方信道参数序列特征的第二中心位置索引序列L’,并将L’发送给发送方的量化模块。
发送方的密钥协商模块与接收方的密钥协商模块、发送方的量化模块、加密模块相连,该模块从发送方的量化模块接收第一原始密钥序列,消除第一原始密钥序列中的不一致比特,生成第一一致性安全密钥,将第一一致性安全密钥发送给发送方的加密模块。发送方的密钥协商模块将第一原始密钥序列进行分组,将每个分组的异或结果发送给接收方的密钥协商模块。
接收方的密钥协商模块与发送方的密钥协商模块、接收方的量化模块、加密模块相连,该模块从接收方的量化模块接收第二原始密钥序列,消除第二原始密钥序列中的不一致比特,生成第二一致性安全密钥,将第二一致性密钥发送给接收方的加密模块。接收方的密钥协商模块将第二原始密钥序列进行分组后计算分组的异或结果,与从发送方接收到的第一原始密钥序列每个分组的异或结果进行对比,根据对比结果进行纠错。
发送方的数据处理模块与发送方的加密模块相连,该模块从输入设备或传感器获得明文,将明文发送给发送方的加密模块。
发送方的加密模块与发送方的密钥协商模块、发送方的数据处理模块、接收方的加密模块相连,该模块从发送方的密钥协商模块接收第一一致性安全密钥;从发送方的数据处理模块接收明文;发送方的加密模块使用第一一致性安全密钥将明文加密获得密文,将密文发送给接收方的加密模块。
接收方的加密模块与接收方的密钥协商模块、接收方的数据处理模块、发送方的加密模块相连,该模块从接收方的密钥协商模块接收第二一致性安全密钥;从发送方的加密模块接收密文;接收方的加密模块采用第二一致性安全密钥将密文进行解密得到明文,将明文发送给接收方的数据处理模块。
接收方的数据处理模块与接收方的加密模块相连,该模块从接收方的加密模块接收明文。
第二步,信道测量模块生成信道参数序列。方法是:
2.1发送方的信道测量模块和接收方的信道测量模块同时进行初始化工作,发送方信道测量模块按2.1.1进行,接收方的信道测量模块按2.1.2进行:
2.1.1发送方的信道测量模块将发送信道参数序列ha初始化为空队列,ha长度为NR,NR为信道参数序列长度,为正整数,令ha的第nA项表示为ha[nA],0<nA≤NR;初始化nA=1;一般NR=5000;
2.1.2接收方的信道测量模块将接收信道参数序列hb初始化为空队列,hb长度也为NR,令hb的第nB项表示为hb[nB],0<nB≤NR;初始化nB=1;
2.2发送方的信道测量模块向接收方的信道测量模块发送探测数据包,探测数据包(即IEEE802.11无线网络标准的802.11数据包)格式为Beacon帧,包括数据包头部、帧体,数据包头部包括帧类型、帧控制、目的地址、源地址、AP的MAC地址、分片号、序列号,帧体包括时间戳、重传间隔、容量信息、服务集标识;
2.3接收方的信道测量模块从发送方的信道测量模块接收探测数据包,接收方的信道测量模块在收到探测数据包时,接收方的网卡在数据包头部附加Radiotap Header(无线信号信息)包括时间戳、传输速率、信号强度、信道频率),将Radiotap Header中的信号强度字段存储到信道参数hb[nB]中;
2.4接收方的信道测量模块向发送方的信道测量模块发送响应数据包,响应数据包与探测数据包的格式一致,但源地址和目的地址与探测数据包的相反,即源地址是探测数据包的目的地址,目的地址是探测数据包的源地址。
2.5发送方的信道测量模块从接收方的信道测量模块接收响应数据包,并将响应数据包Radiotap Header中的信号强度字段存储到信道参数ha[nA]中;
2.6若nA<NR,令nA=nA+1,nB=nB+1,转步骤2.2;若nA=NR,转第三步。
第三步,量化模块采用自适应多比特算法对信道参数序列进行量化,得到原始密钥序列,具体方法为:
3.1.发送方的量化模块解析ha,通过量化长度m、量化阈值qA+和qA-对ha进行筛选,得到第一中心位置索引序列L;其中m为正整数,2≤m≤NR,qA+=meanA+α·σA,qA-=meanA-α·σA,meanA是ha中所有元素的平均值,α是自定义参数,取值范围0<α<1,σA是ha中所有元素的标准差。筛选的具体流程为:
3.1.1发送方的量化模块初始化开始循环变量istart和结束循环变量iend为1,初始化L为空队列,令L长度为NL,
NL为正整数。令L的第jA项表示为L[jA],0<jA≤NL;初始化jA=1;
3.1.2若NR-iend<m,说明ha遍历结束,转3.2;若NR-iend>m,根据ha[iend]的情况进行判定:若ha[iend]>qA+,说明ha[iend]符合筛选条件,iend=iend+1,转3.1.3;若qA-≤ha[iend]≤qA+,说明ha[iend]不符合筛选条件,转3.1.4;若ha[iend]<qA-,说明ha[iend]符合筛选条件,iend=iend+1,转3.1.5;
3.1.3若iend-istart=m,说明在ha中istart到iend范围内的连续m个值都大于量化阈值qA+,满足筛选条件,将istart和iend中值进行保存到L[jA]中,令jA=jA+1,转3.1.4;若iend-istart<m并且ha[iend]>qA+,说明ha[iend]符合筛选条件,令iend=iend+1,转3.1.3;若iend-istart<m且ha[iend]≤qA+,说明ha[iend]不符合筛选条件,转3.1.4;
3.1.4令iend=iend+1,istart=iend,转3.1.2;
3.1.5如果iend-istart=m,说明在ha中istart到iend范围内的连续m个值都小于量化阈值qA-,满足筛选条件,转3.1.6,将istart和iend中值进行保存到L[jA]中,令jA=jA+1,转3.1.4;若iend-istart<m并且ha[iend]<qA-,说明ha[iend]符合筛选条件,令iend=iend+1,转3.1.5;如果iend-istart<m并且ha[iend]≥qA-,说明ha[iend]不符合筛选条件,转3.1.4;
3.2.发送方的量化模块将L发送给接收方的量化模块;
3.3.接收方的量化模块解析hb,通过m、qB+和qB-(qB+=meanB+α·σB,qB-=meanB-α·σB,meanB是hb的平均值,σB是hb的标准差)对L进行筛选,得到符合hb特征的第二中心位置索引序列L’,方法为:
3.3.1接收方的量化模块初始化L的位置序号jB1为1,初始化L’为空队列,L′长度为NL′,NL′为正整数。令L′的第jB2项表示为L′[jB2],0<jB2≤NL′;初始化jB2=1;
3.3.2令序列开始变量令序列结束变量 表示对xx下取整,x为实数。如果hb[lbegin]>qB+,说明hb[lbegin]这满足筛选条件,转3.3.3以判断hb[lbegin+1]是否>qB+;如果qB-≤hb[lbegin]≤qB+,说明hb[lbegin]不满足筛选条件,转3.3.7进行下一步判断;如果hb[lbegin]<qB-,说明hb[lbegin]满足筛选条件,转3.3.5以判断hb[lbegin+1]是否<qB-;
3.3.3如果lbegin=lend,说明L[jB1]可以保留,转3.3.8;如果lbegin≠lend,令lbegin=lbegin+1,转3.3.4;
3.3.4如果hb[lbegin]>qB+,转3.3.3;如果hb[lbegin]≤qB+,说明L[jB1]不满足筛选条件,转3.3.7;
3.3.5如果lbegin=lend,说明L[jB1]可以保留,转3.3.8;如果lbegin≠lend,令lbegin=lbegin+1,转3.3.6;
3.3.6如果hb[lbegin]<qB-,转3.3.5;如果hb[lbegin]≥qB-,说明L[jB1]不满足筛选条件,转3.3.7;
3.3.7如果jB1=NL,说明L遍历结束,得到L′,转3.4;如果jB1≠NL,令jB1=jB1+1,转3.3.2;
3.3.8令L’[jB2]=L[jB1],jB2=jB2+1,转3.3.7;
3.4接收方的量化模块根据L′对hb进行量化,生成第二原始密钥序列KB,方法为:
3.4.1接收方的量化模块定义第一量化函数初始化L’位置循环变量pB为1,初始化第二原始密钥序列KB为空队列;
3.4.2如果pB=NL′,说明得到KB,转3.5。如果pB≠NL′,令KB[pB]=Q(hb[L′[pB]])(即使用量化函数Q(×)将hb中存在于L′中的位置进行量化,得到KB[pB]),令pB=pB+1,转3.4.2;
3.5接收方的量化模块将L’发送给发送方的量化模块;
3.6发送方的量化模块根据L’对ha进行量化,生成第一原始密钥序列KA,方法为:
3.6.1发送方的量化模块定义第二量化函数初始化第二L’位置循环变量pA为1,初始化第一原始密钥序列KA为空队列;
3.6.2如果pA=NL′,说明得到KA,转3.7;如果pA≠NL′,令KA[pA]=Q‘(ha[L′[pA]]),pA=PA+1,转3.6.2;
3.7发送方的量化模块将KA发送给发送方的密钥协商模块,同时接收方的量化模块将KB发送给接收方的密钥协商模块。
第四步,发送方和接收方的密钥协商模块对KA和KB原始密钥序列进行一致性的密钥协商,生成一致性安全密钥,具体方法是:
4.1发送方的密钥协商模块对KA进行分组,分组长度为k1,k1为正整数(通过统计量化结果KA和KB中的差错比例,在不同的场景中差错比例不一致,取一个平均比例ratio=错误比特数/所有比特数(错误比特数指发送方和量化后的原始密钥与接收方量化后的原始密钥中不一致的比特数;所有比特数指量化后的原始密钥的长度即比特数(发送方和接收方的所有比特数相同)),),分组数V为 表示对xL取整,初始化分组号循环变量vA=1;同时接收方的密钥协商模块对KB进行分组,分组长度也为k1,分组数同样为V,初始化分组号循环变量vB=1;
4.2如果vA>V,转4.5;如果vA≤V,发送方的密钥协商模块计算序号为vA的分组的组内元素异或结果 同时接收方的密钥协商模块计算序号为vB的分组的组内元素异或结果
4.3发送方的密钥协商模块将vA1发送给接收方的密钥协商模块;
4.4接收方的密钥协商模块判断vA1是否等于vB1。如果vA1=vB1,令vA=vA+1,vB=vB+1,转4.2;如果vA1≠vB1,说明序号为vB的分组存在错误比特,采用二分纠错方法对KB的分组长度为k1的第vB个分组进行纠错,方法为:
4.4.1.接收方的密钥协商模块采用序列B存储方法将KB的序号为vB的分组以二进制密钥序列B的形式进行存储,B={B1,B2,…Bn1…BN},Bn1表示一位二进制密钥,n1为序列B中元素的序号,为正整数,1≤n1≤N,)N指序列B中元素的个数,当NL′%k1=0时,N=k1,当NL′%k1≠0时,N=NL′%k1,序列B存储方法具体步骤为:
4.4.1.1初始化n1=1;
4.4.1.2如果vB≠V,转4.4.1.3;如果vB=V并且NL′%k1=0,转4.4.1.3;如果vB=V并且NL′%k1≠0,转4.4.1.4;
4.4.1.3如果n1=k1,转4.4.2,如果n1<k1,令Bn1=KB[(vB-1)*k1+n1],n1=n1+1,转4.4.1.3;
4.4.1.4如果n1=NL′%k1,转4.4.2,如果n1<NL′%k1,Bn1=KB[(vB-1)*k1+n1],n1=n1+1,转4.4.1.4;
4.4.2发送方的密钥协商模块采用序列A存储方法将KA的序号为vA的分组以二进制密钥序列A的形式进行存储,A={A1,A2,…An2…AN},An2表示一位二进制密钥,n2为序列A中元素的序号,为正整数,1≤n2≤N初始化。序列A存储方法具体步骤为:
4.4.2.1初始化n2=1;
4.4.2.2如果vA≠V,转4.4.2.3;如果vA=V并且NL′%k1=0,转4.4.2.3;如果vA=V并且NL′%k1≠0,转4.4.2.4;
4.4.2.3如果n2=k1,转4.4.3,如果n2<k1,令An2=KA[(vA-1)*k1+n2],n2=n2+1,转4.4.2.3;
4.4.2.4如果vA=NL′%k1,转4.4.3,如果n2<NL′%k1,令An2=KA[(vA-1)*k1+n2],n2=n2+1,转4.4.2.4;
4.4.3接收方的密钥协商模块初始化二分纠错第一变量low=1,二分纠错第二变量high=N;
4.4.4如果low=high,转4.4.7;如果low<high,接收方的密钥协商模块计算分组内异或结果并将low和high发送给发送方的密钥协商模块;
4.4.5发送方的密钥协商模块计算分组内异或结果将XORA发送给接收方的密钥协商模块;
4.4.6接收方的密钥协商模块判断XORA和XORB是否相等,如果XORA=XORB,令转4.4.4;如果XORA≠XORB,令转4.4.4;
4.4.7把KB[vA×k1+low]进行0,1取反操作(取反是0,1互换),令vA=vA+1,vB=vB+1,转4.2;
4.5接收方的密钥协商模块设置纠错的总轮数为n(n为大于1的整数),初始化纠错进行的轮数标志i=2,初始化纠错分组集合Φi为空,纠错分组集合内位置标志Bφi为0;
4.6接收方的密钥协商模块使用随机排序函数y=fi(x)(参见文献“Cascade密钥协商的改进方案”,贾仁庆2016年发表于计算机技术与发展第11期,第一章第2节,第2页)将KB进行重新排序,KB排序后记为KBi,即KBi=fi(KB)。
同时发送方的密钥协商模块使用随机函数y=fi(x)将KA进行重新排序,KA排序后记为KAi,即KAi=fi(KA);
4.7发送方的密钥协商模块对KAi行分组,分组长度为ki(ki=2ki-1),分组数V为令分组号循环变量vA=1;同时接收方的密钥协商模块对原始密钥序列KBi进行分组,分组长度为ki,分组数同样为V;令分组号循环变量vB=1;
4.8如果vA>V,转4.11;如果vA≤V,发送方的密钥协商模块计算分组vA的组内元素异或结果同时接收方的密钥协商模块计算分组vB的组内元素异或结果 转4.9;
4.9发送方的密钥协商模块将vAi发送给接收方的密钥协商模块;
4.10接收方的密钥协商模块判断vAi是否等于vBi。如果vAi=vBi,令vA=vA+1,vB=vB+1,转4.8。如果vAi≠vBi,说明分组内存在错误比特,采用二分纠错方法对KBi的分组长度为ki的第vB个分组进行纠错,并将纠错位置添加到回溯纠错序列,方法为:
4.10.1.接收方的密钥协商模块采用序列B存储方法将KBi的序号为vB的分组以二进制密钥序列B的形式存储,组得到B={B1,B2,…Bn1…Bn};
4.10.2发送方的密钥协商模块采用序列A存储方法将KAi的序号为vA的分组以二进制密钥序列A的形式存储,得到组组A={A1,A2,…An2…AN}。
4.10.3接收方的密钥协商模块令low=1,high=N。
4.10.4如果low=high,转4.10.7;如果low<high,接收方的密钥协商模块计算并将low和high发送给发送方的密钥协商模块;
4.10.5发送方的密钥协商模块计算并将XORA发送给接收方的密钥协商模块;
4.10.6接收方的密钥协商模块判断XORA和XORB是否相等,如果XORA=XORB,令转4.10.4;如果XORA≠XORB,令转4.10.4;
4.10.7把KBi[vA×ki+low]进行取反操作,vA=vA+1,vB=vB+1,Φi[Bφi]=vA×ki+low,Bφi=Bφi+1,转4.8;
4.11如果i=n,转4.12;如果i<n,令i=i+1,转4.6;
4.12接收方的密钥协商模块初始化回溯循环变量iback=0;
4.13接收方的密钥协商模块判断i是否等于1,如果i=1,转4.15;如果i>1,令iback=0,使用随机排序函数y=fi(x)的逆函数x=fi -1(y)将接收方第i轮密钥KBi恢复为第i-1轮密钥KB(i-1),同时发送方的密钥协商模块使用x=fi -1(y)将发送方第i轮密钥KAi恢复为第i-1轮密钥KA(i-1)转4.14;
4.14接收方的密钥协商模块判断是否将Φi纠错完毕,如果iback>Bφi,令i=i-1,转4.13;如果iback≤Bφi,记yi=fi -1(Φi[iback]),yi是Φi[iback]在i-1轮中的位置,令令采用二分纠错方法对KB(i-1)的分组长度为ki-1的第vB组进行纠错,并将纠错位置补充回溯纠错序列,方法为:
4.14.1的组内容进行存储,即令接收方的密钥协商模块采用序列B存储方法将KBi的序号为vB的分组以二进制密钥序列B的形式存储,得到B={B1,B2,…Bn1…Bn};
4.14.2的第组内容存储为发送方的密钥协商模块采用序列A存储方法将KAi的序号为vA的分组以二进制密钥序列A的形式存储,得到A={A1,A2,…An2…AN}。4.14.3接收方的密钥协商模块设置low=1,设置high=N;
4.14.4如果low=high,转4.14.7;如果low<high,接收方的密钥协商模块计算并将low和high发送给发送方的密钥协商模块;
4.14.5发送方的密钥协商模块计算将XORA发送给接收方的密钥协商模块;
4.14.6接收方的密钥协商模块判断XORA和XORB是否相等,如果XORA=XORB,转4.14.4;如果XORA≠XORB,转4.14.4;
4.14.7把KBi[vA×ki+low]进行取反操作,Φi[Bφi]=vA×ki+low,Bφi=Bφi+1,iback=iback+1,转4.14;
4.15接收方的密钥协商模块将KBi记为第二一致性安全密钥KB,将KB发送给接收方的加密模块;同时发送方的密钥协商模块将第一一致性安全密钥KA发送给发送方的加密模块。
第五步,发送方和接收方的加密模块使用一致性安全密钥对数据处理模块获得的明文进行加密通信,具体方法是:
5.1发送方的数据处理模块从输入设备或传感器获得明文M,将明文M发送给发送方的加密模块。
5.2发送方的加密模块将明文M转换为二进制明文Mbin,读取Mbin的位数,将该位数命名记为Mlength。Mlength为正整数。令Mbin的第mA项表示为Mbin[mA],0<mA≤Mlength;初始化mA=1;初始化加密后的密文Cip为空队列,长度为NC。令Cip的第cA项表示为Cip[cA],0<cA≤NLA;初始化cA=1;令pA=1;
5.3发送方的加密模块对明文Mbin进行加密,方法为:
5.3.1发送方的加密模块比较Mlength和密钥长度NL′的大小,如果Mlength≤NL′,转5.3.2;如果Mlength>NL′,转5.3.3;
5.3.2如果mA=Mlength+1,转5.4;如果mA<Mlength+1, 转5.3.2。
5.3.3如果mA=Mlength+1,转5.4;如果mA<Mlength+1, 转5.3.4。
5.3.4如果pA=L’lengthA+1,pA=1,转5.3.3。
5.4发送方的加密模块将密文Cip发送给接收方的加密模块。
5.5接收方的加密模块读取密文Cip的位数,将Cip的位数记为Ciplength,令Cip的第cB项表示为Cip[cB],0<cB≤Ciplength,初始化cB=1。初始化解密后得到的二进制明文Mbin2为空,长度为Ciplength,令Mbin2的第mB项表示为Mbin2[mB],0<mB≤Ciplength,初始化mB=1,令pB=1;
5.6接收方的加密模块对密文Cip使用KB进行解密,得到二进制明文Mbin2,方法为:
5.6.1接收方的加密模块比较Ciplength和密钥长度NL′的大小,如果Ciplength≤NL′,转5.6.2;如果Ciplength>NL′,转5.6.3。
5.6.2如果cB=Ciplength+1,转5.7;如果 转5.6.2。
5.6.3如果cB=Ciplength+1,转5.7;如果cB<Ciplength+1, 转5.6.4。
5.6.4如果pB=NL′+1,pB=1,转5.6.3。
5.7接收方的加密模块将Mbin2转为明文M,将明文发送给接收方的数据处理模块;
5.8接收方的数据处理模块从接收方的加密模块接收明文,通信结束。转为采用本发明可以达到以下技术效果:
1.本发明第一步构建基于物理层信道特征的轻量级安全加密架构;第二步中完成了对接收信号强度的提取,获取信道参数序列;第三步中采用自适应多比特量化算法将信道参数序列量化为原始密钥序列;第四步中将原始密钥序列进行密钥协商生成为一致性通讯密钥;第五步中使用一致性通讯密钥采用一次一密的方式进行加密通信,解决了物联网设备通信加密时的复杂性、难度大、泄密风险大等问题,有效提高物联网节点通信的安全性。
2.本发明与物联网加密通信的传统方案相比,不需要第三方进行密钥的分发,通过实时更新密钥,使用一次一密的加密方法,对于物联网设备的计算和存储能力要求低,提升了物联网节点通信的安全性。
附图说明
图1为本发明第一步基于物理层信道特征的轻量级安全加密架构逻辑结构图;
图2为本发明总体流程图;
具体实施方式
图2为本发明的总体流程图;本发明包括以下步骤:
第一步,构建如图1所示的基于物理层信道特征的轻量级动态安全加密架构。如图1所示,基于物理层信道特征的轻量级安全加密架构由发送方和接收方组成,发送方和接收方通过数据包的传递,协商获得通信密钥。发送方和接收方既可以是终端节点,又可以是网关这样的网络设备。发送方和接收方均安装有信道测量模块、量化模块、密钥协商模块、加密模块和数据处理模块。
发送方的信道测量模块与接收方的信道测量模块、发送方的量化模块相连,该模块向接收方的信道测量模块发送探测数据包,从接收方的信道测量模块接收响应数据包,通过解析响应数据包获得发送方的信道参数序列,向发送方的量化模块发送发送方的信道参数序列。
接收方的信道测量模块与发送方的信道测量模块、接收方的量化模块相连;该模块从发送方的信道测量模块接收探测数据包,向发送方的信道测量模块发送响应数据包;该模块通过解析探测数据包获得接收方的信道参数序列,并向接收方的量化模块发送接收方的信道参数序列。
发送方的量化模块与接收方的量化模块、发送方的信道测量模块、密钥协商模块相连,该模块从发送方的信道测量模块接收发送方的信道参数序列,采用自适应多比特算法将发送方的信道参数序列量化为0、1比特形式的第一原始密钥序列,将第一原始密钥序列发送给发送方的密钥协商模块;发送方的量化模块将第一原始密钥序列经过筛选后得到的第一中心位置索引序列L,将L发送给接收方的量化模块,并从接收方的量化模块接收第二中心位置索引序列L’。
接收方的量化模块与发送方的量化模块、接收方的信道测量模块、密钥协商模块相连。该模块从接收方的信道测量模块接收接收方的信道参数序列,采用自适应多比特算法将接收方的信道参数序列量化为0、1比特形式的第二原始密钥序列,将第二原始密钥序列发送给接收方的密钥协商模块。接收方的量化模块从发送方的量化模块接收L,通过对L筛选得到符合接收方信道参数序列特征的第二中心位置索引序列L’,并将L’发送给发送方的量化模块。
发送方的密钥协商模块与接收方的密钥协商模块、发送方的量化模块、加密模块相连,该模块从发送方的量化模块接收第一原始密钥序列,消除第一原始密钥序列中的不一致比特,生成第一一致性安全密钥,将第一一致性安全密钥发送给发送方的加密模块。发送方的密钥协商模块将第一原始密钥序列进行分组,将每个分组的异或结果发送给接收方的密钥协商模块。
接收方的密钥协商模块与发送方的密钥协商模块、接收方的量化模块、加密模块相连,该模块从接收方的量化模块接收第二原始密钥序列,消除第二原始密钥序列中的不一致比特,生成第二一致性安全密钥,将第二一致性密钥发送给接收方的加密模块。接收方的密钥协商模块将第二原始密钥序列进行分组后计算分组的异或结果,与从发送方接收到的第一原始密钥序列每个分组的异或结果进行对比,根据对比结果进行纠错。
发送方的数据处理模块与发送方的加密模块相连,该模块从输入设备或传感器获得明文,将明文发送给发送方的加密模块。
发送方的加密模块与发送方的密钥协商模块、发送方的数据处理模块、接收方的加密模块相连,该模块从发送方的密钥协商模块接收第一一致性安全密钥;从发送方的数据处理模块接收明文;发送方的加密模块使用第一一致性安全密钥将明文加密获得密文,将密文发送给接收方的加密模块。
接收方的加密模块与接收方的密钥协商模块、接收方的数据处理模块、发送方的加密模块相连,该模块从接收方的密钥协商模块接收第二一致性安全密钥;从发送方的加密模块接收密文;接收方的加密模块采用第二一致性安全密钥将密文进行解密得到明文,将明文发送给接收方的数据处理模块。
接收方的数据处理模块与接收方的加密模块相连,该模块从接收方的加密模块接收明文。
第二步,信道测量模块生成信道参数序列。方法是:
2.1发送方的信道测量模块和接收方的信道测量模块同时进行初始化工作,发送方信道测量模块按2.1.1进行,接收方的信道测量模块按2.1.2进行:
2.1.1发送方的信道测量模块将发送信道参数序列ha初始化为空队列,ha长度为NR,NR为信道参数序列长度,为正整数,令ha的第nA项表示为ha[nA],0<nA≤NR;初始化nA=1;
2.1.2接收方的信道测量模块将接收信道参数序列hb初始化为空队列,hb长度也为NR,令hb的第nB项表示为hb[nB],0<nB≤NR;初始化nB=1;
2.2发送方的信道测量模块向接收方的信道测量模块发送探测数据包;
2.3接收方的信道测量模块从发送方的信道测量模块接收探测数据包,接收方的信道测量模块在收到探测数据包时,接收方的网卡在数据包头部附加Radiotap Header(无线信号信息)包括时间戳、传输速率、信号强度、信道频率),将Radiotap Header中的信号强度字段存储到信道参数hb[nB]中;
2.4接收方的信道测量模块向发送方的信道测量模块发送响应数据包,响应数据包与探测数据包的格式一致,但源地址和目的地址与探测数据包的相反,即源地址是探测数据包的目的地址,目的地址是探测数据包的源地址。
2.5发送方的信道测量模块从接收方的信道测量模块接收响应数据包,并将响应数据包Radiotap Header中的信号强度字段存储到信道参数ha[nA]中;
2.6若nA<NR,令nA=nA+1,nB=nB+1,转步骤2.2;若nA=NR,转第三步。
第三步,量化模块采用自适应多比特算法对信道参数序列进行量化,得到原始密钥序列,具体方法为:
3.1.发送方的量化模块解析ha,通过量化长度m、量化阈值qA+和qA-对ha进行筛选,得到第一中心位置索引序列L;其中m为正整数,2≤m≤NR,qA+=meanA+α·σA,qA-=meanA-α·σA,meanA是ha中所有元素的平均值,α是自定义参数,取值范围0<α<1,σA是ha中所有元素的标准差。筛选的具体流程为:
3.1.1发送方的量化模块初始化开始循环变量istart和结束循环变量iend为1,初始化L为空队列,令L长度为NL,
NL为正整数。令L的第jA项表示为L[jA],0<jA≤NL;初始化jA=1;
3.1.2若NR-iend<m,说明ha遍历结束,转3.2;若NR-iend>m,根据ha[iend]的情况进行判定:若ha[iend]>qA+,说明ha[iend]符合筛选条件,iend=iend+1,转3.1.3;若qA-≤ha[iend]≤qA+,说明ha[iend]不符合筛选条件,转3.1.4;若ha[iend]<qA-,说明ha[iend]符合筛选条件,iend=iend+1,转3.1.5;
3.1.3若iend-istart=m,说明在ha中istart到iend范围内的连续m个值都大于量化阈值qA+,满足筛选条件,将istart和iend中值进行保存到L[jA]中,令jA=jA+1,转3.1.4;若iend-istart<m并且ha[iend]>qA+,说明ha[iend]符合筛选条件,令iend=iend+1,转3.1.3;若iend-istart<m且ha[iend]≤qA+,说明ha[iend]不符合筛选条件,转3.1.4;
3.1.4令iend=iend+1,istart=iend,转3.1.2;
3.1.5如果iend-istart=m,说明在ha中istart到iend范围内的连续m个值都小于量化阈值qA-,满足筛选条件,转3.1.6,将istart和iend中值进行保存到L[jA]中,令jA=jA+1,转3.1.4;若iend-istart<m并且ha[iend]<qA-,说明ha[iend]符合筛选条件,令iend=iend+1,转3.1.5;如果iend-istart<m并且ha[iend]≥qA-,说明ha[iend]不符合筛选条件,转3.1.4;
3.2.发送方的量化模块将L发送给接收方的量化模块;
3.3.接收方的量化模块解析hb,通过m、qB+和qB-(qB+=meanB+α·σB,qB-=meanB-α·σB,meanB是hb的平均值,σB是hb的标准差)对L进行筛选,得到符合hb特征的第二中心位置索引序列L’,方法为:
3.3.1接收方的量化模块初始化L的位置序号jB1为1,初始化L’为空队列,L′长度为NL′,NL′为正整数。令L′的第jB2项表示为L′[jB2],0<jB2≤NL′;初始化jB2=1;
3.3.2令序列开始变量令序列结束变量 表示对xx下取整,x为实数。如果hb[lbegin]>qB+,说明hb[lbegin]这满足筛选条件,转3.3.3以判断hb[lbegin+1]是否>qB+;如果qB-≤hb[lbegin]≤qB+,说明hb[lbegin]不满足筛选条件,转3.3.7进行下一步判断;如果hb[lbegin]<qB-,说明hb[lbegin]满足筛选条件,转3.3.5以判断hb[lbegin+1]是否<qB-;
3.3.3如果lbegin=lend,说明L[jB1]可以保留,转3.3.8;如果lbegin≠lend,令lbegin=lbegin+1,转3.3.4;
3.3.4如果hb[lbegin]>qB+,转3.3.3;如果hb[lbegin]≤qB+,说明L[jB1]不满足筛选条件,转3.3.7;
3.3.5如果lbegin=lend,说明L[jB1]可以保留,转3.3.8;如果lbegin≠lend,令lbegin=lbegin+1,转3.3.6;
3.3.6如果hb[lbegin]<qB-,转3.3.5;如果hb[lbegin]≥qB-,说明L[jB1]不满足筛选条件,转3.3.7;
3.3.7如果jB1=NL,说明L遍历结束,得到L′,转3.4;如果jB1≠NL,令jB1=jB1+1,转3.3.2;
3.3.8令L’[jB2]=L[jB1],jB2=jB2+1,转3.3.7;
3.4接收方的量化模块根据L′对hb进行量化,生成第二原始密钥序列KB,方法为:
3.4.1接收方的量化模块定义第一量化函数初始化L’位置循环变量pB为1,初始化第二原始密钥序列KB为空队列;
3.4.2如果pB=NL′,说明得到KB,转3.5。如果pB≠NL′,令KB[pB]=Q(hb[L′[pB]])(即使用量化函数Q(×)将hb中存在于L′中的位置进行量化,得到KB[pB]),令pB=pB+1,转3.4.2;
3.5接收方的量化模块将L’发送给发送方的量化模块;
3.6发送方的量化模块根据L’对ha进行量化,生成第一原始密钥序列KA,方法为:
3.6.1发送方的量化模块定义第二量化函数初始化第二L’位置循环变量pA为1,初始化第一原始密钥序列KA为空队列;
3.6.2如果pA=NL′,说明得到KA,转3.7;如果pA≠NL′,令KA[pA]=Q‘(ha[L′[pA]]),pA=pA+1,转3.6.2;
3.7发送方的量化模块将KA发送给发送方的密钥协商模块,同时接收方的量化模块将KB发送给接收方的密钥协商模块。
第四步,发送方和接收方的密钥协商模块对KA和KB原始密钥序列进行一致性的密钥协商,生成一致性安全密钥,具体方法是:
4.1发送方的密钥协商模块对KA进行分组,分组长度为k1,k1为正整数(通过统计量化结果KA和KB中的差错比例,在不同的场景中差错比例不一致,取一个平均比例ratio=错误比特数/所有比特数(错误比特数指发送方和量化后的原始密钥与接收方量化后的原始密钥中不一致的比特数;所有比特数指量化后的原始密钥的长度即比特数(发送方和接收方的所有比特数相同)),),分组数V为 表示对x上取整,初始化分组号循环变量vA=1;同时接收方的密钥协商模块对KB进行分组,分组长度也为k1,分组数同样为V,初始化分组号循环变量vB=1;
4.2如果vA>V,转4.5;如果vA≤V,发送方的密钥协商模块计算序号为vA的分组的组内元素异或结果 同时接收方的密钥协商模块计算序号为vB的分组的组内元素异或结果
4.3发送方的密钥协商模块将vA1发送给接收方的密钥协商模块;
4.4接收方的密钥协商模块判断vA1是否等于vB1。如果vA1=vB1,令vA=vA+1,vB=vB+1,转4.2;如果vA1≠vB1,说明序号为vB的分组存在错误比特,采用二分纠错方法对KB的分组长度为k1的第vB个分组进行纠错,方法为:
4.4.1.接收方的密钥协商模块采用序列B存储方法将KB的序号为vB的组分组以二进制密钥序列B的形式进行存储,B={B1,B2,…Bn1…BN},Bn1表示一位二进制密钥,n1为序列B中元素的序号,为正整数,1≤n1≤N,)N指序列B中元素的个数,当NL′%k1=0时,N=k1,当NL′%k1≠0时,N=NL′%k1,序列B存储方法具体步骤为:
4.4.1.1初始化n1=1;
4.4.1.2如果vB≠V,转4.4.1.3;如果vB=V并且NL′%k1=0,转4.4.1.3;如果vB=V并且NL′%k1≠0,转4.4.1.4;
4.4.1.3如果n1=k1,转4.4.2,如果n1<k1,令Bn1=KB[(vB-1)*k1+n1],n1=n1+1,转4.4.1.3;
4.4.1.4如果n1=NL′%k1,转4.4.2,如果n1<NL′%k1,Bn1=KB[(vB-1)*k1+n1],n1=n1+1,转4.4.1.4;
4.4.2发送方的密钥协商模块采用序列A存储方法将KA的序号为vA的分组第以二进制密钥序列A的形式进行存储,A={A1,A2,…An2…AN},An2表示一位二进制密钥,n2为序列A中元素的序号,为正整数,1≤n2≤N初始化。序列A存储方法具体步骤为:
4.4.2.1初始化n2=1;
4.4.2.2如果vA≠V,转4.4.2.3;如果vA=V并且NL′%k1=0,转4.4.2.3;如果vA=V并且NL′%k1≠0,转4.4.2.4;
4.4.2.3如果n2=k1,转4.4.3,如果n2<k1,令An2=KA[(vA-1)*k1+n2],n2=n2+1,转4.4.2.3;
4.4.2.4如果vA=NL′%k1,转4.4.3,如果n2<NL′%k1,令An2=KA[(vA-1)*k1+n2],n2=n2+1,转4.4.2.4;
4.4.3接收方的密钥协商模块初始化二分纠错第一变量low=1,二分纠错第二变量high=N;
4.4.4如果low=high,转4.4.7;如果low<high,接收方的密钥协商模块计算分组内异或结果并将low和high发送给发送方的密钥协商模块;
4.4.5发送方的密钥协商模块计算分组内异或结果将XORA发送给接收方的密钥协商模块;
4.4.6接收方的密钥协商模块判断XORA和XORB是否相等,如果XORA=XORB,令转4.4.4;如果XORA≠XORB,令转4.4.4;
4.4.7把KB[vA×k1+low]进行0,1取反操作(取反是0,1互换),令vA=vA+1,vB=vB+1,转4.2;
4.5接收方的密钥协商模块设置纠错的总轮数为n(n为大于1的整数),初始化纠错进行的轮数标志i=2,初始化纠错分组集合Φi为空,纠错分组集合内位置标志Bφi为0;
4.6接收方的密钥协商模块使用随机排序函数y=fi(x)将KB进行重新排序,KB排序后记为KBi,即KBi=fi(KB)。
同时发送方的密钥协商模块使用随机函数y=fi(x)将KA进行重新排序,KA排序后记为KAi,即KAi=fi(KA);
4.7发送方的密钥协商模块对KAi行分组,分组长度为ki(ki=2ki-1),分组数V为令分组号循环变量vA=1;同时接收方的密钥协商模块对原始密钥序列KBi进行分组,分组长度为ki,分组数同样为V;令分组号循环变量vB=1;
4.8如果vA>V,转4.11;如果vA≤V,发送方的密钥协商模块计算分组vA的组内元素异或结果同时接收方的密钥协商模块计算分组vB的组内元素异或结果 转4.9;
4.9发送方的密钥协商模块将vAi发送给接收方的密钥协商模块;
4.10接收方的密钥协商模块判断vAi是否等于vBi。如果vAi=vBi,令vA=vA+1,vB=vB+1,转4.8。如果vAi≠vBi,说明分组内存在错误比特,采用二分纠错方法对KBi的分组长度为ki的第vB个分组进行纠错,并将纠错位置添加到回溯纠错序列,方法为:
4.10.1.接收方的密钥协商模块采用序列B存储方法将KBi的序号为vB的分组以二进制密钥序列B的形式存储,组得到B={B1,B2,…Bn1…Bn};
4.10.2发送方的密钥协商模块采用序列A存储方法将KAi的序号为vA的分组以二进制密钥序列A的形式存储,得到组组A={A1,A2,…An2…AN}。
4.10.3接收方的密钥协商模块令low=1,high=N。
4.10.4如果low=high,转4.10.7;如果low<high,接收方的密钥协商模块计算并将low和high发送给发送方的密钥协商模块;
4.10.5发送方的密钥协商模块计算并将XORA发送给接收方的密钥协商模块;
4.10.6接收方的密钥协商模块判断XORA和XORB是否相等,如果XORA=XORB,令转4.10.4;如果XORA≠XORB,令转4.10.4;
4.10.7把KBi[vA×ki+low]进行取反操作,vA=vA+1,vB=vB+1,Φi[Bφi]=vA×ki+low,Bφi=Bφi+1,转4.8;
4.11如果i=n,转4.12;如果i<n,令i=i+1,转4.6;
4.12接收方的密钥协商模块初始化回溯循环变量iback=0;
4.13接收方的密钥协商模块判断i是否等于1,如果i=1,转4.15;如果i>1,令iback=0,使用随机排序函数y=fi(x)的逆函数x=fi -1(y)将接收方第i轮密钥KBi恢复为第i-1轮密钥KB(i-1),同时发送方的密钥协商模块使用x=fi -1(y)将发送方第i轮密钥KAi恢复为第i-1轮密钥KA(i-1)转4.14;
4.14接收方的密钥协商模块判断是否将Φi纠错完毕,如果iback>Bφi,令i=i-1,转4.13;如果iback≤Bφi,记yi=fi -1(Φi[iback]),yi是Φi[iback]在i-1轮中的位置,令vB=[y/ki-1」,令采用二分纠错方法对KB(i-1)的分组长度为ki-1的第vB组进行纠错,并将纠错位置补充回溯纠错序列,方法为:
4.14.1的组内容进行存储,即令接收方的密钥协商模块采用序列B存储方法将KBi的序号为vB的分组以二进制密钥序列B的形式存储,得到B={B1,B2,…Bn1…Bn};
4.14.2的第组内容存储为发送方的密钥协商模块采用序列A存储方法将KAi的序号为vA的分组以二进制密钥序列A的形式存储,得到A={A1,A2,…An2…AN}。4.14.3接收方的密钥协商模块设置low=1,设置high=N;
4.14.4如果low=high,转4.14.7;如果low<high,接收方的密钥协商模块计算并将low和high发送给发送方的密钥协商模块;
4.14.5发送方的密钥协商模块计算将XORA发送给接收方的密钥协商模块;
4.14.6接收方的密钥协商模块判断XORA和XORB是否相等,如果XORA=XORB,转4.14.4;如果XORA≠XORB,转4.14.4;
4.14.7把KBi[vA×ki+low]进行取反操作,Φi[Bφi]=vA×ki+low,Bφi=Bφi+1,iback=iback+1,转4.14;
4.15接收方的密钥协商模块将KBi记为第二一致性安全密钥KB,将KB发送给接收方的加密模块;同时发送方的密钥协商模块将第一一致性安全密钥KA发送给发送方的加密模块。
第五步,发送方和接收方的加密模块使用一致性安全密钥对数据处理模块获得的明文进行加密通信,具体方法是:
5.1发送方的数据处理模块从输入设备或传感器获得明文M,将明文M发送给发送方的加密模块。
5.2发送方的加密模块将明文M转换为二进制明文Mbin,读取Mbin的位数,将该位数命名记为Mlength。Mlength为正整数。令Mbin的第mA项表示为Mbin[mA],0<mA≤Mlength;初始化mA=1;初始化加密后的密文Cip为空队列,长度为NC。令Cip的第cA项表示为Cip[cA],0<cA≤NLA;初始化cA=1;令pA=1;
5.3发送方的加密模块对明文Mbin进行加密,方法为:
5.3.1发送方的加密模块比较Mlength和密钥长度NL′的大小,如果Mlength≤NL′,转5.3.2;如果Mlength>NL′,转5.3.3;
5.3.2如果mA=Mlength+1,转5.4;如果mA<Mlength+1, 转5.3.2。
5.3.3如果mA=Mlength+1,转5.4;如果mA<Mlength+1, 转5.3.4。
5.3.4如果pA=L’lengthA+1,pA=1,转5.3.3。
5.4发送方的加密模块将密文Cip发送给接收方的加密模块。
5.5接收方的加密模块读取密文Cip的位数,将Cip的位数记为Ciplength,令Cip的第cB项表示为Cip[cB],0<cB≤Ciplength,初始化cB=1。初始化解密后得到的二进制明文Mbin2为空,长度为Ciplength,令Mbin2的第mB项表示为Mbin2[mB],0<mB≤Ciplength,初始化mB=1,令pB=1;
5.6接收方的加密模块对密文Cip使用KB进行解密,得到二进制明文Mbin2,方法为:
5.6.1接收方的加密模块比较Ciplength和密钥长度NL′的大小,如果Ciplength≤NL′,转5.6.2;如果Ciplength>NL′,转5.6.3。
5.6.2如果cB=Ciplength+1,转5.7;如果cB<Ciplength+1, 转5.6.2。
5.6.3如果cB=Ciplength+1,转5.7;如果cB<Ciplength+1, 转5.6.4。
5.6.4如果pB=NL′+1,pB=1,转5.6.3。
5.7接收方的加密模块将Mbin2转为明文M,将明文发送给接收方的数据处理模块;
5.8接收方的数据处理模块从接收方的加密模块接收明文,通信结束。
Claims (9)
1.一种基于物理层信道特征的轻量级动态安全加密方法,其特征在于包括以下步骤:
第一步,构建基于物理层信道特征的轻量级动态安全加密架构,基于物理层信道特征的轻量级动态安全加密架构由发送方和接收方组成,发送方和接收方通过数据包的传递,协商获得通信密钥;发送方和接收方均安装有信道测量模块、量化模块、密钥协商模块、加密模块和数据处理模块;
发送方的信道测量模块与接收方的信道测量模块、发送方的量化模块相连,该模块向接收方的信道测量模块发送探测数据包,从接收方的信道测量模块接收响应数据包,通过解析响应数据包获得发送方的信道参数序列,向发送方的量化模块发送发送方的信道参数序列;
接收方的信道测量模块与发送方的信道测量模块、接收方的量化模块相连;该模块从发送方的信道测量模块接收探测数据包,向发送方的信道测量模块发送响应数据包;该模块通过解析探测数据包获得接收方的信道参数序列,并向接收方的量化模块发送接收方的信道参数序列;
发送方的量化模块与接收方的量化模块、发送方的信道测量模块、密钥协商模块相连,该模块从发送方的信道测量模块接收发送方的信道参数序列,将发送方的信道参数序列量化为0、1比特形式的第一原始密钥序列,将第一原始密钥序列发送给发送方的密钥协商模块;发送方的量化模块将第一原始密钥序列经过筛选后得到的第一中心位置索引序列L,将L发送给接收方的量化模块,并从接收方的量化模块接收第二中心位置索引序列L’;
接收方的量化模块与发送方的量化模块、接收方的信道测量模块、密钥协商模块相连;该模块从接收方的信道测量模块接收接收方的信道参数序列,将接收方的信道参数序列量化为0、1比特形式的第二原始密钥序列,将第二原始密钥序列发送给接收方的密钥协商模块。接收方的量化模块从发送方的量化模块接收L,通过对L筛选得到符合接收方信道参数序列特征的第二中心位置索引序列L’,并将L’发送给发送方的量化模块;
发送方的密钥协商模块与接收方的密钥协商模块、发送方的量化模块、加密模块相连,该模块从发送方的量化模块接收第一原始密钥序列,消除第一原始密钥序列中的不一致比特,生成第一一致性安全密钥,将第一一致性安全密钥发送给发送方的加密模块;发送方的密钥协商模块将第一原始密钥序列进行分组,将每个分组的异或结果发送给接收方的密钥协商模块;
接收方的密钥协商模块与发送方的密钥协商模块、接收方的量化模块、加密模块相连,该模块从接收方的量化模块接收第二原始密钥序列,消除第二原始密钥序列中的不一致比特,生成第二一致性安全密钥,将第二一致性密钥发送给接收方的加密模块;接收方的密钥协商模块将第二原始密钥序列进行分组后计算分组的异或结果,与从发送方接收到的第一原始密钥序列每个分组的异或结果进行对比,根据对比结果进行纠错;
发送方的数据处理模块与发送方的加密模块相连,该模块从输入设备或传感器获得明文,将明文发送给发送方的加密模块;
发送方的加密模块与发送方的密钥协商模块、发送方的数据处理模块、接收方的加密模块相连,该模块从发送方的密钥协商模块接收第一一致性安全密钥;从发送方的数据处理模块接收明文;发送方的加密模块使用第一一致性安全密钥将明文加密获得密文,将密文发送给接收方的加密模块;
接收方的加密模块与接收方的密钥协商模块、接收方的数据处理模块、发送方的加密模块相连,该模块从接收方的密钥协商模块接收第二一致性安全密钥;从发送方的加密模块接收密文;接收方的加密模块采用第二一致性安全密钥将密文进行解密得到明文,将明文发送给接收方的数据处理模块;
接收方的数据处理模块与接收方的加密模块相连,该模块从接收方的加密模块接收明文;
第二步,信道测量模块生成信道参数序列,方法是:
2.1 发送方的信道测量模块和接收方的信道测量模块同时进行初始化工作,发送方信道测量模块按2.1.1进行,接收方的信道测量模块按2.1.2进行:
2.1.1 发送方的信道测量模块将发送信道参数序列ha初始化为空队列,ha长度为NR,NR为信道参数序列长度,为正整数,令ha的第nA项表示为ha[nA],0<nA≤NR;初始化nA=1;
2.1.2 接收方的信道测量模块将接收信道参数序列hb初始化为空队列,hb长度也为NR,令hb的第nB项表示为hb[nB],0<nB≤NR;初始化nB=1;
2.2 发送方的信道测量模块向接收方的信道测量模块发送探测数据包;所述探测数据包包括数据包头部、帧体,数据包头部包括帧类型、帧控制、目的地址、源地址、AP的MAC地址、分片号、序列号,帧体包括时间戳、重传间隔、容量信息、服务集标识;
2.3 接收方的信道测量模块从发送方的信道测量模块接收探测数据包,接收方的信道测量模块在收到探测数据包时,接收方信道测量模块通过网卡在探测数据包头部附加Radiotap Header,即无线信号信息,Radiotap Header包括时间戳、传输速率、信号强度、信道频率,然后接收方的信道测量模块将Radiotap Header中的信号强度字段存储到信道参数hb[nB]中;
2.4 接收方的信道测量模块向发送方的信道测量模块发送响应数据包,响应数据包与探测数据包的格式一致,但源地址和目的地址与探测数据包的相反,即源地址是探测数据包的目的地址,目的地址是探测数据包的源地址;
2.5 发送方的信道测量模块从接收方的信道测量模块接收响应数据包,并将响应数据包中的信号强度字段存储到信道参数ha[nA]中;
2.6 若nA<NR,令nA=nA+1,nB=nB+1,转步骤2.2;若nA=NR,转第三步;
第三步,量化模块采用自适应多比特算法对信道参数序列进行量化,得到原始密钥序列,具体方法为:
3.1.发送方的量化模块解析ha,通过量化长度m、量化阈值qA+和qA-对ha进行筛选,得到第一中心位置索引序列L;其中m为正整数,2≤m≤NR,qA+=meanA+α·σA,qA-=meanA-α·σA,meanA是ha中所有元素的平均值,α是自定义参数,取值范围0<α<1,σA是ha中所有元素的标准差;筛选的具体流程为:
3.1.1 发送方的量化模块初始化开始循环变量istart和结束循环变量iend为1,初始化L为空队列,令L长度为NL,
NL为正整数,令L的第jA项表示为L[jA],0<jA≤NL;初始化jA=1;
3.1.2 若NR-iend<m,说明ha遍历结束,转3.2;若NR-iend>m,根据ha[iend]的情况进行判定:若ha[iend]>qA+,说明ha[iend]符合筛选条件,iend=iend+1,转3.1.3;若qA-≤ha[iend]≤qA+,说明ha[iend]不符合筛选条件,转3.1.4;若ha[iend]<qA-,说明ha[iend]符合筛选条件,iend=iend+1,转3.1.5;
3.1.3 若iend-istart=m,说明在ha中istart到iend范围内的连续m个值都大于量化阈值qA+,满足筛选条件,将istart和iend中值保存到L[jA]中,令jA=jA+1,转3.1.4;若iend-istart<m并且ha[iend]>qA+,说明ha[iend]符合筛选条件,令iend=iend+1,转3.1.3;若iend-istart<m且ha[iend]≤qA+,说明ha[iend]不符合筛选条件,转3.1.4;
3.1.4令iend=iend+1,istart=iend,转3.1.2;
3.1.5 如果iend-istart=m,说明在ha中istart到iend范围内的连续m个值都小于量化阈值qA-,满足筛选条件,转3.1.6,将istart和iend中值保存到L[jA]中,令jA=jA+1,转3.1.4;若iend-istart<m并且ha[iend]<qA-,说明ha[iend]符合筛选条件,令iend=iend+1,转3.1.5;如果iend-istart<m并且ha[iend]≥qA-,说明ha[iend]不符合筛选条件,转3.1.4;
3.2.发送方的量化模块将L发送给接收方的量化模块;
3.3.接收方的量化模块解析hb,通过m、qB+和qB-对L进行筛选,得到符合hb特征的第二中心位置索引序列L’,qB+=meanB+α·σB,qB-=meanB-α·σB,meanB是hb的平均值,σB是hb的标准差,筛选方法为:
3.3.1 接收方的量化模块初始化L的位置序号jB1为1,初始化L’为空队列,L′长度为NL′,NL′为正整数,令L′的第jB2项表示为L′[jB2],0<jB2≤NL′;初始化jB2=1;
3.3.2 令序列开始变量令序列结束变量 表示对x下取整,x为实数;如果hb[lbegin]>qB+,说明hb[lbegin] 满足筛选条件,转3.3.3;如果qB-≤hb[lbegin]≤qB+,说明hb[lbegin]不满足筛选条件,转3.3.7;如果hb[lbegin]<qB-,说明hb[lbegin]满足筛选条件,转3.3.5;
3.3.3 如果lbegin=lend,说明L[jB1]可以保留,转3.3.8;如果lbegin≠lend,令lbegin=lbegin+1,转3.3.4;
3.3.4 如果hb[lbegin]>qB+,转3.3.3;如果hb[lbegin]≤qB+,说明L[jB1]不满足筛选条件,转3.3.7;
3.3.5 如果lbegin=lend,说明L[jB1]可以保留,转3.3.8;如果lbegin≠lend,令lbegin=lbegin+1,转3.3.6;
3.3.6 如果hb[lbegin]<qB-,转3.3.5;如果hb[lbegin]≥qB-,说明L[jB1]不满足筛选条件,转3.3.7;
3.3.7 如果jB1=NL,说明L遍历结束,得到L′,转3.4;如果jB1≠NL,令jB1=jB1+1,转3.3.2;
3.3.8 令L’[jB2]=L[jB1],jB2=jB2+1,转3.3.7;
3.4 接收方的量化模块根据L′对hb进行量化,生成第二原始密钥序列KB;
3.5 接收方的量化模块将L’发送给发送方的量化模块;
3.6 发送方的量化模块根据L’对ha进行量化,生成第一原始密钥序列KA;
3.7 发送方的量化模块将KA发送给发送方的密钥协商模块,同时接收方的量化模块将KB发送给接收方的密钥协商模块;
第四步,发送方和接收方的密钥协商模块对KA和KB进行一致性的密钥协商,生成一致性安全密钥,具体方法是:
4.1 发送方的密钥协商模块对KA进行分组,分组长度为k1,k1为正整数,分组数V为 表示对x上取整,初始化分组号循环变量vA=1;同时接收方的密钥协商模块对KB进行分组,分组长度也为k1,分组数同样为V,初始化分组号循环变量vB=1;
4.2 如果vA>V,转4.5;如果vA≤V,发送方的密钥协商模块计算序号为vA的分组的组内元素异或结果 同时接收方的密钥协商模块计算序号为vB的分组的组内元素异或结果
4.3 发送方的密钥协商模块将vA1发送给接收方的密钥协商模块;
4.4 接收方的密钥协商模块判断vA1是否等于vB1,如果vA1=vB1,令vA=vA+1,vB=vB+1,转4.2;如果vA1≠vB1,采用二分纠错方法对KB的分组长度为k1的第vB个分组进行纠错,方法为:
4.4.1.接收方的密钥协商模块采用序列B存储方法将KB的序号为vB的分组以二进制密钥序列B的形式进行存储,B={B1,B2,…Bn1…BN},Bn1表示一位二进制密钥,n1为序列B中元素的序号,为正整数,1≤n1≤N,N指序列B中元素的个数,当NL′%k1=0时,N=k1,当NL′%k1≠0时,N=NL′%k1;
4.4.2 发送方的密钥协商模块采用序列A存储方法将KA的序号为vA的分组以二进制密钥序列A的形式进行存储,A={A1,A2,…An2…AN},An2表示一位二进制密钥,n2为序列A中元素的序号,为正整数,1≤n2≤N;
4.4.3 接收方的密钥协商模块初始化二分纠错第一变量low=1,二分纠错第二变量high=N;
4.4.4 如果low=high,转4.4.7;如果low<high,接收方的密钥协商模块计算分组内异或结果并将low和high发送给发送方的密钥协商模块;
4.4.5 发送方的密钥协商模块计算分组内异或结果将XORA发送给接收方的密钥协商模块;
4.4.6 接收方的密钥协商模块判断XORA和XORB是否相等,如果XORA=XORB,令转4.4.4;如果XORA≠XORB,令转4.4.4;
4.4.7 把KB[vA×k1+low]进行0,1取反操作即将0,1互换,令vA=vA+1,vB=vB+1,转4.2;
4.5 接收方的密钥协商模块设置纠错的总轮数为n,n为大于1的整数,初始化纠错进行的轮数标志i=2,初始化纠错分组集合Φi为空,纠错分组集合内位置标志Bφi为0;
4.6 接收方的密钥协商模块使用随机排序函数y=fi(x)将KB进行重新排序,KB排序后记为KBi,即KBi=fi(KB);
同时发送方的密钥协商模块使用随机排序函数y=fi(x)将KA进行重新排序,KA排序后记为KAi,即KAi=fi(KA);
4.7 发送方的密钥协商模块对KAi行分组,分组长度为ki,ki=2ki-1,分组数V为令分组号循环变量vA=1;同时接收方的密钥协商模块对原始密钥序列KBi进行分组,分组长度为ki,分组数为V;令分组号循环变量vB=1;
4.8 如果vA>V,转4.11;如果vA≤V,发送方的密钥协商模块计算分组vA的组内元素异或结果同时接收方的密钥协商模块计算分组vB的组内元素异或结果 转4.9;
4.9 发送方的密钥协商模块将vAi发送给接收方的密钥协商模块;
4.10 接收方的密钥协商模块判断vAi是否等于vBi,如果vAi=vBi,令vA=vA+1,vB=vB+1,转4.8;如果vAi≠vBi,采用二分纠错方法对KBi的分组长度为ki的第vB个分组进行纠错,并将纠错位置添加到回溯纠错序列,方法为:
4.10.1.接收方的密钥协商模块采用序列B存储方法将KBi的序号为vB的分组以二进制密钥序列B的形式存储,得到B={B1,B2,…Bn1…Bn};
4.10.2 发送方的密钥协商模块采用序列A存储方法将KAi的序号为vA的分组以二进制密钥序列A的形式存储,得到A={A1,A2,…An2…AN};
4.10.3 接收方的密钥协商模块令low=1,high=N;
4.10.4 如果low=high,转4.10.7;如果low<high,接收方的密钥协商模块计算并将low和high发送给发送方的密钥协商模块;
4.10.5 发送方的密钥协商模块计算并将XORA发送给接收方的密钥协商模块;
4.10.6 接收方的密钥协商模块判断XORA和XORB是否相等,如果XORA=XORB,令转4.10.4;如果XORA≠XORB,令转4.10.4;
4.10.7 把KBi[vA×ki+low]进行取反操作,令Φi[Bφi]=vA×ki+low,令Bφi=Bφi+1,vA=vA+1,vB=vB+1,转4.8;
4.11 如果i=n,转4.12;如果i<n,令i=i+1,转4.6;
4.12 接收方的密钥协商模块初始化回溯循环变量iback=0;
4.13 接收方的密钥协商模块判断i是否等于1,如果i=1,转4.15;如果i>1,令iback=0,使用随机排序函数y=fi(x)的逆函数x=fi -1(y)将接收方第i轮密钥KBi恢复为第i-1轮密钥KB(i-1),同时发送方的密钥协商模块使用x=fi -1(y)将发送方第i轮密钥KAi恢复为第i-1轮密钥KA(i-1)转4.14;
4.14 接收方的密钥协商模块判断是否将Φi纠错完毕,如果iback>Bφi,令i=i-1,转4.13;如果iback≤Bφi,记yi=fi -1(Φi[iback]),yi是Φi[iback]在i-1轮中的位置,令令采用二分纠错方法对KB(i-1)的分组长度为ki-1的第vB组进行纠错,并将纠错位置补充回溯纠错序列,方法为:
4.14.1 接收方的密钥协商模块采用序列B存储方法将KBi的序号为vB的分组以二进制密钥序列B的形式存储,得到B={B1,B2,…Bn1…Bn};
4.14.2 发送方的密钥协商模块采用序列A存储方法将KAi的序号为vA的分组以二进制密钥序列A的形式存储,得到A={A1,A2,…An2…AN};
4.14.3 接收方的密钥协商模块设置low=1,设置high=N;
4.14.4 如果low=high,转4.14.7;如果low<high,接收方的密钥协商模块计算并将low和high发送给发送方的密钥协商模块;
4.14.5 发送方的密钥协商模块计算将XORA发送给接收方的密钥协商模块;
4.14.6 接收方的密钥协商模块判断XORA和XORB是否相等,如果XORA=XORB,转4.14.4;如果XORA≠XORB,转4.14.4;
4.14.7 把KBi[vA×ki+low]进行取反操作,令Φi[Bφi]=vA×ki+low,Bφi=Bφi+1,iback=iback+1,转4.14;
4.15 接收方的密钥协商模块将KBi记为第二一致性安全密钥KB,将KB发送给接收方的加密模块;同时发送方的密钥协商模块将第一一致性安全密钥KA发送给发送方的加密模块;
第五步,发送方和接收方的加密模块使用一致性安全密钥对数据处理模块获得的明文进行加密通信,具体方法是:
5.1 发送方的数据处理模块从输入设备或传感器获得明文M,将明文M发送给发送方的加密模块;
5.2 发送方的加密模块将明文M转换为二进制明文Mbin,读取Mbin的位数,将该位数命名记为Mlength。Mlength为正整数,令Mbin的第mA项表示为Mbin[mA],0<mA≤Mlength;初始化mA=1;初始化加密后的密文Cip为空队列,长度为NC;令Cip的第cA项表示为Cip[cA],0<cA≤NLA;初始化cA=1;令pA=1;
5.3 发送方的加密模块对明文Mbin进行加密,方法为:
5.3.1 发送方的加密模块比较Mlength和密钥长度NL′的大小,如果Mlength≤NL′,转5.3.2;如果Mlength>NL′,转5.3.3;
5.3.2 如果mA=Mlength+1,转5.4;如果mA<Mlength+1, cA=cA+1,pA=pA+1,mA=mA+1,转5.3.2;
5.3.3 如果mA=Mlength+1,转5.4;如果mA<Mlength+1, cA=cA+1,pA=pA+1,mA=mA+1,转5.3.4;
5.3.4 如果pA=L′lengthA+1,pA=1,转5.3.3;
5.4 发送方的加密模块将密文Cip发送给接收方的加密模块;
5.5 接收方的加密模块读取密文Cip的位数,将Cip的位数记为Ciplength,令Cip的第cB项表示为Cip[cB],0<cB≤Ciplength,初始化cB=1;初始化解密后得到的二进制明文Mbin2为空,长度为Ciplength,令Mbin2的第mB项表示为Mbin2[mB],0<mB≤Ciplength,初始化mB=1,令pB=1;
5.6 接收方的加密模块对密文Cip使用KB进行解密,得到二进制明文Mbin2,方法为:
5.6.1 接收方的加密模块比较Ciplength和密钥长度NL′的大小,如果Ciplength≤NL′,转5.6.2;如果Ciplength>NL′,转5.6.3;
5.6.2 如果cB=Ciplength+1,转5.7;如果cB<Ciplength+1, cB=cB+1,pB=pB+1,mB=mB+1,转5.6.2;
5.6.3 如果cB=Ciplength+1,转5.7;如果cB<Ciplength+1, cB=cB+1,pB=pB+1,mB=mB+1,转5.6.4;
5.6.4 如果pB=NL′+1,pB=1,转5.6.3;
5.7 接收方的加密模块将Mbin2转为明文M,将明文发送给接收方的数据处理模块;
5.8 接收方的数据处理模块从接收方的加密模块接收明文,通信结束。
2.如权利要求1所述的一种基于物理层信道特征的轻量级动态安全加密方法,其特征在于所述发送方和接收方是终端节点或网络设备。
3.如权利要求1所述的一种基于物理层信道特征的轻量级动态安全加密方法,其特征在于所述信道参数序列长度NR=5000。
4.如权利要求1所述的一种基于物理层信道特征的轻量级动态安全加密方法,其特征在于2.2步所述探测数据包指IEEE802.11无线网络标准的802.11数据包,格式为Beacon帧。
5.如权利要求1所述的一种基于物理层信道特征的轻量级动态安全加密方法,其特征在于3.4步所述接收方的量化模块根据L′对hb进行量化,生成第二原始密钥序列KB的方法为:
3.4.1 接收方的量化模块定义第一量化函数初始化L’位置循环变量pB为1,初始化第二原始密钥序列KB为空队列;
3.4.2 如果pB=NL′,说明得到KB,结束;如果pB≠NL′,令KB[pB]=Q(hb[L′[pB]]),令pB=pB+1,转3.4.2。
6.如权利要求1所述的一种基于物理层信道特征的轻量级动态安全加密方法,其特征在于3.6步所述发送方的量化模块根据L’对ha进行量化,生成第一原始密钥序列KA的方法为:
3.6.1 发送方的量化模块定义第二量化函数初始化第二L’位置循环变量pA为1,初始化第一原始密钥序列KA为空队列;
3.6.2 如果pA=NL′,说明得到KA,结束;如果pA≠NL′,令KA[pA]=Q‘(ha[L′[pA]]),pA=pA+1,转3.6.2。
7.如权利要求1所述的一种基于物理层信道特征的轻量级动态安全加密方法,其特征在于4.1步所述ratio为平均比例,ratio=错误比特数/所有比特数,错误比特数指发送方和量化后的原始密钥与接收方量化后的原始密钥中不一致的比特数;所有比特数指量化后的原始密钥的长度即比特数,发送方和接收方的所有比特数相同。
8.如权利要求1所述的一种基于物理层信道特征的轻量级动态安全加密方法,其特征在于4.4.1步所述采用序列B存储方法将KB的序号为vB的分组以二进制密钥序列B的形式进行存储的具体步骤为:
4.4.1.1 初始化n1=1;
4.4.1.2 如果vB≠V,转4.4.1.3;如果vB=V并且NL′%k1=0,转4.4.1.3;如果vB=V并且NL′%k1≠0,转4.4.1.4;
4.4.1.3 如果n1=k1,转4.4.2,如果n1<k1,令Bn1=KB[(vB-1)*k1+n1],n1=n1+1,转4.4.1.3;
4.4.1.4 如果n1=NL′%k1,转4.4.2,如果n1<NL′%k1,Bn1=KB[(vB-1)*k1+n1],n1=n1+1,转4.4.1.4。
9.如权利要求1所述的一种基于物理层信道特征的轻量级动态安全加密方法,其特征在于4.4.2步所述采用序列A存储方法将KA的序号为vA的分组以二进制密钥序列A的形式进行存储的具体步骤为:
4.4.2.1 初始化n2=1;
4.4.2.2 如果vA≠V,转4.4.2.3;如果vA=V并且NL′%k1=0,转4.4.2.3;如果vA=V并且NL′%k1≠0,转4.4.2.4;
4.4.2.3 如果n2=k1,转4.4.3,如果n2<k1,令An2=KA[(vA-1)*k1+n2],n2=n2+1,转4.4.2.3;
4.4.2.4 如果vA=NL′%k1,转4.4.3,如果n2<NL′%k1,令An2=KA[(vA-1)*k1+n2],n2=n2+1,转4.4.2.4。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811152678.6A CN109347628B (zh) | 2018-09-29 | 2018-09-29 | 一种基于物理层信道特征的轻量级动态安全加密方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811152678.6A CN109347628B (zh) | 2018-09-29 | 2018-09-29 | 一种基于物理层信道特征的轻量级动态安全加密方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109347628A CN109347628A (zh) | 2019-02-15 |
CN109347628B true CN109347628B (zh) | 2019-07-26 |
Family
ID=65308113
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811152678.6A Active CN109347628B (zh) | 2018-09-29 | 2018-09-29 | 一种基于物理层信道特征的轻量级动态安全加密方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109347628B (zh) |
Families Citing this family (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110213767B (zh) * | 2019-06-03 | 2021-09-07 | 西北工业大学 | 基于信道增益补偿及子载波相关性的物理层密钥提取方法 |
CN111833206B (zh) * | 2020-06-27 | 2021-05-25 | 中国计量科学研究院 | 一种能源管理系统 |
CN112105019B (zh) * | 2020-09-11 | 2023-06-20 | 重庆邮电大学 | 一种基于物理层服务数据提取随机数的无线传感器网络加密方法 |
CN112291057B (zh) * | 2020-11-20 | 2022-08-23 | 天津市城市规划设计研究总院有限公司 | 城市规划领域提高智能物联网安全性的方法系统可读介质 |
CN113038468B (zh) * | 2021-04-07 | 2022-09-09 | 东南大学 | 一种物联网无线终端量子密钥分发与协商方法 |
CN113204755B (zh) * | 2021-04-20 | 2022-10-14 | 重庆工业职业技术学院 | 一种区块链大数据安全的数据抓取方法 |
CN113194466A (zh) * | 2021-04-23 | 2021-07-30 | 哈尔滨理工大学 | 一种基于无线信道特征仿真的混合密钥系统及方法 |
CN113746624B (zh) * | 2021-09-04 | 2022-06-17 | 中国人民解放军国防科技大学 | 一种基于模糊提取器协商的物理层安全密钥提取方法 |
CN113783692B (zh) * | 2021-09-18 | 2024-05-28 | 武汉船用电力推进装置研究所(中国船舶重工集团公司第七一二研究所) | 一种动态加密通讯系统 |
CN114390518A (zh) * | 2022-01-12 | 2022-04-22 | 北京全路通信信号研究设计院集团有限公司 | 一种加密方法、装置、设备以及存储介质 |
CN115278668A (zh) * | 2022-07-26 | 2022-11-01 | 西安交通大学 | 一种通信安全密钥生成方法与设备 |
CN118282614A (zh) * | 2022-12-29 | 2024-07-02 | 华为技术有限公司 | 密钥生成方法、装置、设备、系统及介质 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104010299A (zh) * | 2014-05-21 | 2014-08-27 | 中国人民解放军信息工程大学 | 基于物理层安全的移动通信会话私密性增强方法 |
CN107148015A (zh) * | 2017-05-31 | 2017-09-08 | 北京理工大学 | 一种基于极化码构造的连续加密物理层安全传输方法 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102055800A (zh) * | 2010-12-13 | 2011-05-11 | 南京大学 | 基于信息汇聚的交通物联网分层体系架构 |
US8898767B1 (en) * | 2011-09-22 | 2014-11-25 | Mountain Top Digital, L.L.C. | Methods and apparatuses for digital content protection |
US9049593B2 (en) * | 2012-06-28 | 2015-06-02 | Qualcomm Incorporated | Method and apparatus for restricting access to a wireless system |
-
2018
- 2018-09-29 CN CN201811152678.6A patent/CN109347628B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104010299A (zh) * | 2014-05-21 | 2014-08-27 | 中国人民解放军信息工程大学 | 基于物理层安全的移动通信会话私密性增强方法 |
CN107148015A (zh) * | 2017-05-31 | 2017-09-08 | 北京理工大学 | 一种基于极化码构造的连续加密物理层安全传输方法 |
Also Published As
Publication number | Publication date |
---|---|
CN109347628A (zh) | 2019-02-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109347628B (zh) | 一种基于物理层信道特征的轻量级动态安全加密方法 | |
Luk et al. | MiniSec: a secure sensor network communication architecture | |
CN104113395B (zh) | 一种无线恶劣网络环境下物联网数据安全传输的方法 | |
CN103765847A (zh) | 用于媒体访问控制头部压缩的装置和方法 | |
CN101981962B (zh) | 密码处理设备、密码处理方法和密码处理程序 | |
Saarinen | Beyond modes: Building a secure record protocol from a cryptographic sponge permutation | |
JP6289680B2 (ja) | パケット送信装置、パケット受信装置、パケット送信プログラムおよびパケット受信プログラム | |
CN107493168A (zh) | 量子身份认证方法及其在量子密钥分发过程中的应用方法 | |
CN106850191A (zh) | 分布式存储系统通信协议的加密、解密方法及装置 | |
CN107666491A (zh) | 基于对称加密的空地一体化网络的数据传输方法 | |
Velasco et al. | Lightweight method of shuffling overlapped data-blocks for data integrity and security in WSNs | |
Yu et al. | Quantum-resistance authentication and data transmission scheme for NB-IoT in 3GPP 5G networks | |
CN103825725B (zh) | 一种基于矢量量化的高效随机物理层密钥产生方法 | |
Ferrara et al. | Implementation and experimental evaluation of reed-solomon identification | |
US20080148111A1 (en) | Method and apparatus for recovering protocol error in a wireless communications system | |
Yu et al. | A secure communication protocol between sensor nodes and sink node in underwater acoustic sensor networks | |
CN110380848B (zh) | 水声通信中固定传感器节点与移动汇聚节点安全通信方法 | |
Acla et al. | Security analysis of lightweight encryption based on advanced encryption standard for wireless sensor networks | |
CN110417804B (zh) | 一种适于单片机实现的双向身份认证加密通信方法及系统 | |
Kadhim et al. | Improving IoT data Security Using Compression and Lightweight Encryption Technique | |
Lu et al. | Concealed in the Internet: A novel covert channel with normal traffic imitating | |
Wang et al. | Design and implementation of secure and reliable information interaction architecture for digital twins | |
Jebrane et al. | A performance comparison of lightweight cryptographic algorithms suitable for IoT transmissions. | |
CN108882232A (zh) | 一种物联网设备间的认证码嵌入消息传输方法 | |
CN107529159A (zh) | 宽带集群下行共享信道的接入层加密、解密、完整性保护方法和装置、安全实现方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |