一种无线信道数据完整性保护方法

文档序号:7851501阅读:280来源:国知局
专利名称:一种无线信道数据完整性保护方法
技术领域
本发明具体涉及一种无线信道数据完整性保护方法,属于计算机、通信和信息安全技术领域。
背景技术
在非安全信道进行消息完整性保护与认证是信息系统的基本安全目标之一。此前大多采用基于证书的公钥或共享秘密钥结合适当的密码学原语(即,加解密方案、数字签名、消息认证码等)方式来实现。在无线信道(尤其是空天、卫星信道)信息传输过程中,开放的无线信道,消息数据易遭受未授权篡改、重放等主动攻击,且信道的噪声干扰亦会破坏数据完整性。在此情况下,简单通过消息级联消息认证码的数据完整性保护方法具有较多的安全性与效率问题。如,在进行消息完整性校验时,无法定位是消息数据发生的错误,还是消息认证码产生了误 码。因此,一旦接收端所得消息数据经过完整性校验计算后如果同所收消息认证码不匹配,通常会将消息数据连通消息认证码一同丢弃,并通知发端重传。采用这种传统数据完整性保护方式极大地影响信道利用率,且易遭受拒绝服务攻击。此外,传统的将消息数据级联消息认证码传送并由收端进行校验的模式,要求事先在收发双方共享部分秘密信息(秘密预分发)或收发双方拥有已认证的公/私钥对。其中可采用密码学技术,也可采用“位置受限信道(location-limited channel)”的方式进行收发端密钥共享——该模式很难满足在无线尤其空天通信模式下对动态性和可扩展性的应用需求。个别技术方案采用单向编码(如,等重码)方式进行完整性数据保护,但该类方案仅能对消息认证码进行检错,一旦发现消息认证码存在误码,则需将消息认证码丢弃,由发方重传,同样存在信道利用率不高、易受拒绝服务攻击等效率与安全性问题。

