一种应用在广播通讯中的指令加密方法

文档序号:10615973阅读:271来源:国知局
一种应用在广播通讯中的指令加密方法
【专利摘要】本发明提供一种安全性好、不易被破解的应用在广播通讯中的指令加密方法。在进行终端控制操作时,用系统动态子密钥SSKEY对控制指令报文进行加密,终端收到广播报文时也用系统动态子密钥SSKEY进行解密。密钥序号SSN实时更新,SSKEY也是实时更新,使加密后的报文在足够长的时间内不重复。发送控制报文时每次通信采用不同的系统动态子密钥SSKEY,终端解密报文后如发现与上一次报文的系统动态子密钥SSKEY相同则认定为非法信号,不响应通信,并执行安全措拖,最终达到达到安全播出的目的。
【专利说明】
一种应用在广播通讯中的指令加密方法
技术领域
[0001]本发明属于加密技术领域,涉及适用作指令传输,加解密及相关具体控制动作实施,更具体的说,它涉及一种应用在广播通讯中的指令加密方法。【背景技术】
[0002]广播加密是一种在不安全信道上给一组用户传输加密信息的密码体制,它可使发送者选取任意用户集合进行广播加密,只有授权用户才能够解密密文。广播加密有着广泛的实际应用背景,例如,数字版权管理、付费电视、卫星广播通信等。一个广播加密方案满足完全抗同谋攻击(fully collus1n resistant),即所有撤销用户合作,也无法解密密文。 对于一个公钥广播加密方案,用户私钥长度、系统公钥长度、密文长度以及加密解密计算复杂度是衡量性能优劣的重要标准。
[0003]为了实现应急广播的安全播控功能,需要一个比较严密的终端控制加密方案,这个方案必须使破解过程尽可能复杂、甚至不可能。所以加密后的报文(报文即一次性要发送的数据块)必须是动态变化的,在相当长一段时间内报文不存在反加密运算的可能性(报文不会被反加密运算,所以报文不会被解密)。必须能防范信号复制非法攻击、明文信号非法攻击、随机信号非法攻击。
【发明内容】

