一种无线信道物理层密钥协商与不一致比特去除方法与流程

文档序号:12729090阅读:677来源:国知局

本发明涉及一种无线信道物理层密钥协商与不一致比特去除方法,特别是涉及一种非交互式无线信道物理层密钥协商与不一致比特去除方法。



背景技术:

近年来,随着科学技术的迅猛发展,无线通信技术正在以不同的方式改变着世界。与传统的有线通信相比,无线通信具有部署方便、不受地形和障碍物的限制、作用范围更大等优点,使得无线通信的使用范围越来越广。但是正是由于其开放的特性,使得无线通信比有线通信更容易受到攻击,其安全性也愈发受到人们的关注。

理论和实验已经表明,无线信道具有互易性、时变性和空变性等特点,合法双方可以利用无线信道的这些特点寻求实现安全通信的解决方案。

互易性:根据电磁波的传播特性,无线通信双方在相干时间内,发射信号和接收信号经历相同的衰落,当没有非线性元件的两个天线发射相同的信号时,两个天线将会得到相同的输出。

时变性:电磁波在自由空间中传播,会受到信道衰减、多径衰落以及收发双方的相对运动等因素的影响,导致无线信道的特性是时变的,并且这种变化趋势具有不可预测性。

空变性:不同时间、不同空间位置的无线信道特征是唯一的,不可复制。在无线信道中,由于受到散射等因素的影响,使得信号将沿不同的路径从一个位置到达另一个位置。特别地,在多径丰富的无线环境中,距离合法双方半个波长之外的窃听方的信道观察和合法双方的信道观察是统计独立的。

基于无线信道的这些特点,无线信道可以作为一个公共随机源,并且这个公共随机源独立于窃听信道。当合法双方以时分双工(Time Division Duplex,TDD)方式对无线信道进行探测时,无线信道的时变性使得合法双方能够生成具有“噪声”性质的真随机的密钥;无线信道的互易性使得双方能够生成相同的比特序列作为后续安全通信的密钥;而无线信道的空变性能够实现密钥分发过程的“物理安全性”。因此,合法双方可以利用无线信道的这些特点生成共享密钥,从而实现安全通信的目标。

目前,针对不同的信道特征,各种实际的密钥生成方案相继被提出。在这些方案中密钥生成的主要流程是:合法通信双方Alice和Bob首先在相干时间内完成对无线信道的双向探测,选取合适的信道参数,如信道响应幅度、相位等,在接收信号中对选定的信道参数进行测量,然后对其进行量化,得到用于生成共享密钥的初始比特序列Ka和Kb。由于无线信道的半双工特性、合法双方收发设备硬件的差别、本地噪声以及量化误差等因素的影响,使得双方的初始比特序列不可能完全一致,双方必须通过恰当的密钥协商方法得到完全一致的比特串并验证。最后通过保密增强方法进一步增强密钥的随机性,最终得到用于安全通信的密钥。

现有的密钥协商方法由于需要通信双方交互一部分校验信息进行密钥协商来提高密钥的一致性,然而,由于这部分信息通过公开信道传输,一定会泄露秘密比特序列的一部分信息,这有助于窃听者猜测密钥序列。所以,现有的物理层密钥协商方案存在较大的安全风险。



技术实现要素:

本发明要解决的技术问题是提供一种安全性更高、非交互式、且没有熵损失的无线信道物理层密钥协商与不一致比特去除的方法。

本发明采用的技术方案如下:一种无线信道物理层密钥协商与不一致比特去除方法,具体方法为:基于纠错编码去除无线通信双方的不一致比特,通过非交互的方式完成密钥协商工作,利用与校验位相独立的随机比特序列来盲化在公共信道传输的校验位。

通过这种方法,通信双方能够以非交互的方式,在不泄露关于所生成密钥任何信息的情况下完成信息协商过程,使得双方获得完全一致的秘密随机比特序列。