发明内容
I、目的本发明的目的在于提供一种无线信道数据完整性保护方法,它是一种收发双方无需共享任何认证信息(如,公钥、秘密份额等)无线信道数据完整性保护方法。本发明不仅针对通信数据完整性保护,亦可用于身份(接入)认证等数据完整性保护应用。2、技术方案本发明的环境条件如下对于通信实体I)通信中两实体彼此信任;2)协议中所参与实体未被攻破;3)协议中实体知道全部(公开)协议参数。对于攻击者(Mallory,M):
I)攻击者可监听信道所传消息;2)攻击者可通过向信道添加其指定消息;3)攻击者无法阻断信道;4)攻击者计算能力受限。对于消息中的任意一位,令‘I’代表有信号,‘0’代表没有信号,如图4所示。攻击者想要修改消息时容易使传输消息中的‘0’变为‘1’,却很难实现由‘I’变为‘O’。攻击者要想将‘I’变为‘0’必须要先预测接收者接收到的信号中代表‘I’的波形的形状,并发送相反波形的信号来抵消‘I’的波形。但是由于信道参数的随机性和发送者使用的波形的随机性,这种情况是很难发生的。发送者可以随机选择代表‘I’的波形的幅度、相位、频率以及信号的持续时间来防止攻击者修改信号,如图5所示。 另外,由于接收者在发送者发送消息的功率覆盖范围之内,攻击者可以修改发送者发送的消息(将‘0’修改为‘I’)却不能阻断发送者发送的消息,接收者能接收到发送者发送的消息,尽管可能被攻击者修改过。本发明通过开关调制、可纠错单向完整性码对消息认证码(MessageAuthentication Code)进行编码处理;接收端解调判决恢复出消息认证码,并通过完整性纠错码(如纠t个错误码)对消息认证码进行校验,若发生错误,即进行纠错,若超出完整性纠错码纠错门限(如H个错误),则丢弃该消息认证码,请求重传。本发明技术方案发送端的处理流程如图I所示,步骤如下I)对消息m进行杂凑运算,得到消息认证码(Message Authentication Code)H(m);2)对消息m的消息认证码H(m)进行i_code纠错编码得到H1 (m), i_code编码方式将在后文详细介绍;3)对于纠错编码得到的H1 (m),注入间隔码以确保码字传输与接收同步;4)将第3)步得到的码字经过开关调制后通过信道I发送给接受者,同时将原始消息m通过信道2发送给接收者。上述步骤中,信道I为相对安全信道,但带宽受限;信道2为不完全信道,但可快速传输大量数据。二者也可为同一信道。根据前面提出环境条件,接收者在发送者发送消息的功率覆盖范围之内。接收端接收到信道I和信道2的消息后处理步骤如下I)对于从信道I接收的消息C,根据纠错编码和间隔码同步规则对消息c进行检错。若c正确则转向步骤2),否则转向步骤3),如图2A所示;2)计算信道2接收的消息m的消息认证码H(m),看c是否等于H(m)。若相等表明m正确;否则丢弃m,重新等待接收消息m,如图2B所示。3)根据纠错编码和间隔码同步规则对消息c进行纠错,纠错结果为c’,如图2C所
/Jn ο4)计算从信道2接收的消息m的消息认证码H(m),判断c’是否等于H(m)。若相等表明m正确;否则丢弃c和m,重新从信道I接收消息。上述流程中关键部分为消息认证码的发送和接收过程。综上所述,本发明一种无线信道数据完整性保护方法,它包含发送端的处理和接收端的处理两部分流程。该方法具体步骤如下(I)见图3,发送端的处理流程,其具体步骤如下步骤一发送端对消息m进行杂凑运算,得到消息认证码H(m);该消息认证码用于校验消息的完整性。步骤二 对步骤一得到的消息认证码进行i-code纠错编码,得到Hl (m);该编码机制可确保接收机验证发送端所传消息数据的完整性,同时可纠部分错误,仅仅依赖于消息编码,而无需此前收发双方共享任何秘密或借助于公钥基础设施。同时在发现消息完整性被破坏时进行一定程度(纠错门限内)的消息恢复,避免由于检错后直接丢弃造成信道利用率较低的问题,同时可增加敌手针对这一问题进行拒绝服务(Denial ofService, DoS)攻击的成本,进而一定程度上避免被敌手利用进行拒绝服务攻击。以纠一位错误的完整性保护码为例。设码的最小距离为r,若要具有I位纠错能
力,则1,故r彡3。当码长为3时,共有如下三种能纠I位错误的码=C1: {010,101}、C2: {001,110}、C3: {100,011}。这三种码都是等价的,只是对应用于同步的间隔码可能不一样。本实施例仅对C1讨论。I)如果接收的码字能够根据当前的编码规则进行正确解码(比如010->0,101->1),那么接收者就认为这条消息是有效的。2)如果接收的信息为包含的码字为‘110’、‘011’,则将其解码为‘O’。这是因为根据前提一,发送者发送的码字‘101’只能被修改为‘111’,所以码字‘’和‘011’ 一定是由‘010’修改得到的,因此将‘110’和‘011’解码为‘O’。3)如果接收的信息包含的码字为‘111’,由于无法知道是从‘010’修改得到还是‘101’修改得到,因此无法正确解码,将此信息丢弃。在这种情况下攻击者只能使原始消息无效,并不能将原始消息篡改为其它有意义的消息。步骤三对上述经过i-code编码的消息H1(Iii)添加间隔码,用于接收同步;消息认证码经过i-code编码后,需要加入同步码才能保证接收端准确接收,下面是对这种同步码的实现。假设编码规则为C1: {010,101},信息‘100’经过编码后为‘101010010’。发送端可发送......间隔码101010010间隔码......。接收者首先确认对应的发送者是否正在发送上面的重复序列,然后对两个间隔码之间的码字进行解码。这种同步方式的好处是更灵活,接收者不需要知道发生码字的长度。对于间隔码的选取应该是满足以下条件的最短的码I)任何码字的子序列(包括此码字)都不能被修改为间隔码,除非子序列中有一个以上的bit ‘I’变为bit ‘0’ ;2)间隔码也不能修改为任何码字的子序列(包括此码字),除非间隔码中有一个以上的 bit ‘I’ 变为 bit ‘0’ ;3)任何接收的在两个间隔码之间的码字必须是有效的。对于C1: {010, 101}对应的间隔码为1110001,后面将给出更详尽的分析。步骤四添加间隔码后,对消息开关调制,然后从信道I发送给接收者。进行i-code编码,并添加间隔码以确保收发同步后,可通过在物理层进行开关调制将码字发送至无线信道。对码元符号“1”,发送者在相应码元间隔(Ts)发送信号(波形);对码元符号“O”,发送者在对应码元间隔不发送任何信号一通过信号的“有” “无”来标识码元信息,如图4所示。收端根据对应码元间隔的能量强度进行判决码元为“ I”或“O”。(2)见图2A、B、C,接收端的处理流程,其具体步骤如下步骤一对于从信道I接收的消息C,根据纠错编码和间隔码同步规则对消息c进行检错。若c正确则转向步骤二,否则转向步骤三,如图2A所示;步骤二 计算信道2接收的消息m的消息认证码H(m),看c是否等于H(m)。若相等表明m正确;否则丢弃m,重新等待接收消息m,如图2B所示。步骤三根据纠错编码和间隔码同步规则对消息c进行纠错,纠错结果为c’,如图 2C所示。步骤四计算从信道2接收的消息m的消息认证码H(m),判断c’是否等于H(m)。若相等表明m正确;否则丢弃c和m,重新从信道I接收消息。接收端接收到信号后根据调制规则先解调出数字信号(经过i-code编码后加入间隔码的消息)。由间隔码的选取规则可知,在攻击者无法将符号“O”转换为符号“I”的条件下,任何i-code编码后的消息不能修改为间隔码的子串,且间隔码的任意子串不能修改为i-code编码后的消息。因此可确定间隔码的准确位置,并找出两个间隔码之间的有效消息码字。然后根据i-code的编码规则进行纠错、解码,将{ ‘010’、‘110’、‘011’ }解码为‘0’,将{ ‘101’ }解码为 ‘O’。需要指出的是,敌手可非常容易的将符号“O”转换为符号“ I ”,若仅仅通过校验检错后丢弃则易被敌手利用发起DoS攻击,此时可采用本方法在解调后通过完整性保护码纠错进行恢复,再次校验后,若仍无法与消息计算后认证码匹配,则丢弃重传。以此方式可减 少消息重传轮次,提高信道利用率,同时一定程度避免DoS攻击。3、优点及功效本发明的优点在于能在很大程度上保证在非安全信道上传输数据的完整性。其中选择具有一位纠错能力的编解码方式能在一定程度上抵抗拒绝服务攻击,并能减少消息重传次数,从而提高信道的利用率。本发明中采用间隔码的方式易于信息交流的双方实现收发同步,其中间隔码的选取方式也对数据完整性保护起到很大作用。