[0004]本发明的目的是解决以上提出的问题,提供一种安全性好、不易被破解的应用在广播通讯中的指令加密方法。
[0005]本发明是通过以下技术方案实现的:
[0006]本发明是一种应用在广播通讯中的指令加密方法,包括以下步骤:
[0007]1)在前端设备的系统中设置有密钥序号SSN和系统主密钥SKEY,通过运算A得到密钥序号更新指令,并发送到终端设备系统;
[0008]2)终端设备系统接收密钥序号更新指令,通过运算A逆运算,得到密钥序号SSN,终端设备系统将接收到的密钥序号SSN和预置在终端设备中的系统主密钥SKEY通过运算B得到系统动态子密钥SSKEY;
[0009]3)前端设备系统将密钥序号SSN和系统主密钥SKEY通过运算B得到系统动态子密钥SSKEY,所述系统动态子密钥SSKEY与前端系统需要发送的明文控制指令通过运算C得到加密的控制指令,并发送给终端设备系统;
[0010]4)终端设备系统接收加密的控制指令,通过运算C的逆运算解密得到系统动态子密钥SSKEY和明文控制指令,如果解密得到系统动态子密钥SSKEY与终端设备系统在步骤2) 中运算得到的统动态子密钥SSKEY不同,则认为该明文控制指令为非法信号,终端设备不响应指令操作,并启动安全措施,反之,则执行相应操作。
[0011]作为优化,所述步骤1)中设置有定时器,所述定时器每隔一分钟更新一次密钥序号SSN,每次更新密钥序号SSN以后重新循环步骤1) 一 4)。
[0012]作为优化,所述系统主密钥SKEY为唯一固定的,且只能在终端设备系统中写入一次。
[0013]作为优化,所述运算A和运算C皆为可逆运算。
[0014]作为优化,所述运算A、运算B和运算C为异或的运算或算述加的运算或算述减的运算或左移的运算或右移的运算。
[0015]作为优化,所述前端设备为编码控制器或数字广播CA服务器。
[0016]作为优化,所终端设备为数字广播终端。
[0017]本发明的有益效果如下:
[0018] 1、本方法使用在编码控制器、数字广播CA服务器和数字广播终端诸如音柱,收扩机之间的通信。编码控制器、数字广播CA服务器将开机,关机,高音量等指令加密之后传输到数字广播终端,数字广播终端进行逆向解密,从而执行开机,关机等操作。
[0019] 2、本方法可以保证密钥在其设备使用寿命内不会出现重复(>20年),增加破译难度,提高了广播信号传输的安全性。
[0020] 3、本方法密钥随着时间改变而更新,可以有效的防止破密,防范信号复制非法攻击、明文信号非法攻击、随机信号非法攻击。【附图说明】[0021 ]图1:指令加密方法的流程示意图;
[0022]图2:实施例中操作编码控制器操作示意图。图3:实施例中加密算法的确定中的功能表格;图4:实施例中偏移量表;图5:实施例中分组加密过程;图6:实施例中解密过程。【具体实施方式】[〇〇23]下面结合附图对本发明的实施例进行进一步详细说明:[〇〇24]方法原理:在进行终端控制操作时,用系统动态子密钥SSKEY对控制指令报文进行加密,终端收到广播报文时也用系统动态子密钥SSKEY进行解密。系统动态子密钥SSKEY是由密钥序号SSN和系统主密钥SKEY共同决定,密钥序号SSN实时更新,SSKEY也是实时更新, 使加密后的报文在足够长的时间内不重复。发送控制报文时每次通信采用不同的系统动态子密钥SSKEY,终端解密报文后如发现与上一次报文的系统动态子密钥SSKEY相同则认定为非法信号,不响应通信,并执行安全措拖,最终达到达到安全播出的目的 [〇〇25]前端系统每1分钟更新一次系统动态子密钥SSKEY,系统动态子密钥SSKEY生存周期为1分钟,在生存周期内,前端系统在发送控制指令的同时周期性发送密钥序号指令。 [〇〇26]密钥序号SSN用系统主密钥SKEY加密后被实时传送,控制指令则用系统动态子密钥SSKEY加密后传送,而系统主密钥SKEY从不被传送。系统主密钥SKEY在出厂时被写入终端和设备,不同客户可采用不同系统主密钥SKEY,终端系统主密钥SKEY只能写入一次,一旦写入便不可更改。[〇〇27] 实施例:
[0028]本实施例是一种应用在广播通讯中的指令加密方法,包括以下步骤:[〇〇29]1)在前端设备的系统中设置有密钥序号SSN和系统主密钥SKEY,通过运算A得到密钥序号更新指令,并发送到终端设备系统,其中,前端设备的系统中设置有定时器,定时器每隔一分钟更新一次密钥序号SSN,每次更新密钥序号SSN以后重新循环步骤1) 一 4),系统主密钥SKEY为唯一固定的;
[0030]2)终端设备系统接收密钥序号更新指令,通过运算A逆运算,得到密钥序号SSN,终端设备系统将接收到的密钥序号SSN和预置在终端设备中的系统主密钥SKEY通过运算B得到系统动态子密钥SSKEY;[〇〇31]3)前端设备系统将密钥序号SSN和系统主密钥SKEY通过运算B得到系统动态子密钥SSKEY,所述系统动态子密钥SSKEY与前端系统需要发送的明文控制指令通过运算C得到加密的控制指令,并发送给终端设备系统;
[0032]4)终端设备系统接收加密的控制指令,通过运算C的逆运算解密得到系统动态子密钥SSKEY和明文控制指令,如果解密得到系统动态子密钥SSKEY与终端设备系统在步骤2) 中运算得到的统动态子密钥SSKEY不同,则认为该明文控制指令为非法信号,终端设备不响应指令操作,并启动安全措施,反之,则执行相应操作。[〇〇33]系统主密钥SKEY为唯一固定的,且只能在终端设备系统中写入一次。
[0034]运算A和运算C皆为可逆运算,运算A、运算B和运算C为异或的运算或算述加的运算或算述减的运算或左移的运算或右移的运算。
[0035]前端设备为编码控制器或数字广播CA服务器,终端设备为数字广播终端,例如音柱,收扩机。[〇〇36]具体设备操作:结合附图2,操作编码控制器,即为前端设备,发送已经经过加密的控制指令到调制器,如开机,关机高音量等,调制器将加密后的指令调制成FM/数字信号并发送到终端设备,终端设备接收并解调信号得到加密后的指令,按照SSKEY加密逆运算解密该信号,获得相对应的诸如开机,关机高音量等指令,并实施相对应的操作。
[0037]备注:这里的指令并不只是开机关机等的简单指令,编码控制器发送的指令可能是所需要的控制的终端的物理码或者逻辑码加上动作指令。例如:某一区域的所有的终端的全部逻辑码范围(001122)加上开机,密钥系统要对这一连串的指令进行加密,终端在逆运算的时候解密获得该指令,从而做到指定区域(001122)的终端实施相对应的操作。[〇〇38] 一、关于运算A的说明
[0039]在系统主密钥SKEY和密钥序号SSN累加和后添加一个随机序号Ser,数据长度 Length加2。
[0040]二、关于运算B的说明[〇〇411系统主密钥SKEY和动态子密钥SSKEY长度都是8字节,密钥序号SSN长度为5字节, 动态子密钥SSKEY的高3字节和系统主密钥SKEY相同,动态子密钥SSKEY的低5字节由系统主密钥SKEY的低5字节和密钥序号SSN按位异或后生成。[〇〇42]三、关于运算C的说明 [〇〇43]1、加密算法的表示:
[0044]加密算法用下式来表示:
[0045]C = eK(P)
[0046] eK代表某种加密算法,括号中的P是输入变量,即待加密的原文,C是加密后的输出密文。[〇〇47]解密算法用下式来表示:
[0048] P = dK(C)[〇〇49] dK代表解密算法,它是eK的反运算,所以eK必须是可逆运算。括号中的C是密文,P 是经解密后的原文。
[0050]2、加密算法的确定:[0051 ]加密算法由48位密钥来确定,结合附图3,各部分的功能说明如下:
[0052]
[0053]
[0054]K7:8位密钥版本号。[〇〇55]K6:静态偏移量,用于K1加密运算。[〇〇56]K5:地址偏移量,用于K2加密运算。
[0057]K4:8位偏移量首址,用于确定偏移量表中用于第一级加密运算的偏移量首址;
[0058]K3:8位偏移量地址增量,用于确定偏移表中自偏移量首址起每隔多少个字节的某个值作为48位明文分组中对应字节(8位)的偏移量值,共选6字节(S卩48位)作为分组6字节 (48位)中安先后顺序一一对应的各字节第一级加密运算的静态偏移量;
[0059]K2高4位:用于确定第一级偏移算法:eK2H,值为0时代表将原文与静态偏移量异或,1H代表算术加法,2H代表算术减法,3H代表将原文与静态偏移量异或后再与静态偏移量算述加,4H代表异或后再算术减,5H代表将原文循环左移1位后再与静态偏移量异或,6H代表循环左移1位后算术加,7H代表循环左移1位后算术减,8H代表循环左移2位后异或,9H代表循环左移2位后算术加,AH代表循环左移2位后算术减,BH代表循左移3位后异或,CH代表循环左移3位后算术加,DH代表循环左移3位后算术减,EH代表循左移4位后异或,FH代表循环左移4位后算术加。第一级加密将分组原文与由K4和K3所确定的偏移量做eK2H所确定的算法做加密运算后生成第一级密文C1。算法如下所示:
[0060]Cl=eK2H(P);[〇〇61 ] K2低4位:用于确定第二级偏移算法:eK2L,值0H到4H与K2高4位值定义相同,5H代表将原文循环右移1位后再与静态偏移量异或,6H代表循环右移1位后算术加,7H代表循环右移1位后算术减,8H代表循环右移2位后异或,9H代表循环右移2位后算术加,AH代表循环右移2位后算术减,BH代表循右移3位后异或,CH代表循环右移3位后算术加,DH代表循环右移3位后算术减,EH代表循右移4位后异或,FH代表循环右移4位后算术加。第二级加密采用 K4和K3所确定的偏移量地址模256加K5值后的地址作为第二级加密所用静态偏移量地址,//(地址偏移量,用于K2加密运算。)取出相应偏移量,与第一级密文做eK2L加密运算得出第二级密文C2。算法如下所示:
[0062]C2 = eK2L(Cl);
[0063]K1高四位、K0:用于确定组内链接算法,其中K1高四位与K2高四位的值定义相同, 但它以帧启始符(0x4C)为静态偏移量。K0是8位初始量,其值用作第三级加密运算48位分组密文组内链接初始量SV。组内链接算法如下所示:
[0064]C3jO = eKlH(C2jO? SV);SV=K0;
[0065] C3ji = eKlH(C2ji ? C3j1-1);[〇〇66]其中,eKIH代表K1高四位所表示的第三级组内偏移算法,它以帧启始符(0x6c)为静态偏移量,C2j0是第二级密文分组j中的第一个字节,C2ji是第二级密文分组j中的后续字节,SV是初始量即K0,C3 j0是经与SV作加密运算后的第三级密文分组j中的第一个字节, C3ji是经链接运算后的第三级密文分组j中的后续字节,i G {0-5},j是分组序号。组内链接加密运算后得出第三级密文C3;
[0067]K1低四位、K0:用于确定全文链接算法,其值定义与K2低四位的值定义相同。全文链接以序号为初始量SV,以K6作为静态偏移量//(静态偏移量,用于K1加密运算),用K1低四位所确定的算法自帧启始符后第一字节开始至序号前一字节止进行全文链接加密运算,运算过程如下所示:
[0068]C40 = eKlL(C30? SV);
[0069]C4i = eKlL(C3i ? C41-1);[〇〇7〇]其中,eKIL代表K1低四位所表示的第四级全文链接算法,C30是第三级密文分组中的第一个字节,C3i是第三级密文中的后续字节,SV是初始量即序号SER,C40是第四级密文中的第一个字节,C4i是第四级密文中的后续字节,i是字节序号。全文链接加密运算后得出第四级密文C4;
[0071]3、偏移量表(16进制):如图4所示
[0072][〇〇73] 注:H列表示偏移量地址高4位,L行表示偏移量地址低4位。
[0074]4、分组:
[0075]首先在原数据帧累加和后面添加一个帧序号,帧序号从00-FF顺序增加,并把原累加和作为数据域中的一个字节,同时数据长度(Length)加2,然后对数据帧中自帧起始符后第一字节开始,除数据长度(Length)之外,到帧序号为止,以6字节(48位)为一组进行分组, 末尾不足6字节的按实际字节数组成一组,分组后数据用Pji来表示,j是分组号,i是组内序号,范围是〇_5。
[0076]5、加密:
[0077]对分组后报文中帧启始符后第一字节开始至帧序号结束,以48位(6字节)为一分组,分别进行一、二、三级加密运算,然后以序号(已经三级加密运算)为初始量进行第四级全文链接加密运算,加密运算完成后密文按原来的顺序排列,同时数据长度加2,分组加密过程如图5所示。
[0078]
[0079]注:加密后数据帧中的累加和Csum为加密运算后报文C4的累加和
[0080]6、解密:
[0081]解密需要用密钥中所规定的运算的反运算进行解密运算。其中第四级解密过程以序号处的数据为起始,先对其与初始量SV进行解密运算,从帧起始符后第一字节开始与后续数据进行反链接运算,分别进行四、三、二、一级解密后,数据长度减2,然后进行校验,如校验不一致则认为此次解密无效,并且不响应本次通信。解密过程如图6所示。
[0082][0〇83]其中dK代表加密算法eK的反运算。如异或的反运算还是异或,算述加的反运算是算述减,算述减的反运算是算述加。左移的反运算是右移,右移的反运算是左移。
[0084]注:Csum累加和校检应在解密运算前进行。Sum校验和应在解密之后进行。
[0085]以上所述的仅是本发明的优选实施方式,应当指出,对于本技术领域中的普通技术人员来说,在不脱离本发明核心技术特征的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
【主权项】
1.一种应用在广播通讯中的指令加密方法,其特征在于,包括以下步骤:1)在前端设备的系统中设置有密钥序号SSN和系统主密钥SKEY,通过运算A得到密钥序 号更新指令,并发送到终端设备系统;2)终端设备系统接收密钥序号更新指令,通过运算A逆运算,得到密钥序号SSN,终端设 备系统将接收到的密钥序号SSN和预置在终端设备中的系统主密钥SKEY通过运算B得到系 统动态子密钥SSKEY;3)前端设备系统将密钥序号SSN和系统主密钥SKEY通过运算B得到系统动态子密钥 SSKEY,所述系统动态子密钥SSKEY与前端系统需要发送的明文控制指令通过运算C得到加 密的控制指令,并发送给终端设备系统;4)终端设备系统接收加密的控制指令,通过运算C的逆运算解密得到系统动态子密钥 SSKEY和明文控制指令,如果解密得到系统动态子密钥SSKEY与终端设备系统在步骤2)中运 算得到的统动态子密钥SSKEY不同,则认为该明文控制指令为非法信号,终端设备不响应指 令操作,并启动安全措施,反之,则执行相应操作。2.根据权利要求1所述的应用在广播通讯中的指令加密方法,其特征在于,所述步骤1) 中设置有定时器,所述定时器每隔一分钟更新一次密钥序号SSN,每次更新密钥序号SSN以 后重新循环步骤1) 一4)。3.根据权利要求1所述的应用在广播通讯中的指令加密方法,其特征在于,所述系统主 密钥SKEY为唯一固定的,且只能在终端设备系统中写入一次。4.根据权利要求1所述的应用在广播通讯中的指令加密方法,其特征在于,所述运算A 和运算C皆为可逆运算。5.根据权利要求4所述的应用在广播通讯中的指令加密方法,其特征在于,所述运算A、 运算B和运算C为异或的运算、算述加的运算、算述减的运算、左移的运算、右移的运算。6.根据权利要求1所述的应用在广播通讯中的指令加密方法,其特征在于,所述前端设 备为编码控制器或数字广播CA服务器。7.根据权利要求1所述的应用在广播通讯中的指令加密方法,其特征在于,所终端设备 为数字广播终端。
【文档编号】H04L9/08GK105978876SQ201610309345
【公开日】2016年9月28日
【申请日】2016年5月11日
【发明人】章惠来, 赵震, 陈龙斌
【申请人】杭州图南电子有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1