纠错编码(error correcting code),是在接收端能自动地纠正数据传输中所发生差错的编码算法。纠错码的基本思想是在所有的由发送符号组成的序列中,仅挑出其中一部分做为信息的代表向信道发送,并使得所挑出的这些序列之间有尽可能多的差异。每个被挑出的允许发送的序列被称为一个码字,而码字的总合称为码。在发送端把信息变换成码字的过程称为编码;在接收端从接收到的信号判定所发码字、从而恢复信息的过程称为解码(或译码)。在解码时,若收到的信号不是码中的一个码字,则可以肯定在传输中出现了差错,从而着手对差错进行纠正。纠错的方法是找到与接收到的信号最接近的码字,并将其判定为发送信号。一般采用“距离”来度量信号间的接近程度,一种常用的“距离”称为汉明距离,它被定义为两码字间对应位不同的个数总和。一个给定码,其全部码字两两之间距离的最小值被称为这个码的码距。码距是一个码纠错能力的重要参数,例如在汉明距离下,若接收到的信号出错的位数不多于码距的一半,则接收端总能正确地恢复所发送的码字,从而正确地恢复所发送的信息。

线性分组码:在构造纠错码时,若码元间的关系为线性关系,则称之为线性码。在编码时,将输入信息分成k位一组以进行编码,若编出的校验位仅与本组的信息位有关,则称这样的码为分组码。典型的分组码是由k位信息位和(n-k)位校验位组成的,这样构成的码一般称为系统码,其中n为码长。线性分组码系统码的生成矩阵G具有[Ik,P]的形式,其中,Ik是k阶单位矩阵,P是k行(n-k)列矩阵,而相应的校验矩阵H具有[[PT,In-k]]的形式,其中In-k是(n-k)阶单位矩阵,PT是P的转置矩阵。

包括初始化过程、通信一方生成并发送校验位的过程和通信另一方收到校验位后进行不一致比特去除的过程;

其中,初始化过程中,选取纠错编码算法及与其相对应的密码算法,及其生成矩阵和校验矩阵;

通信一方生成并发送校验位的过程中,通信一方将其随机比特序列切分为短的比特序列后,将切分的短的比特序列与纠错编码算法的生成矩阵相乘得到校验位;将得到的校验位进行盲化后发送给通信另一方;

通信另一方收到校验位后进行不一致比特去除的过程中,通信另一方将校验位去盲化,将其随机比特序列切分为短的比特序列,并将去盲化后的校验位切分为短的比特序列;通信另一方利用对去盲化后的校验位切分或短的比特序列作为校正字,基于所述相对应的密码算法和所述校验矩阵,对通信另一方随机比特序列切分后的短的比特序列进行译码,得到密钥块;将得到的密钥块按顺序串接得到所述通信一方的随机比特序列,作为通信双方的后续安全通信的密钥。

初始化过程的具体方法为:

选取码长为n且信息位长为k的(n,k)纠错编码算法(此算法可以选用任何纠错编码算法),包括编码算法E(·)和译码算法D(·);令被编码的信息为k比特长的X,则编码算法En,k(X)输出一个比特长度为n的码字{X,S},其中S是比特长度为n-k的校验位,则编码算法表示为E(·):En,k(X)→{X,S},相应的译码算法为其中为码字,X为译码结果;同时,令纠错编码算法的生成矩阵为G=[Ik,P],校验矩阵为H=[PT,In-k];其中,Ik是k阶单位矩阵,P是k行(n-k)列矩阵;In-k是(n-k)阶单位矩阵,PT是P的转置矩阵;

合法通信双方在相干时间内完成对无线信道的双向探测,选取包括信道响应幅度和相位的信道参数,在接收信号中对选定的信道参数进行测量并进行量化,得到用于生成共享密钥的初始比特序列Ka和Kb;即通信一方获得的比特序列Ka=K||ω,通信另一方获得的比特序列Kb=K′||ω′,其中符号“||”表示比特序列按序串接,比特序列K和K′的比特长度均为N,而且N是k的整数倍,即l=N/k,l是正整数,比特序列ω和ω′的比特长度均为l×(n-k)l×(n-k);其中,ω与K相互独立,ω′与K′相互独立,ω和ω′均为盲化信息位。

在理想环境下Ka和Kb会完全一致,但是由于无线信道的半双工特性、收发设备硬件的差异、本地噪声以及量化误差等因素的影响,使得比特序列Ka和Kb不完全一致。

通信一方生成并发送校验位的过程中,将得到的校验位进行盲化的具体方法为:计算S′=S1||S2||...||Sl和符号代表逐比特异或;其中,Si为得到的校验位S′的第i比特,i=1,2,…,l,S为盲化后的校验位。

