基于自同步混沌密码的铁路应答器报文安全增强方法转让专利

申请号 : CN201810732792.X

文献号 : CN108964870B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 王小敏张文芳姜志儒

申请人 : 西南交通大学

摘要 :

本发明公开了基于自同步混沌密码的铁路应答器报文安全增强方法,方法包括如下步骤:步骤S1:构建自同步非线性数字滤波器混沌加密系统;步骤S2:将用户报文转换为应答器的传输报文;步骤S3:根据系统的状态,对用户应答器的传输报文进行加密设置;步骤S4:利用车载BTM对应答器的传输报文进行解密,结束程序;解决了明文传输带来的若干安全隐患、现有编码方式在噪声干扰大时报文接收率低、传统密码算法加解密效率低难以满足铁路应答器报文加密的实时性要求的问题。

权利要求 :

1.基于自同步混沌密码的铁路应答器报文安全增强方法,其特征在于,方法包括如下步骤:步骤S1:构建自同步非线性数字滤波器混沌加密系统;

步骤S2:将用户报文转换为应答器的传输报文;

步骤S3:根据系统的状态,对用户应答器的传输报文进行加密设置;

所述步骤S3的具体步骤为:

步骤S31:设置系统初始状态{Y(-3),Y(-2),Y(-1)},选出初始密钥Key,Key的取值范围

64

为(0,2 );

步骤S32:根据Y(i-3)即三个时刻之前的密文,计算出对应的系数{Cm1,Cm2},从而选择本时刻用来加密的非线性数字滤波器子系统,其中,Y(i-3)表示三个时刻前的密文;

步骤S33:根据计算出的加密的非线性数字滤波器子系统,计算出加密报文Y(i),其中,p=(Cm1×key)mod(264), 表示复合运算,Cmn表示Y(i-3)对应的系数组,X(i)表示明文,Y(i-n)表示n个时刻前的密文值,Sp表示S盒的P次迭代;

步骤S34:将得到的密文值传输到车载设备BTM系统中,更新系统状态,进行下一组报文的加密;

步骤S4:利用车载BTM对加密后的传输报文进行解密,结束程序。

2.根据权利要求1所述的基于自同步混沌密码的铁路应答器报文安全增强方法,其特征在于,所述步骤S1的具体步骤为:步骤S11:计算满足Kellber条件和熵准则的非线性数字滤波器系数组;

步骤S12:将系数组随机排序后形成有序的非线性数字滤波器子系统。

3.根据权利要求2所述的基于自同步混沌密码的铁路应答器报文安全增强方法,其特征在于,所述步骤S12的滤波器切换为:使用三个时刻前的密文进行取模的计算方式进行系数组的选择,即系数组{Cm1,Cm2}中m的计算方法为:m=Y(i-3)mod64

其中,Y(i-3)表示三个时刻前的密文,mod表示取模运算。

4.根据权利要求1所述的基于自同步混沌密码的铁路应答器报文安全增强方法,其特征在于,所述步骤S2的具体步骤为:步骤S21:将报文的二进制序列bn-1bn-2...b0,n=830或者n=210,分为62比特长序列,如果报文的长度不够62比特,在每组后添加0补齐,对于长报文,其分组后为{b867b866...b806,...,b61b60...b0},对于短报文,其分组为{b247b246...b186,...,b61b60...b0};

步骤S22:在每组的最后添加00作为分组的验证码,对于长报文,其分组后为{b895b894...b832,...,b63b62...b0},对于短报文,其分组为{b255b254...b192,...,b63b62...b0}。

5.根据权利要求1所述的基于自同步混沌密码的铁路应答器报文安全增强方法,其特征在于,所述步骤S4的具体步骤为步骤S41:利用车载设备BTM读入接收到的应答器加密报文,将系统初始密钥Key和系统初始状态{Y(-3),Y(-2),Y(-1)}作为解密的初始状态;

步骤S42:利用车载设备BTM判断应答器加密报文是否为长报文,若是,则从用户数据位开始读取896比特数据;若否则为短报文,则从用户数据位开始读取256比特数据;

步骤S43:利用车载BTM将读取的数据按照64比特一组进行解密,得到明文X(i);明文X(i)解密计算如下其中,p=(Cm1×key)mod(264),Cmn表示Y(i-3)对应的系数组;S-p表示S盒的逆P次迭代;