图I为一种无线信道数据完整性保护方法发送端编码调制流程2A为信道I消息检错处理分支2B为接收端在信道I消息检错正确时处理流程2C为接收端在信道I消息检错错误时处理流程图
图3为纠一位错误完整性编码与调制示意4为开关调制5为随机化处理的输入码元调制波形6为本发明流程框中符号说明如下m:原始消息Hash :杂凑函数
H(m):消息m经过杂凑函数处理得到的消息认证码H1(Iii) :i_code编码后的消息认证码c :经过开关调制后的模拟信号Message A:原始消息Message B:经过i-code编码后的消息Ts:码元周期CASEl:接收端处理流程ICASE2:接收端处理流程具体实施例方式如图I所示,在无线信道中,可将原始消息数据m通过常规高带宽信道传送;而将消息认证码H(m)通过高效完整性消息编码、间隔码同步、开关调制后通过其他信道发送。如图2A、2B、2C所示,接收端收到相应信号后,进行解调判决。恢复的码元序列通过对应的完整性消息编码规则进行译码、校验,若无误码,则直接可用于与所收原始消息数据计算所得MAC值进行比对,若不匹配则认为原始消息传输出错,进行消息丢弃、重传;若发生误码,则根据完整性消息译码规则进行纠错。纠错后的消息认证码用于与所接收消息计算所得MAC值进行比对,若两值匹配,则说明MAC值纠错正确,原始消息数据传输正确;若MAC不匹配,则直接判决为MAC未能完全纠错误码,MAC消息丢弃、重传后,重复此前操作,直至MAC值匹配,即确保原始消息数据传输无误。全部流程如图6所示。见图6,本发明一种无线信道数据完整性保护方法,该方法具体步骤如下(I)发送端的处理流程,见图3,其具体步骤如下步骤一发送端对消息m进行杂凑运算,得到消息认证码(MessageAuthentication Code)H(m);杂凑函数可选用SHA-I或者SHA-256等,根据具体情况而定。步骤二 对步骤一得到的H(m)进行i-code纠错编码;本实施例中,仅以纠一位错误的完整性保护码为例进行详尽描述。设码的最小距离为r,若要具有I位纠错能力,则$ 2 I,故!■彡3。当码长为3时,共有如下三种能纠I位错误的码=C1: {010,101},C2: {001,110},C3: {100,011}。当然,仅仅从编码的角度而言,这三种码都是等价的,这里之所以全部列出,原因在于对于不同的码,它们的对应用于同步的间隔码可能不一样。本实施例仅对C1讨论。I)如果接收的码字能够根据当前的编码规则进行正确解码(比如010->0,101->1),那么接收者就认为这条消息是有效的。2)如果接收的信息为包含的码字为‘110’、‘011’,则将其解码为‘O’。这是因为根据前提一,发送者发送的码字‘101’只能被修改为‘111’,所以码字‘100’和‘011’ 一定是由‘010’修改得到的,因此将‘110’和‘011’解码为‘O’。3)如果接收的信息包含的码字为‘111’,由于无法知道是从‘010’修改得到还是‘101’修改得到,因此无法正确解码,将此信息丢弃。步骤三对于纠错编码得到的H1 (m),注入间隔码以确保码字传输与接收同步;消息认证码经过i-code编码后,需要加入同步码才能保证接收端准确接收,下面是对这种同步码的实现。假设编码规则为C1: {010,101},信息‘100’经过编码后为‘101010010’。发送端可发送......间隔码101010010间隔码......。接收者首先确认对应的发送者是否正在发送上面的重复序列,然后对两个间隔码之间的码字进行解码。这种同步方式的好处是更灵活,接收者不需要知道发生码字的长度。对于间隔码的选取应该是满足以下条件的最短的码I)任何码字的子序列(包括此码字)都不能被修改为间隔码,除非子序列中有一个以上的bit ‘I’变为bit ‘0’ ;2)间隔码也不能修改为任何码字的子序列(包括此码字),除非间隔码中有一个以上的 bit ‘I’ 变为 bit ‘0’ ;3)任何接收的在两个间隔码之间的码字必须是有效的。这里仅讨论C1 {010,101}对应的间隔码。对C1中码字进行可能的翻转(O — I),能得到的扩展码记为F1, F1 = {010,101,110,011,111} 中码字经过可能的翻转(1_>0)后得到的扩展码集为G1,则G1 = {010,101,000,001,100}。假设C1存在位长不大于6的间隔码,则由条件中的I)、2),不难知道该间隔码必是如下形式字符串的子串w = W1I |w2或w21 IW1,其中,W1 e F1XC1, w2 e G1XC1 ;这里"I I "表示字符串的连接。理由如下F1 U G1 = {0,I}3,即任意6 bits的字串均可由F1和G1中的码元连接而成;若取W1, W2 e F1,则W11 IW2 (W21 IW1)不满足间隔码条件的第2条;若取W1, W2 e G1,则W11 W2 (W2I IW1)不满足间隔码条件的第I条;另外,考虑到间隔码的第一个字位上不能是‘0’,因为在我们的讨论中,‘0’代表什么也不发送,如果用于间隔码,这在应用上是不妥的。因此,我们可以写出可能包含间隔码的所有6位字符串110000 110001 110100 111000 111001 111100 100110 100011 100111依次记为dpdy……、d9 ;下面将逐一说明它们都不能包含间隔码,从而没有位长小于等于6的间隔码。为此,只需说明它们本身都不满足间隔码定义中的1、2、3,因为如果存在某个Cli包含间隔码,则显然该Cli必满足间隔码定义中的1、2、3。Cl1 =110000 - 10111011010,左起第 4 位和第 6 位由 ‘O,变成 ‘I,;d2 =110001 — 1011 1011010,左起第 4 位由 ‘O,变成 ‘I,;d3 =110101 ^ 1011 1011010,左起第 6 位由 ‘O,变成 ‘I’ ;d4 =111000满足间隔码条件中的第1、2条,但是它不满足第3条,例如111000 I 010 1111000 I 010 可以改成 11111000 11011111000 110 (注意黑体字符的改动),而
发送的信息即由‘010’改成了 ‘101’ ;d5 =111001 一 101|010|010,黑体字符串的左起第2位由‘O,改成‘I’ ;d6 =111100 一 101|010|010,黑体字符串的左起第1、3位由‘O,改成‘I’ ;d7 =100110 ^ 1011 1011 101,左起第 2 位由 ‘O,改成 ‘I,;
d8 =100011 — 010| 1011 101,左起第 3 位由 ‘O,改成 ‘I,;d9:100111 — 010|010|101,黑体字符串的左起第5位由‘O,改成‘I’ ;
由前面的讨论,C2对应的间隔码的位长大于等于7,可在d4后添加个‘I’即可满足条件1、2、3。因此选择C1对应的间隔码是1110001。步骤四将步骤三得到的码字经过开关调制后通过信道I发送给接受者,同时将原始消息m通过信道2发送给接收者;如图4,发射机在对应码元间隔发射信号以发送码元“ I ”,不发射信号以发送码元“O”。为有效接收信号,接收端只需简单检测对应码元时隙的能量。此前间隔码可确保通信时,收发双方同步,令Pr为接收端所测得Ts码元间隔内的能量值Λ为能量门限;接收判决准则如下I)若Pr < P。,则输出码元“0”,2)若Pr > P。,则输出码元“I”。在发射机同步情形下,接收机监听9个码元间隔9XTs,解调并经能量判决后,通过i-code对应编码规则译码。以获取发射机所发送消息。为防止敌手由信道移除信号,这里采用如下方案发送端随机生成向英语码元“I”的信号。即,对应于已进行i-code以及注入间隔码的码序列中的码元“I”为随机信号,实现中可任意针对幅度、相位、频率进行随机化处理,如图5所示。(2)接收端的处理流程,其具体步骤如下步骤一对于从信道I接收的消息C,根据纠错编码和间隔码同步规则对消息c进行检错。若c正确则转向步骤二,否则转向步骤三,如图2A所示;步骤二 计算信道2接收的消息m的消息认证码H(m),看c是否等于H(m)。若相等表明m正确;否则丢弃m,重新等待接收消息m,如图2B所示。 步骤三根据纠错编码和间隔码同步规则对消息c进行纠错,纠错结果为c’,如图2C所示。步骤四计算从信道2接收的消息m的消息认证码H(m),判断c’是否等于H(m)。若相等表明m正确;否则丢弃c和m,重新从信道I接收消息。尽管为说明目的公开了本发明的具体实施例和附图,其目的在于帮助理解本发明的内容并予以实施,但是本领域的技术人员可以理解在不脱离本发明及所附的权利要求的精神和范围内,各种替换和修改都是可能的。因此,本发明不应局限于最佳实施例和附图所公开的内容,本发明要求保护的范围以权利要求书界定的范围为准。
权利要求
1.一种无线信道数据完整性保护方法,其特征在于它包含发送端的处理和接收端的处理两部分流程,该方法具体步骤如下 (1)发送端的处理流程,其具体步骤如下 步骤一发送端对消息m进行杂凑运算,得到消息认证码H(m);该消息认证码用于校验消息的完整性; 步骤二 对步骤一得到的消息认证码进行i-code纠错编码,得到H1On); 该编码机制确保接收机验证发送端所传消息数据的完整性,同时可纠部分错误,仅仅依赖于消息编码,而无需此前收发双方共享任何秘密或借助于公钥基础设施;同时在发现消息完整性被破坏时进行纠错门限内的消息恢复,避免由于检错后直接丢弃造成信道利用率较低的问题,同时增加敌手针对这一问题进行拒绝服务攻击的成本,进而避免被敌手利用进行拒绝服务攻击; 步骤三对上述经过i-code编码的消息H1On)添加间隔码,用于接收同步; 消息认证码经过i-code编码后,需要加入同步码才能保证接收端准确接收,假设编码规则为C1: {010,101},信息‘100’经过编码后为‘101010010’,发送端发送……间隔码.101010010 间隔码......; 接收者首先确认对应的发送者是否正在发送上面的重复序列,然后对两个间隔码之间的码字进行解码;对于间隔码的选取应该是满足以下条件的最短的码 1)任何码字的子序列,包括此码字都不能被修改为间隔码,除非子序列中有一个以上的 bit ‘I’ 变为 bit ‘0’ ; 2)间隔码也不能修改为任何码字的子序列包括此码字,除非间隔码中有一个以上的bit ‘I’ 变为 bit ‘0’ ; 3)任何接收的在两个间隔码之间的码字必须是有效的; 对于C1: {010,101}对应的间隔码为1110001 ; 步骤四添加间隔码后,对消息开关调制,然后从信道I发送给接收者; 进行i-code编码,并添加间隔码以确保收发同步后,通过在物理层进行开关调制将码字发送至无线信道;对码元符号“1”,发送者在相应码元间隔Ts发送波形信号;对码元符号“0”,发送者在对应码元间隔不发送任何信号一通过信号的“有” “无”来标识码元信息,接收端根据对应码元间隔的能量强度进行判决码元为“ I”或“0” ; (2)接收端的处理流程,其具体步骤如下 步骤一对于从信道I接收的消息C,根据纠错编码和间隔码同步规则对消息c进行检错;若c正确则转向步骤二,否则转向步骤三; 步骤二 计算信道2接收的消息m的消息认证码H (m),看c是否等于H (m);若相等表明m正确;否则丢弃m,重新等待接收消息m ; 步骤三根据纠错编码和间隔码同步规则对消息c进行纠错,纠错结果为c’ ; 步骤四计算从信道2接收的消息m的消息认证码H(m),判断c’是否等于H(m);若相等表明m正确;否则丢弃c和m,重新从信道I接收消息。
全文摘要
一种无线信道数据完整性保护方法,包含发送端和接收端两个处理,发送端一、发送端对消息m进行杂凑运算,得到消息认证码H(m);二、对H(m)进行i-code纠错编码,得到H1(m);三、对H1(m)添加间隔码,接收同步;四对消息开关调制,从信道1发送给接收者。接收端一、根据纠错编码和间隔码同步规则对从信道1接收的消息c进行检错;若c正确则转向二,否则转向三;二、计算信道2接收的消息认证码H(m),看c是否等于H(m);若相等表明m正确;否则丢弃m,重新等待接收消息m;三、根据纠错编码和间隔码同步规则对消息c进行纠错,纠错结果为c’;四、计算从信道2接收的消息认证码H(m),判断c’是否等于H(m);若相等表明m正确;否则丢弃c和m,重新从信道1接收消息。
文档编号H04L1/00GK102664710SQ20121015408
公开日2012年9月12日 申请日期2012年5月17日 优先权日2012年5月17日
发明者冯克, 刘建伟, 张晏, 徐先栋, 李坤, 毛剑 申请人:北京航空航天大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1