通信一方生成并发送校验位的具体方法步骤为:

S21、将比特序列K切分成l个长度为k的短比特序列K1,K2,...,Kl

S22、利用编码算法对Ki进行编码En,k(Ki)→{Ki,Si},即将比特序列Ki分别与纠错编码算法的生成矩阵G相乘,Ki×[Ik,P],得到校验位Si=Ki×P,i=1,2,…,l;

S23、计算S′=S1||S2||...||Sl和符号代表逐比特异或,得到盲化后的校验位S;

S24、发送盲化的校验位,所述通信一方将S通过公开信道发送给通信另一方。

通信另一方收到校验位后进行不一致比特去除的具体方法步骤为:

S31、校验位去盲化,计算

S32、将K′切分成l个比特长度为短的比特序列,记作Ki′,i=1,2,…,l;

S33、将切分成l个比特长度为(n-k)短的比特序列

S34、利用译码算法对码字进行译码即利用校验位并基于相应的译码算法和校验矩阵H对比特序列Ki′进行译码,得到密钥块Ki,i=1,2,…,l;

S35、密钥序列串接K=K1||K2||...||Kl,即将密钥块Ki(i=1,2,…,l)按顺序串接,得到随机比特序列K。

通过以上的密钥协商与不一致比特去除方法,在不考虑解码失败的情况下,通信双方获得了共同的随机比特序列K,K可用作他们后续安全通信的密钥。

与现有技术相比,本发明的有益效果是:在进行信息交互时,与传统的密钥协商方法采用的信息交互方法相比,经过盲化操作的校验子S没有泄露任何关于密钥K的消息;从窃听方的角度来看,它窃听到的检正子信息是经过盲化的、完全随机的比特序列,所以窃听方无法从窃听的信息中提取关于密钥的信息;能够通过非交互的方式完成密钥协商工作,较之需要多次信息交互的密钥协商方法,可以大大缩减计算以及协商时间,而且在某些应用场景下具有不可替代性。

附图说明

图1为本发明其中一实施例的流程示意图。

具体实施方式

为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。

本说明书(包括摘要和附图)中公开的任一特征,除非特别叙述,均可被其他等效或者具有类似目的的替代特征加以替换。即,除非特别叙述,每个特征只是一系列等效或类似特征中的一个例子而已。

具体实施例1

一种无线信道物理层密钥协商与不一致比特去除方法,具体方法为:基于纠错编码去除无线通信双方的不一致比特,通过非交互的方式完成密钥协商工作,利用与校验位相独立的随机比特序列来盲化在公共信道传输的校验位。

纠错编码(error correcting code),是在接收端能自动地纠正数据传输中所发生差错的编码算法。纠错码的基本思路是在所有的由发送符号组成的序列中,仅挑出其中一部分做为信息的代表向信道发送,并使得所挑出的这些序列之间有尽可能多的差异。每个被挑出的允许发送的序列被称为一个码字,而码字的总合称为码。在发送端把信息变换成码字的过程称为编码;在接收端从接收到的信号判定所发码字、从而恢复信息的过程称为解码(或译码)。在解码时,若收到的信号不是码中的一个码字,则可以肯定在传输中出现了差错,从而着手对差错进行纠正。纠错的方法是找到与接收到的信号最接近的码字,并将其判定为发送信号。一般采用“距离”来度量信号间的接近程度,一种常用的“距离”称为汉明距离,它被定义为两码字间对应位不同的个数总和。一个给定码,其全部码字两两之间距离的最小值被称为这个码的码距。码距是一个码纠错能力的重要参数,例如在汉明距离下,若接收到的信号出错的位数不多于码距的一半,则接收端总能正确地恢复所发送的码字,从而正确地恢复所发送的信息。

具体实施例2

在具体实施例1的基础上,包括初始化过程、通信一方生成并发送校验位的过程和通信另一方收到校验位后进行不一致比特去除的过程;

其中,初始化过程中,选取纠错编码算法及与其相对应的密码算法,及其生成矩阵和校验矩阵;

通信一方生成并发送校验位的过程中,通信一方将其随机比特序列切分为短的比特序列后,将切分的短的比特序列与纠错编码算法的生成矩阵相乘得到校验位;将得到的校验位进行盲化后发送给通信另一方;