步骤S44:利用车载BTM在解密后对解密报文进行验证,校验其每组的后两位校验码是否为

00,以此检验报文在传输过程是否被噪声干扰,若所有校验位均正确,则直接去掉校验位以及填充位,得到用户报文;若校验码出现错误,则对错误校验组别进行标记并对加密报文进行二次接收,对标记组别进行解密验证,接收到解密的报文若通过验证,则将标记组别覆盖并取消标记,否则,继续接收直至校验位均正确,之后去掉校验位以及填充位,得到用户报文,结束程序。

说明书 :

基于自同步混沌密码的铁路应答器报文安全增强方法

技术领域

[0001] 本发明涉及安全增强方法领域,特别是基于自同步混沌密码的铁路应答器报文安全增强方法。

背景技术

[0002] 应答器设备是点式地对车信息传输设备,是保证高速列车运行安全、可靠、高效的关键技术设备之一,可用于CTCS-1至CTCS-4各级列车运行控制系统。报文作为传输铁路状态信息的载体。包含了限速信息、进出站信息、定位信息、线路状况、轨道区段等等重要的安全信息。报文的准确性以及报文传输的安全性在CTCS系统中至关重要。
[0003] 我国的报文形式采用了欧洲的标准,应答器的报文分为应答器用户报文与应答器传输报文两种。其中,应答器用户报文时指用户信息通过一定的格式编制而成的报文,分为830比特的长报文以及210比特的短报文。每条应答器的用户报文皆由帧标识、用户数据位以及结束标志位构成。
[0004] 目前我国报文编码普遍采用欧洲铁路信号组织制定的FFFIS编码体系。该体系的特点为:
[0005] 1.使用未加密的明文进行传输,攻击者可以根据其规则伪造电报,且不能被BTM设备识别。攻击的成本小但是极可能造成严重的后果。
[0006] 2.使用75位校验码循环校验,若检验到错误报文则直接将其丢弃。由于应答器安装于室外两根铁轨之间,电磁环境较复杂,应答器报文从地面无线传输到列车的BTM过程中易遭受电磁干扰,从而发生随机位错误,降低了报文的接收效率。
[0007] 3.传统密码算法加解密时延大,影响了应答器报文传输的实时性。传统的密码算法为达到对明文的扩散与混淆功能,往往需要复杂的系统结构进行多轮运算。混沌密码算法大多建立在实数状态空间并采用浮点数多次迭代算法。两种方式都降低了加解密效率,难以满足铁路应答器报文加解密的实时性要求。

发明内容

[0008] 为解决现有技术中存在的问题,本发明提供了基于自同步混沌密码的铁路应答器报文安全增强方法,解决了明文传输带来的若干安全隐患、现有编码方式在噪声情况复杂时报文接收率低、传统密码算法加解密效率低难以满足铁路应答器报文加密的实时性要求的问题。
[0009] 本发明采用的技术方案是:基于自同步混沌密码的铁路应答器报文安全增强方法,方法包括如下步骤:
[0010] 步骤S1:构建自同步非线性数字滤波器混沌加密系统;
[0011] 步骤S2:将用户报文转换为应答器的传输报文;
[0012] 步骤S3:根据系统的状态,对用户应答器的传输报文进行加密设置;
[0013] 步骤S4:利用车载BTM对加密后的传输报文进行解密,结束程序。
[0014] 本发明于自同步混沌密码的铁路应答器报文安全增强方法的有益效果如下:
[0015] 1.提高了报文传输的安全性:对于明文传输带来的安全隐患,将报文加密后传输可以使攻击者无法得知报文信息,进而无法伪造报文,保证了报文传输过程的安全性。
[0016] 2.提高了报文的接收效率:本发明使用滤波器密文反馈的方式达到自同步的效果,并在明文分组后添加校验码的方式实现错误的定位功能。当报文传输发生异步或传输过程中受到噪声干扰时,可通过对校验码的验证实现对错误组别的标记并在4组后恢复系统的正确解密,提升了报文的接收效率。
[0017] 3.报文加解密具有良好的实时性:本发明采用基于整数运算的混沌数字滤波器框架实现加解密,其中滤波器反馈系数来自于满足混沌特性的预设系数表,且由密文求模动态切换,非线性转移函数采用S盒查找表方式。与传统加密方式相比,本发明利于计算机软硬件的实现,且运行速度快,更能够满足铁路应答器报文编解码的实时要求。

附图说明

[0018] 图1为本发明基于自同步混沌密码的铁路应答器报文安全增强方法的总体流程图。
[0019] 图2为本发明基于自同步混沌密码的铁路应答器报文安全增强方法的步骤S1的流程图。
[0020] 图3为本发明基于自同步混沌密码的铁路应答器报文安全增强方法的步骤S2的流程图。
[0021] 图4为本发明基于自同步混沌密码的铁路应答器报文安全增强方法的步骤S3的流程图
[0022] 图5为本发明基于自同步混沌密码的铁路应答器报文安全增强方法的混沌加密系统结构图。
[0023] 图6为本发明基于自同步混沌密码的铁路应答器报文安全增强方法的应答器报文解密流程图。
[0024] 图7为本发明基于自同步混沌密码的铁路应答器报文安全增强方法的混沌解密系统结构图。
[0025] 图8为本发明基于自同步混沌密码的铁路应答器报文安全增强方法的长报文原文及密文示例图。

具体实施方式

[0026] 下面对本发明的具体实施方式进行描述,以便于本技术领域的技术人员理解本发明,但应该清楚,本发明不限于具体实施方式的范围,对本技术领域的普通技术人员来讲,只要各种变化在所附的权利要求限定和确定的本发明的精神和范围内,这些变化是显而易见的,一切利用本发明构思的发明创造均在保护之列。
[0027] 如图1所示,基于自同步混沌密码的铁路应答器报文安全增强方法,方法包括如下步骤:
[0028] 步骤S1:构建自同步非线性数字滤波器混沌加密系统;
[0029] 步骤S2:将用户报文转换为应答器的传输报文;
[0030] 步骤S3:根据系统的状态,对用户应答器的传输报文进行加密设置;
[0031] 步骤S4:利用车载BTM对加密后的传输报文进行解密,结束程序。
[0032] 如图2所示,本方案的步骤S1的具体步骤为:
[0033] 步骤S11:计算满足Kellber条件和熵准则的非线性数字滤波器系数组;
[0034] 步骤S12:将系数组随机排序后形成有序的非线性数字滤波器子系统。
[0035] 本方案的步骤S12的滤波器切换为:
[0036] 使用三个时刻前的密文进行取模的计算方式进行系数组的选择,即系数组{Cm1,Cm2}中m的计算方法为:
[0037] m=Y(i-3)mod64
[0038] 其中,Y(i-3)表示三个时刻前的密文,mod表示取模运算。
[0039] 如图3所示,本方案的步骤S2的具体步骤为:
[0040] 步骤S21:将报文的二进制序列bn-1bn-2...b0,n=830或者n=210,分为62比特长序列,如果报文的长度不够62比特,在每组后添加0补齐,对于长报文,其分组后为{b867b866...b806,...,b61b60...b0},对于短报文,其分组为{b247b246...b186,...,b61b60...b0};
[0041] 步骤S22:在每组的最后添加00作为分组的验证码,对于长报文,其分组后为{b895b894...b832,...,b63b62...b0},对于短报文,其分组为{b255b254...b192,...,b63b62...b0}。
[0042] 如图4所示,本方案的步骤S3的具体步骤为:
[0043] 步骤S31:设置系统初始状态{Y(-3),Y(-2),Y(-1)},选出初始密钥Key,Key的取值范围为(0,264);
[0044] 步骤S32:根据Y(i-3)即三个时刻之前的密文,计算出对应的系数{Cm1,Cm2},从而选择本时刻用来加密的非线性数字滤波器子系统;
[0045] 步骤S33:根据计算出的加密的非线性数字滤波器子系统,计算出加密报文Y(i),[0046]
[0047] 其中,p=(Cm1×key)mod(264),“ο”表示复合运算,Cmn表示Y(i-3)对应的系数组,X(i)表示明文,Y(i-n)表示n个时刻前的密文值,Sp表示S盒的P次迭代;
[0048] 步骤S34:将得到的密文传输到车载设备BTM系统中,更新系统状态,进行下一组报文的加密。
[0049] 本方案的步骤S4的具体步骤为
[0050] 步骤S41:利用车载设备BTM读入接收到的应答器加密报文,将系统初始密钥Key和系统初始状态{Y(-3),Y(-2),Y(-1)}作为解密码的初始状态;
[0051] 步骤S42:利用车载设备BTM判断应答器加密报文是否为长报文,若是,则从用户数据位开始读取896比特数据;若否则为短报文,则从用户数据位开始读取256比特数据;
[0052] 步骤S43:利用车载BTM将读取的数据按照64比特一组进行解密,得到明文X(i);明文X(i)解密计算如下
[0053]
[0054] 其中,p=(Cm1×key)mod(264),Cmn为Y(i-3)对应的系数组;S-p表示S盒的逆的P次迭代;
[0055] 步骤S44:利用车载BTM在解密后对解密报文进行验证,校验其每组的后两位校验码是否为00,以此检验报文在传输过程是否被噪声干扰。若所有校验位均正确,则直接去掉校验位以及填充位,得到用户报文;若校验码出现错误,则对错误校验组别进行标记并对加密报文进行二次接收,对标记组别进行解密验证,接收到解密的报文若通过验证,则将标记组别覆盖并取消标记,否则,继续接收直至校验位均正确,之后去掉校验位以及填充位,得到用户报文,结束程序。
[0056] 本实施方案在实施时,第一步:构建自同步非线性数字滤波器混沌加密系统。
[0057] 首先构造同时满足Kellber条件和熵准则的非线性数字滤波器混沌子系统。为了使输出呈现混沌的状态,并能够掩盖应答器传输报文的特征,我们需要计算同时满足Kellber条件和熵准则的系数组。构建该子系统的反馈系数组如表1-1所示。
[0058] 表1-1
[0059] 6 27 37 210 39 220 66 207 14 147 51 106 23 108 12 18965 204 83 170 69 142 34 195 47 204 8 33 97 198 43 90
51 162 41 180 39 172 89 182 7 30 7 18 3 70 37 164
5 126 87 178 5 66 14 207 47 98 21 100 93 190 33 70
25 224 11 180 105 214 21 162 44 141 50 159 11 152 24 81
60 189 13 114 23 140 68 213 22 75 32 185 35 114 29 96
67 138 75 154 3 40 7 98 59 122 58 183 53 168 37 120
10 119 29 62 28 165 47 150 4 45 31 222 7 120 25 84
[0060] 如图5所示,滤波器系数切换策略:本发明使用64组系数组切换加密的方式,故系数组的选择采用三个时刻前的密文进行取模计算的方式,即{Cm1,Cm2}中m的计算方法为:
[0061] m=Y(i-3)mod64
[0062] 系统的非线性转移函数采用密码S盒。主要原因是S盒具有双射特性,能使加密后的报文保证在区间内遍历并且均匀的分布;S盒的输出比特间可以具有良好的独立性,通过对加密后的报文进行分析,攻击者无法得知其比特间的规律;S盒具有严格的雪崩效应,可以保证在用户报文发生微小变化时加密报文的变化很大,可以抵抗攻击者的差分攻击;此外,S盒运算本质上是表的查找过程,运算速度快。本发明选取的S盒如表1-2所示[0063] 表1-2
[0064] 121 50 31 84 8 0 52 205 190 99 203 132 42 41 173 6963 159 30 100 193 29 1 82 187 165 189 222 14 170 175 83
207 38 171 254 4 111 233 55 195 62 5 6 166 245 234 15
184 79 146 218 32 115 74 127 97 39 76 185 90 65 123 125
133 227 19 242 154 157 197 67 116 60 232 211 34 145 164 23
172 183 153 28 80 71 95 64 158 213 246 206 136 17 253 182
155 18 168 196 216 104 163 66 238 176 113 96 180 237 220 12
109 57 135 51 68 58 44 255 61 25 214 72 122 46 56 53
212 215 147 13 11 225 208 105 244 128 226 251 94 137 117 98
49 88 149 78 70 241 89 110 194 174 200 9 209 144 24 2
138 142 124 239 75 37 252 243 21 33 156 48 249 27 192 210
231 221 152 118 114 148 219 130 126 235 10 202 91 40 45 85
228 47 107 169 131 179 224 199 198 230 54 250 141 101 103 167
36 188 181 106 92 204 223 134 177 20 3 139 186 178 247 43
26 87 119 22 201 35 7 151 81 240 162 161 236 77 217 191
16 248 73 160 112 140 86 120 229 102 93 59 129 143 108 150
[0065] 第二步:将用户报文转换为传输报文。
[0066] 定义每组传输的具体格式:报文的二进制序列为bn-1bn-2...b0,其中,n=830或者n=210。将其分为62比特长的序列,不足的长度用0补齐,在每组后添加00作为分组的验证码。对于长报文,其分组后为{b895b894...b832,...,b63b62...b0}。对于短报文,其分组后格式为{b255b254...b192,...,b63b62...b0}。
[0067] 转换成的应答器传输报文格式如表1-3所示。
[0068] 表1-3
[0069]用户报文 校验位 填充位 传输报文
830/210位 28/8位 66/46位 896/256位
[0070] 第三步:对应答器传输报文进行加密。
[0071] 加密过程可分为如下几步:
[0072] 1.设置系统初始状态{Y(-3),Y(-2),Y(-1)}。选取初始密钥key,key的取值范围为(0,264),密钥key用来控制S盒的迭代次数。
[0073] 2.根据Y(i-3)(即三个时刻之前的密文)选择对应的系数{Cm1,Cm2},从而选择本时刻用来加密的非线性数字滤波器子系统。
[0074] 3.如图5所示,计算输出的加密报文:
[0075]
[0076] 其中,p=(Cm1×key)mod(264),“ο”表示复合运算。
[0077] 将得到的密文Y(i)输入到系统中,更新系统状态,进行下一组加密。
[0078] 加密得到的结果为应答器加密报文,当列车通过应答器上方时,激活应答器将加密报文无线传输至车载设备BTM。
[0079] 第四步:车载BTM对应答器加密报文进行解密。
[0080] 首先,车载BTM读入接收到的应答器加密报文,系统初始密钥key以及系统初始状态{Y(-3),Y(-2),Y(-1)}作为解密器的初始状态。
[0081] 其次,车载BTM判断报文是否为长报文。若是长报文则从用户数据位开始读取896比特数据。若报文为短报文,则从用户数据位开始读取256比特数据。
[0082] 如图7所示,车载BTM将读取的数据按照64比特一组进行解密,得到明文X(i)。明文X(i)解密计算如下
[0083]
[0084] 其中,p=(Cm1×key)mod(264),Cmn为Y(i-3)对应的系数组。
[0085] 车载BTM在解密后对解密报文进行验证,本发明在每组用户报文后添加了00作为其校验码来检验报文在传输过程中是否未被噪声干扰。如果检验出存在某几组校验位错误,我们可得知报文在传输过程中受到干扰发生错误,此时我们对错误的校验组别进行标记并对加密报文进行二次接收,对标记组别进行解密验证,如果二次接收解密得到正确的报文,则将标记组别覆盖并取消标记。反之则继续接收解密直到所有校验位正确。
[0086] 当校验结果显示每组校验位均正确时,则直接去掉校验位以及填充位,得到用户报文。
[0087] 1.测试加密报文与明文的相关性:选取标准长报文并对其进行加密,测试结果如图5所示。加密后的报文与原报文不相似,且对报文最后的固定值进行加密后呈现出随机性,说明加密算法可以很好的掩盖明文特性,从而保护了传统应答器报文明文传输带来的安全隐患。
[0088] 2.测试加密报文对明文敏感性:首先从明文空间中随机地选取一段1024比特大小的序列作为对照明文序列。之后将对照明文序列中的比特位逐一取反得到1024段实验明文序列。然后加密对照明文序列和实验明文序列得到对照密文和实验密文。表1-4列出了雪崩特性测试中的部分统计数据结果,表中的Bmax表示密文改变最大位数,Bmin表示密文改变的最小位数,表示密文改变的平均变化位数,P表示根据统计结果计算得到的密文改变的概率。从表中我们可知在明文序列发生微小变化时,对应密文序列的平均变化位数与概率均接近理想值512与50%,即当明文序列发生微小变化时,密文序列的每个比特有50%概率发生翻转,表明该加密算法的雪崩特性良好。
[0089] 表1-4
[0090]
[0091] 3.对自同步效果进行测试
[0092] 如图8所示,为了验证系统的自动恢复及错误定位功能,我们以16比特位分组长度对报文的一段进行加密,在加密后的报文中随机改变一个比特,将解密后的报文与原始明文报文进行对比,结果如表1-5所示。
[0093] 表1-5
[0094]
[0095]
[0096] 根据表中数据可知,第7时刻加密报文在传输过程中受到噪声干扰并发生一个比特位的变化。对接收到的报文解密时,密文从第7个时刻开始出现验证位错误,在随后的4个时刻后,系统恢复正确解密。