通信另一方收到校验位后进行不一致比特去除的过程中,通信另一方将校验位去盲化,将其随机比特序列切分为短的比特序列,并将去盲化后的校验位切分为短的比特序列;通信另一方利用对去盲化后的校验位切分或的短的比特序列作为校正字,基于所述相对应的密码算法和所述校验矩阵,对通信另一方随机比特序列切分后的短的比特序列进行译码,得到密钥块;将得到的密钥块按顺序串接得到所述通信一方的随机比特序列,作为通信双方的后续安全通信的密钥。

具体实施例3

在具体实施例2的基础上,初始化过程的具体方法为:

选取码长为n且信息位长为k的(n,k)纠错编码算法(此算法可以选用任何纠错编码算法),包括编码算法E(·)和译码算法D(·);令被编码的信息为k比特长的X,则编码算法En,k(X)输出一个比特长度为n的码字{X,S},其中S是比特长度为n-k的校验位,则编码算法表示为E(·):En,k(X)→{X,S},相应的译码算法为其中为码字,X为译码结果;同时,令纠错编码算法的生成矩阵为G=[Ik,P],校验矩阵为H=[PT,In-k];其中,Ik是k阶单位矩阵,P是k行(n-k)列矩阵;In-k是(n-k)阶单位矩阵,PT是P的转置矩阵;

令合法通信双方为Alice和Bob。合法通信双方Alice和Bob在相干时间内完成对无线信道的双向探测,选取包括信道响应幅度和相位的信道参数,在接收信号中对选定的信道参数进行测量并进行量化,得到用于生成共享密钥的初始比特序列Ka和Kb;即通信一方获得的比特序列Ka=K||ω,通信另一方获得的比特序列Kb=K′||ω′,其中符号“||”表示比特序列按序串接,比特序列K和K′的比特长度均为N,而且N是k的整数倍,即l=N/k,l是正整数,比特序列ω和ω′的比特长度均为l×(n-k)l×(n-k);其中,ω与K相互独立,ω′与K′相互独立,ω和ω′均为盲化信息位。

线性分组码:在构造纠错码时,若码元间的关系为线性关系,则称之为线性码。在编码时,将输入信息分成k位一组以进行编码,若编出的校验位仅与本组的信息位有关,则称这样的码为分组码。典型的分组码是由k位信息位和(n-k)位校验位组成的,这样构成的码一般称为系统码,其中n为码长。线性分组码系统码的生成矩阵G具有[Ik,P]的形式,其中,Ik是k阶单位矩阵,P是k行(n-k)列矩阵,而相应的校验矩阵H具有[PT,In-k]的形式,其中In-k是(n-k)阶单位矩阵,PT是P的转置矩阵。

具体实施例4

如图1所示,在具体实施例2或3的基础上,通信一方(Alice)生成并发送校验位的过程中,将得到的校验位进行盲化的具体方法为:计算S′=S1||S2||...||Sl和符号代表逐特异或;其中,Si为得到的校验位S′的第i比特,i=1,2,…,l,S为盲化后的校验位。

具体实施例5

如图1所示,在具体实施例2到4之一的基础上,通信一方(Alice)生成并发送校验位的具体方法步骤为:

S21、将比特序列K切分成l个长度为k的短比特序列K1,K2,...,Kl

S22、利用编码算法对Ki进行编码En,k(Ki)→{Ki,Si},即将比特序列Ki分别与纠错编码算法的生成矩阵G相乘,Ki×[Ik,P],得到校验位Si=Ki×P,i=1,2,…,l;

S23、计算S′=S1||S2||...||Sl和符号代表逐比特异或,得到盲化后的校验位S;

S24、发送盲化的校验位,所述通信一方将S通过公开信道发送给通信另一方。

通信另一方(Bob)收到校验位后进行不一致比特去除的具体方法步骤为:

S31、校验位去盲化,计算

S32、将K′切分成l个比特长度为短的比特序列,记作Ki′,i=1,2,…,l;

S33、将切分成l个比特长度为(n-k)短的比特序列

S34、利用译码算法对码字进行译码即利用校验位并基于相应的译码算法和校验矩阵H对比特序列Ki′进行译码,得到密钥块Ki,i=1,2,…,l;

S35、密钥序列串接K=K1||K2||...||Kl,即将密钥块Ki(i=1,2,…,l)按顺序串接,得到随机比特序列K。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1