本申请涉及卫星领域,具体而言,涉及用于密钥切换、数据传输的方法、终端、电子设备和介质。
背景技术:
卫星遥控通常是指控制中心对卫星进行远距离的控制,控制过程通常它是指令型遥控,即在控制中心产生和发出直接指令信号,利用无线电信道将其传送至卫星,卫星直接执行预定的动作。卫星遥测是指将卫星上的各种被测信息,经过变换、采集、组合和调制,通过无线传输媒介送到地面接收站,再经过解调、记录、分割和处理,送给用户的测量作业的全过程。
在卫星的遥控遥测过程中,为了保证数据传输的安全性,通常会对传输的数据进行加密,但现有的加密方法很难保证密码不被攻击者破解,且现有的加密方法无法防止密钥在传输时的重放攻击。重放攻击是一种数据攻击类型,这种攻击会不断恶意或欺诈性地重复一个有效的数据传输,重放攻击可以由发起者,也可以由拦截并重发该数据的敌方进行,重放攻击在任何网络通讯过程中都可能发生。因此,对卫星遥控遥测传输数据进行安全有效地保护成为亟需解决的问题。
技术实现要素:
本申请实施例的目的在于提供用于密钥切换、数据传输的方法、终端、电子设备和介质,用以对卫星遥控遥测传输数据进行安全有效地保护。
第一方面,本申请实施例提供了一种用于密钥切换的方法,所述方法应用于地面终端,所述方法包括:根据第一世界标准时间生成密钥口令数据,其中,所述第一世界标准时间是指密钥切换指令发送时刻的世界标准时间,所述密钥口令数据用于卫星终端确定所述密钥切换指令的有效性;根据所述第一世界标准时间向所述卫星终端发送所述密钥切换指令,其中,所述密钥切换指令包括所述密钥口令数据和待切换密钥,所述待切换密钥索引号用于所述卫星终端在所述卫星终端的数据库中查找待切换密钥。
在上述实现过程中,在地面终端利用时间标准时间生成密钥口令数据,并将该密钥口令数据和待切换密钥通过密钥切换指令发送至卫星终端,便于卫星终端通过该密钥口令数据验证其接收到的密钥切换指令的有效性,进一步防止攻击者截获密钥切换指令后对卫星终端进行重放攻击。
结合第一方面,在一种实施方式中,所述根据第一世界标准时间生成密钥口令数据,包括:将所述第一世界标准时间拆分为第一高16位数据和第一低16位数据;根据所述第一高16位数据从所述地面终端的预设第一数组中获取第一数据,根据所述第一低16位数据从所述地面终端的预设第二数组中获取第二数据;将所述第一数据与所述第二数据进行数学运算,生成所述密钥口令数据。
在上述实现过程中,通过在地面终端预存两个常数数组,将密钥切换指令的发送时间分为高16位数据和低16位数据,并根据高16位数据和低16位数据从预存两个常数数组中查找对应数据,利用查找的数据生成具有标识性的密钥口令数据,便于卫星终端根据该密钥口令数据验证其接收到的密钥切换指令是否有效。
第二方面,本申请实施例提供了一种用于密钥切换的方法,所述方法应用于卫星终端,所述方法包括:接收地面终端发送的密钥切换指令,其中,所述密钥切换指令包括密钥口令数据和待切换密钥索引号,所述密钥口令数据是所述地面终端根据所述密钥切换指令的发送时刻生成的,所述待切换密钥索引号用于所述卫星终端在所述卫星终端的数据库中查找待切换密钥;根据第二世界标准时间和所述密钥口令数据判断所述密钥切换指令是否有效,其中,所述第二世界标准时间是指所述卫星终端接收所述密钥切换指令的时刻的世界标准时间;若有效,将与所述地面终端通信的密钥切换为所述待切换密钥。
在上述实现过程中,通过接收地面终端发送的密钥切换指令来实现卫星终端的密钥切换,为了验证卫星终端所接收到的密钥切换指令是地面终端发送的,而不是攻击者截获密钥切换指令后对卫星终端进行的重放攻击,卫星终端根据接收的时间与接收的密钥口令数据判断其接收的密钥切换指令是否有效,能够有效地防止攻击者的重放攻击。
结合第二方面,在一种实施方式中,所述根据第二世界标准时间和所述密钥口令数据判断所述密钥切换指令是否有效,包括:根据所述第二世界标准时间生成第一验证口令数据,判断所述第一验证口令数据与所述密钥口令数据是否相等;在所述第一验证口令数据与所述密钥口令数据相等的情况下,所述密钥切换指令有效;或,在所述第一验证口令数据与所述密钥口令数据不相等的情况下,使用时间窗口将所述第二世界标准时间进行回溯,并使用回溯后的时间生成第二验证口令数据,判断所述第二验证口令数据与所述密钥口令数据是否相等,在所述第二验证口令数据与所述密钥口令数据相等的情况下,所述密钥切换指令有效;若所述第二验证口令数据与所述密钥口令数据不相等,重复执行上述过程,直至将所述第二世界标准时间回溯到最大延迟时间停止,所述密钥切换指令无效,所述卫星终端不切换密钥。
在上述实现过程中,通过卫星终端根据密钥切换指令的接收时间生成验证口令数据,并判断验证口令数据与密钥口令数据是否相等,若相等,则卫星终端接收到的密钥切换指令是有效指令,执行密钥切换;若不相等,则在接收时间的基础上减少,并生成下一个验证口令数据,判断新生成的验证口令数据与密钥口令数据是否相等,若相等,则卫星终端接收到的密钥切换指令是有效指令,执行密钥切换;若不相等,再减少接收时间,生成新的验证口令数据,若在卫星终端接收指令的最大延迟时间段内生成的新的验证口令数据与密钥口令数据都不相等,则卫星终端接收到的密钥切换指令是无效指令,不执行密钥切换,不执行超时接收的密钥切换指令,从而能够有效地防止重放攻击。
结合第二方面,在另一种实施方式中,所述根据第二世界标准时间生成第一验证口令数据,包括:将所述第二世界标准时间拆分为第二高16位数据和第二低16位数据;根据所述第二高16位数据从所述卫星终端的预设第一数组中获取第三数据,根据所述第二低16位数据从所述卫星终端的预设第二数组中获取第四数据;将所述第三数据与所述第四数据进行数学运算,生成所述第一验证口令数据。
在上述实现过程中,通过在卫星终端存储与地面终端相同的两个常数数组,根据指令的接收时间采用与地面终端生成密钥口令数据相同的方法生成验证口令数据,进一步便于通过验证口令数据与密钥口令数据判断卫星终端接收的密钥切换指令的有效性。
第三方面,本申请实施例提供了一种用于数据传输的方法,所述方法应用于卫星终端,所述方法包括:将明文数据拆分为n组待加密数据,其中,n为大于等于2的整数;根据第三世界标准时间生成n个变换数据,其中,所述第三世界标准时间是指所述明文数据发送时刻的世界标准时间;将所述n个变换数据分别与所述n组待加密数据进行加密运算,得到n组加密数据;向地面终端发送密文数据以及所述第三世界标准时间,其中,所述密文数据包括所述n组加密数据。
在上述实现过程中,在卫星终端通过数据的发送的世界标准时间对发送的数据进行加密,能够有效地提高加密算法的复杂性,进一步增强卫星遥测过程中数据传输的安全性。
结合第三方面,在一种实施方式中,所述根据第三世界标准时间生成n个变换数据,包括:利用预设密钥对所述第三世界标准时间进行ecb加密变换,得到第1个变换数据;利用所述预设密钥对所述第三世界标准时间与预设常数数组的运算结果进行所述ecb加密变换,得到第2至第n个变换数据。
在上述实现过程中,利用世界标准时间与预设常数数组对加密算法进行改进,提高了加密算法的复杂程度,增加了卫星测控系统的安全性。
结合第三方面,在另一种实施方式中,所述将所述n个变换数据分别与所述n组待加密数据进行加密运算,得到n组加密数据,包括:将所述第1个变换数据与所述n组待加密数据中的第1组待加密数据进行异或运算,得到第1组加密数据;将所述第2至第n个变换数据中每个变换数据分别对应与所述n组待加密数据中的第2至第n组待加密数据进行异或运算,得到第2至第n组加密数据。
在上述实现过程中,对明文数据进行分组加密,且每组加密过程中采用不同的变换数据,能够有效地提高算法的复杂性,进一步提高破解的难度。
第四方面,本申请实施例提供了一种用于数据传输的方法,所述方法应用于地面终端,所述方法包括:接收卫星终端发送的密文数据以及第三世界标准时间,其中,所述密文数据包括n组加密数据,所述第三世界标准时间是指所述密文数据对应的明文数据发送时刻的世界标准时间,n为大于等于2的整数;根据第三世界标准时间生成n个变换数据;将所述n个变换数据分别与所述n组加密数据进行解密运算,得到明文数据。
在上述实现过程中,在地面终端通过接收卫星终端发送的密文数据,并采用对称加密的方式对接收的密文数据进行解密,能够有效地获取到密文数据所对应的明文数据。
结合第四方面,在一种实施方式中,所述根据第三世界标准时间生成n个变换数据,包括:利用预设密钥对所述第三世界标准时间进行ecb解密变换,得到第1个变换数据;利用所述预设密钥对所述第三世界标准时间与预设常数数组的运算结果进行所述ecb解密变换,得到第2至第n个变换数据。
在上述实现过程中,地面终端利用世界标准时间生成解密变换数据,便于对密文进行解密。
结合第四方面,在另一种实施方式中,所述将所述n个变换数据分别与所述n组加密数据进行解密运算,得到明文数据,包括:将所述第1个变换数据与所述n组加密数据中第1组加密数据进行异或运算,得到第1组明文数据;将所述第2至第n个变换数据中每个变换数据分别对应与所述n组加密数据中第2至第n组加密数据进行异或运算,得到第2至第n组明文数据;将所述第1组明文数据与所述第2至第n组明文数据进行组合,生成所述明文数据。
在上述实现过程中,地面终端利用变换数据分别对n组加密数据进行解密运算,进一步生成n组解密后的数据,并对n组解密后的数据进行组合,生成了明文数据,从而实现了数据的解密。
第五方面,本申请实施例提供了一种用于密钥切换的地面终端,所述地面终端包括:第一处理模块,用于根据第一世界标准时间生成密钥口令数据,其中,所述第一世界标准时间是指密钥切换指令发送时刻的世界标准时间,所述密钥口令数据用于卫星终端确定所述密钥切换指令的有效性;第一发送模块,用于根据所述第一世界标准时间向所述卫星终端发送所述密钥切换指令,其中,所述密钥切换指令包括所述密钥口令数据和待切换密钥索引号,所述待切换密钥索引号用于所述卫星终端在所述卫星终端的数据库中查找待切换密钥。
结合第五方面,在一种实施方式中,所述第一处理模块具体用于:将所述第一世界标准时间拆分为第一高16位数据和第一低16位数据;根据所述第一高16位数据从所述地面终端的预设第一数组中获取第一数据,根据所述第一低16位数据从所述地面终端的预设第二数组中获取第二数据;将所述第一数据与所述第二数据进行数学运算,生成所述密钥口令数据。
第六方面,本申请实施例提供了一种用于密钥切换的卫星终端,所述卫星终端包括:第二接收模块,用于接收地面终端发送的密钥切换指令,其中,所述密钥切换指令包括密钥口令数据和待切换密钥索引号,所述密钥口令数据是所述地面终端根据所述密钥切换指令的发送时刻生成的,所述待切换密钥索引号用于所述卫星终端在所述卫星终端的数据库中查找待切换密钥;第二处理模块,用于根据第二世界标准时间和所述密钥口令数据判断所述密钥切换指令是否有效,其中,所述第二世界标准时间是指所述卫星终端接收所述密钥切换指令的时刻的世界标准时间;若有效,所述第二处理模块还用于将与所述地面终端通信的密钥切换为所述待切换密钥。
结合第六方面,在一种实施方式中,所述第二处理模块具体用于:根据所述第二世界标准时间生成第一验证口令数据,判断所述第一验证口令数据与所述密钥口令数据是否相等;在所述第一验证口令数据与所述密钥口令数据相等的情况下,所述密钥切换指令有效;或,在所述第一验证口令数据与所述密钥口令数据不相等的情况下,使用时间窗口将所述第二世界标准时间进行回溯,并使用回溯后的时间生成第二验证口令数据,判断所述第二验证口令数据与所述密钥口令数据是否相等,在所述第二验证口令数据与所述密钥口令数据相等的情况下,所述密钥切换指令有效;若所述第二验证口令数据与所述密钥口令数据不相等,重复执行上述过程,直至将所述第二世界标准时间回溯到最大延迟时间停止,所述密钥切换指令无效,所述卫星终端不切换密钥。
结合第六方面,在另一种实施方式中,所述第二处理模块具体用于:将所述第二世界标准时间拆分为第二高16位数据和第二低16位数据;根据所述第二高16位数据从所述卫星终端的预设第一数组中获取第三数据,根据所述第二低16位数据从所述卫星终端的预设第二数组中获取第四数据;将所述第三数据与所述第四数据进行数学运算,生成所述第一验证口令数据。
第七方面,本申请实施例提供了一种用于数据传输的卫星终端,所述卫星终端包括:第三处理模块,用于将明文数据拆分为n组待加密数据,其中,n为大于等于2的整数;所述第三处理模块还用于根据第三世界标准时间生成n个变换数据,其中,所述第三世界标准时间是指所述明文数据发送时刻的世界标准时间;所述第三处理模块还用于将所述n个变换数据分别与所述n组待加密数据进行加密运算,得到n组加密数据;第三发送模块,用于向地面终端发送密文数据以及所述第三世界标准时间,其中,所述密文数据包括所述n组加密数据。
结合第七方面,在一种实施方式中,所述第三处理模块具体用于:利用预设密钥对所述第三世界标准时间进行ecb加密变换,得到第1个变换数据;利用所述预设密钥对所述第三世界标准时间与预设常数数组的运算结果进行所述ecb加密变换,得到第2至第n个变换数据。
结合第七方面,在另一种实施方式中,所述第三处理模块还用于:将所述第1个变换数据与所述n组待加密数据中的第1组待加密数据进行异或运算,得到第1组加密数据;将所述第2至第n个变换数据中每个变换数据分别对应与所述n组待加密数据中的第2至第n组待加密数据进行异或运算,得到第2至第n组加密数据。
第八方面,本申请实施例提供了一种用于数据传输的地面终端,所述地面终端包括:第四接收模块,用于接收卫星终端发送的密文数据以及第三世界标准时间,其中,所述密文数据包括n组加密数据,所述第三世界标准时间是指所述密文数据对应的明文数据发送时刻的世界标准时间,n为大于等于2的整数;第四处理模块,用于根据第三世界标准时间生成n个变换数据;所述第四处理模块还用于将所述n个变换数据分别与所述n组加密数据进行解密运算,得到明文数据。
结合第八方面,在一种实施方式中,所述第四接收模块具体用于:利用预设密钥对所述第三世界标准时间进行ecb解密变换,得到第1个变换数据;利用所述预设密钥对所述第三世界标准时间与预设常数数组的运算结果进行所述ecb解密变换,得到第2至第n个变换数据。
结合第八方面,在另一种实施方式中,所述第四处理模块还用于:将所述第1个变换数据与所述n组加密数据中第1组加密数据进行异或运算,得到第1组明文数据;将所述第2至第n个变换数据中每个变换数据分别对应与所述n组加密数据中第2至第n组加密数据进行异或运算,得到第2至第n组明文数据;将所述第1组明文数据与所述第2至第n组明文数据进行组合,生成所述明文数据。
第九方面,本申请实施例提供了一种电子设备,包括:处理器、存储器和总线,所述处理器通过所述总线与所述存储器相连,所述存储器存储有计算机可读取指令,当所述计算机可读取指令由所述处理器执行时,用于实现如上述第一方面以及第一方面的任一实施方式提供的所述方法中的步骤。
第十方面,本申请实施例提供一种可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时运行如上述第一方面以及第一方面的任一实施方式提供的所述方法中的步骤。
第十一方面,本申请实施例提供了一种电子设备,包括:处理器、存储器和总线,所述处理器通过所述总线与所述存储器相连,所述存储器存储有计算机可读取指令,当所述计算机可读取指令由所述处理器执行时,用于实现如上述第二方面以及第二方面的任一实施方式提供的所述方法中的步骤。
第十二方面,本申请实施例提供一种可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时运行如上述第二方面以及第二方面的任一实施方式提供的所述方法中的步骤。
第十三方面,本申请实施例提供了一种电子设备,包括:处理器、存储器和总线,所述处理器通过所述总线与所述存储器相连,所述存储器存储有计算机可读取指令,当所述计算机可读取指令由所述处理器执行时,用于实现如上述第三方面以及第三方面的任一实施方式提供的所述方法中的步骤。
第十四方面,本申请实施例提供一种可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时运行如上述第三方面以及第三方面的任一实施方式提供的所述方法中的步骤。
第十五方面,本申请实施例提供了一种电子设备,包括:处理器、存储器和总线,所述处理器通过所述总线与所述存储器相连,所述存储器存储有计算机可读取指令,当所述计算机可读取指令由所述处理器执行时,用于实现如上述第四方面以及第四方面的任一实施方式提供的所述方法中的步骤。
第十六方面,本申请实施例提供一种可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时运行如上述第四方面以及第四方面的任一实施方式提供的所述方法中的步骤。
本申请的其他特征和优点将在随后的说明书阐述,并且,部分地从说明书中变得显而易见,或者通过实施本申请实施例了解。本申请的目的和其他优点可通过在所写的说明书、权利要求书、以及附图中所特别指出的结构来实现和获得。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对本申请实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1为本申请实施例提供的一种在地面终端侧用于密钥切换的方法流程图;
图2为本申请实施例提供的一种在卫星终端侧用于密钥切换的方法流程图;
图3为本申请实施例提供的一种在卫星终端侧用于数据传输的方法流程图;
图4为本申请实施例提供的一种在地面终端侧用于数据传输的方法流程图;
图5为本申请实施例提供的一种用于密钥切换的地面终端的结构示意图;
图6为本申请实施例提供的一种用于密钥切换的卫星终端的结构示意图;
图7为本申请实施例提供的一种用于数据传输的卫星终端的结构示意图;
图8为本申请实施例提供的一种用于数据传输的地面终端的结构示意图;
图9为本申请实施例提供的一种电子设备的结构示意图。
具体实施方式
下面将结合本申请实施例中附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本申请实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本申请的实施例的详细描述并非旨在限制要求保护的本申请的范围,而是仅仅表示本申请的选定实施例。基于本申请的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本申请保护的范围。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。同时,在本申请的描述中,术语“第一”、“第二”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
在卫星的遥控遥测过程中,会涉及到数据的传输,为了保证数据传输的安全性,通常会对传输的数据进行加密,比如,卫星终端需要将卫星上的各种被测数据发送到地面终端,在此过程中,需要对这些被测量数据进行加密,而现有的加密算法很难保证密码不被攻击者破解,因此,需要对现有加密算法进行改进,提高测控系统的安全性。若地面终端需要向卫星终端发送密钥切换指令时,即便对数据进行加密也无法防止攻击者截获密钥切换指令后对卫星终端进行重放攻击。因此,对卫星的遥控遥测过程中数据的有效保护就尤为重要。
在地面终端对卫星终端进行遥控过程中,为了更新两端之间交互的密钥,地面终端会对卫星终端发生密钥切换指令,为了防止攻击者截获密钥切换指令后对卫星终端进行重放攻击,本申请实施例提出了一种密钥切换的方法,通过图1和图2来描述该方法的流程。
请参照图1,图1为本申请实施例提供的一种在地面终端侧用于密钥切换的方法流程图,该方法可以应用于图5所示的地面终端500,具体的,图1所示的方法包括:
110,根据第一世界标准时间生成密钥口令数据。
其中,第一世界标准时间是指密钥切换指令发送时刻的世界标准时间,密钥口令数据用于卫星终端确定密钥切换指令的有效性;
根据第一世界标准时间生成密钥口令数据,包括:将第一世界标准时间拆分为第一高16位数据和第一低16位数据;根据第一高16位数据从地面终端的预设第一数组中获取第一数据,根据第一低16位数据从地面终端的预设第二数组中获取第二数据;将第一数据与第二数据进行数学运算,生成密钥口令数据。
需要说明的是,本申请实施例中密钥切换指令的有效性可以是指密钥切换指令的合法性,也可以是指密钥切换指令不是由攻击者截取后的重放攻击。
作为一种实施例,地面操作人员通过地面终端向卫星终端发送密钥切换指令时,地面终端中的测控软件记录该指令的发送时刻的世界标准时间(utc,universaltimecoordinated),将该时间用t0表示。
需要是说明的是,本申请实施例中的地面终端中的测控软件可以是地面终端的处理器,也可以是地面终端的一个处理模块,但本申请不限于此。地面终端发送密钥切换指令的时间可以通过gps卫星定位导航时间记录,也可以是卫星时钟记录,但本申请不限于此。
作为一种实施例,地面测控软件在地面终端存储两个常数数组th和tl,常数数组th和tl中的元素值为[0,65535]区间内的整数,且两数组中的元素值互不相同,两数组中的元素值分别与世界标准时间对应,即根据某个世界标准时间能够分别在常数数组th和tl查找到与该世界标准时间对应的元素值。
具体的,通过gps卫星定位导航时间记录地面终端发送密钥切换指令的世界标准时间t0,测控软件将t0转换为32位数据,并拆分为高16位数据t0h与低16位数据t0l,以t0h为下标在数组th中查找对应元素值,得到一个16位数a,以t0l为下标在数组tl中查找对应元素值,得到16位数b,即
需要说明的是,本申请实施例中的32位数据可以是以4字节类型的数据表示,16位数据可以是以2字节类型的数据表示。
具体的,利用a和b进行数学运算,生成密钥口令数据pt0。
作为一种实施例,生成密钥口令数据pt0的公式为:
pt0=(a×b)mod65536(1)
在上述实现过程中,通过在地面终端预存两个常数数组,将密钥切换指令的发送时间分为高16位数据和低16位数据,并根据高16位数据和低16位数据从预存两个常数数组中查找对应数据,利用查找的数据生成具有标识性的密钥口令数据,便于卫星终端根据该密钥口令数据验证其接收到的密钥切换指令是否有效。
120,根据所述第一世界标准时间向所述卫星终端发送所述密钥切换指令。
其中,密钥切换指令包括密钥口令数据和待切换密钥索引号,待切换密钥索引号用于卫星终端在卫星终端数据库中查找待切换密钥。
作为一种实施例,预先在地面终端与卫星终端的数据库中都存储有待切换密钥,并且建立待切换密钥与待切换密钥索引号的对应关系。
将上述生成的密钥口令数据pt0与待切换密钥索引号存入同一条密钥切换指令的约定字节中,并将存有密钥口令数据pt0和待切换密钥索引号的密钥切换指令发送至卫星终端。
卫星终端接收到地面终端发送的密钥切换指令后,需要验证其接收的指令是地面终端发送的,还是攻击者截获密钥切换指令后对卫星终端进行重放攻击的,卫星终端通过时间标准时间和密钥口令数据pt0来验证其接收的密钥切换指令的有效性。
在上述实现过程中,将密钥切换指令的发送时间分为高16位数据和低16位数据,并根据高16位数据和低16位数据从预存两个常数数组中查找对应数据,利用查找的数据生成具有标识性的密钥口令数据,便于卫星终端根据该密钥口令数据验证其接收到的密钥切换指令是否有效。
请参照图2,图2为本申请实施例提供的一种在卫星终端侧用于密钥切换的方法流程图,该方法可以应用于图6所示的卫星终端600,具体的,图2所示的方法包括:
210,接收地面终端发送的密钥切换指令。
其中,密钥切换指令包括密钥口令数据和待切换密钥索引号,密钥口令数据是地面终端根据密钥切换指令的发送时刻生成的,待切换密钥索引号用于卫星终端在卫星终端数据库中查找待切换密钥;
作为一种实施例,卫星终端接收到地面终端发送的密钥切换指令后,获取到该指令约定字节中的密钥口令数据pt0和待切换密钥索引号,卫星终端可以根据待切换密钥索引号在卫星终端的数据库中查找到对应的待切换密钥。
需要说明的是,本申请实施例中的卫星终端可以是星务计算机,也可以是其他人造卫星,但本申请不限于此。
在上述实现过程中,通过接收地面终端发送的密钥切换指令来实现卫星终端的密钥切换,为了验证卫星终端所接收到的密钥切换指令是地面终端发送的,而不是攻击者截获密钥切换指令后对卫星终端进行的重放攻击,卫星终端根据接收的时间与接收的密钥口令数据判断其接收的密钥切换指令是否有效,能够有效地防止攻击者的重放攻击。
220,根据第二世界标准时间和所述密钥口令数据判断所述密钥切换指令是否有效,若有效,将与地面终端通信的密钥切换为所述待切换密钥。
其中,第二世界标准时间是指卫星终端接收密钥切换指令的时刻的世界标准时间;
根据第二世界标准时间和密钥口令数据判断密钥切换指令是否有效,包括:根据第二世界标准时间生成第一验证口令数据,判断第一验证口令数据与密钥口令数据是否相等;在第一验证口令数据与密钥口令数据相等的情况下,密钥切换指令有效;或,在第一验证口令数据与密钥口令数据不相等的情况下,使用时间窗口将第二世界标准时间进行回溯,并使用回溯后的时间生成第二验证口令数据,判断第二验证口令数据与密钥口令数据是否相等,在第二验证口令数据与密钥口令数据相等的情况下,密钥切换指令有效;若第二验证口令数据与密钥口令数据不相等,重复执行上述过程,直至将第二世界标准时间回溯到最大延迟时间停止,密钥切换指令无效,卫星终端不切换密钥。
根据第二世界标准时间生成第一验证口令数据,包括:将第二世界标准时间拆分为第二高16位数据和第二低16位数据;根据第二高16位数据从卫星终端的预设第一数组中获取第三数据,根据第二低16位数据从卫星终端的预设第二数组中获取第四数据;将第三数据与第四数据进行数学运算,生成第一验证口令数据。
需要说明的是,本申请实施例中的回溯表示计算第二世界标准时间前一秒的值。
作为一种实施例,星务软件在卫星终端中存储两个与地面终端相同的常数数组th和tl,常数数组th和tl中的元素值为[0,65535]区间内的整数,且两数组中的元素值互不相同,两数组中的元素值分别与世界标准时间对应,即根据某个世界标准时间能够分别在常数数组th和tl查找到与该世界标准时间对应的元素值。
需要说明的是,本申请实施例中的星务软件可以是卫星终端的处理器,也可以是卫星终端的一个处理模块,但本申请不限于此。
在上述实现过程中,通过在卫星终端存储与地面终端相同的两个常数数组,根据指令的接收时间采用与地面终端生成密钥口令数据相同的方法生成验证口令数据,进一步便于通过验证口令数据与密钥口令数据判断卫星终端接收的密钥切换指令的有效性。
作为一种实施例,星务软件获取到卫星终端接收到密钥切换指令的时刻的世界标准时间t,将t转换为32位数据,并拆分为高16位数据th与低16位数据tl。星务软件以th为下标在数组th中查找对应元素值,得到一个16位数a′,以tl为下标在数组tl中查找对应元素值,得到16位数b′,即
具体的,利用a′和b′进行数学运算,生成验证口令数据pt。
作为一种实施例,生成验证口令数据pt的公式为:
pt=(a′×b′)mod65536(2)
进一步的,判断验证口令数据pt与密钥口令数据pt0是否相等,若相等,即pt=pt0,则卫星终端接收到的密钥切换指令为有效指令,卫星终端根据待切换密钥索引号在卫星终端的数据库中查找到对应的待切换密钥,并使用待切换密钥进行密钥切换。
作为另一种实施例,在星务软件中存储一个时间窗口常数d,以及延时计数值d,延时计数值d的初始值为0;
若pt≠pt0时,则d累加1,生成累加后延时计数值d′,即,d′=d 1,对卫星终端接收到密钥切换指令时刻的世界标准时间t进行回溯,则回溯后的世界标准时间为t′,其中,t′=t-d′。
若累加后延时计数值d′<d时,则利用回溯后的世界标准时间为t′生成下一个验证口令数据pt′,生成下一个验证口令数据pt′的方法与上述生成验证口令数据pt的方法相同,在此不再赘述。
进一步的,判断下一个验证口令数据p′t与密钥口令数据pt0是否相等,若相等,即p′t=pt0,则卫星终端接收到的密钥切换指令为有效指令,卫星终端根据待切换密钥索引号在卫星终端的数据库中查找到对应的待切换密钥,并使用待切换密钥进行密钥切换;
若p′t≠pt0,重复上述过程,直到d′≥d时停止,则卫星终端接收到的密钥切换指令是无效指令,卫星终端不切换密钥。
在上述实现过程中,通过在地面终端和卫星终端预存两个常数数组,地面终端以世界标准时间为索引在两个常数数组中各获取一个元素值,并通过这组元素值计算密钥口令数据。卫星终端接收到指令后,用相同的算法计算验证口令数据,并与接收的密钥口令数据进行比较,如果满足条件,则判定卫星终端接收的密钥切换指令为非重放攻击,可以执行切换密钥,若不满足条件,则卫星终端接收的密钥切换指令为无效指令,有可能是重放攻击,不执行密钥切换指令,从而有效地防止了重放攻击,能够实现密钥的安全切换。
在卫星终端与地面终端进行遥测过程中,为了确保数据传输的安全性,提高加密算法的复杂程度,本申请以aes256-ctr算法为原型,增加常数数组a用于变量计算,原算法变量为简单累加量,改进后变量为以utc时间为种子的伪随机变量,进一步提高算法的复杂度。本申请提供了一种数据传输的方法,通过图3和图4来描述该方法的流程。
请参照图3,图3为本申请实施例提供的一种在卫星终端侧用于数据传输的方法流程图,该方法可以应用于图7所示的卫星终端700,具体的,图1所示的方法包括:
310,将明文数据拆分为n组待加密数据。
其中,n为大于等于2的整数;
作为一种实施例,星务计算机每秒发送一帧1024字节的明文数据p,将该明文数据p拆分为n组待加密数据,其中,n为大于等于2的整数。
需要说明的是,本申请可以将明文数据以32字节为一组共分为32组,也可以以16字节为一组共分为64组,但本申请不限于此。
作为一种实施例,将明文数据p,以16字节为一组共分为64组,命名为{p1,p2,...,p64},即,此处n等于64。若明文数据以32字节为一组共分为32组,生成密文数据,与以16字节为一组共分为64组生成密文数据的方法与过程相同,在此不再赘述。
320,根据第三世界标准时间生成n个变换数据。
其中,第三世界标准时间是指明文数据发送时刻的世界标准时间;
根据第三世界标准时间生成n个变换数据,包括:
利用预设密钥对第三世界标准时间进行ecb加密变换,得到第1个变换数据;
利用预设密钥对第三世界标准时间与预设常数数组的运算结果进行ecb加密变换,得到第2至第n个变换数据。
作为一种实施例,通过计时器记录该明文数据p发送时刻的utc时间t,利用预设密钥对utc时间t进行ecb加密变换,得到第1个变换数据。
需要说明的是,上述预设密钥可以是通过图1与图2所示的方法切换获得的,也可以是在卫星终端预存的,但本申请不限于此。ecb加密变换的算法可以是aes128-ecb,可以是aes192-ecb,也可以是aes256-ecb,但本申请不限于此。
作为一种实施例,预设密钥是通过图1与图2所示的方法切换获得的,利用预设密钥对utc时间t进行aes256-ecb加密变换,得到第1个变换数据为一个16字节数c1;
作为一种实施例,在卫星终端预存有常数组a={a2,a3,...,a64},其中,ai为小于64的随机正整数,i∈[2,64];
利用utc时间t与常数组a进行运算,生成数组b={b2,b3,...,b64};
其中,bi=tmodai,i∈[2,64];
利用预设密钥对utc时间分别对bi进行aes256-ecb加密变换,得到16字节变换数据ci,i∈[2,64],即,得到第2至第64个变换数据{c2,c3,...,c64},因此,得到变换数据c={c1,c2,...,c64}。
在上述实现过程中,利用世界标准时间与预设常数数组对加密算法进行改进,提高了加密算法的复杂程度,增加了卫星测控系统的安全性。
330,将所述n个变换数据分别与所述n组待加密数据进行加密运算,得到n组加密数据。
将n个变换数据分别与n组待加密数据进行加密运算,得到n组加密数据,包括:将第1个变换数据与n组待加密数据中的第1组待加密数据进行异或运算,得到第1组加密数据;将第2至第n个变换数据中每个变换数据分别对应与n组待加密数据中的第2至第n组待加密数据进行异或运算,得到第2至第n组加密数据。利用变换数据c对明文数据p进行异或运算,得到密文数据。
具体的,利用第1个变换数据c1对第1组明文数据p1进行异或运算,得到第1组密文数据e1,即,e1=p1xorc1;
利用第i个变换数据ci对第i组明文数据pi进行异或运算,得到第i组密文数据ei,即,ei=pixorci,i∈[2,64];
计算出64组密文数据后,得到最终的密文数据e,其中,e={e1,e2,...,e64}。
在上述实现过程中,对明文数据进行分组加密,且每组加密过程中采用不同的变换数据,能够有效地提高算法的复杂性,进一步提高破解的难度。
340,向地面终端发送密文数据。
向地面终端发送密文数据以及第三世界标准时间,其中,密文数据包括n组加密数据。
作为一种实施例,将得到的密文数据e,以及明文数据p发送时刻的utc时间t发送至地面终端。
在上述实现过程中,在卫星终端通过明文数据的发送的世界标准时间对发送的数据进行加密,能够有效地提高加密算法的复杂性,进一步增强卫星遥测过程中数据传输的安全性。
请参照图4,图4为本申请实施例提供的一种在地面终端侧的数据传输的方法流程图,该方法可以应用于图8所示的地面终端800,具体的,图4所示的方法包括:
410,接收卫星终端发送的密文数据。
接收卫星终端发送的密文数据以及第三世界标准时间,其中,密文数据包括n组加密数据,第三世界标准时间是指密文数据对应的明文数据发送时刻的世界标准时间,n为大于等于2的整数;
作为一种实施例,地面终端每秒接收一帧1024字节密文数据e,其中,e={e1,e2,...,e64},卫星终端将明文数据p发送时刻的utc时间t同时发送给地面终端。
420,根据第三世界标准时间生成n个变换数据。
根据第三世界标准时间生成n个变换数据,包括:利用预设密钥对第三世界标准时间进行ecb解密变换,得到第1个变换数据;利用预设密钥对第三世界标准时间与预设常数数组的运算结果进行ecb解密变换,得到第2至第n个变换数据。
作为一种实施例,为了对接收到的卫星终端发送的密文数据进行解密,根据明文数据p发送时刻的utc时间t生成64个变换数据;
具体的,地面终端的预设密钥与卫星终端的预设密钥相同,地面终端利用预设密钥对utc时间t进行aes256-ecb解密变换,得到第1个变换数据为一个16字节数c1;
作为一种实施例,在地面终端存储有与卫星终端相同的常数组a={a2,a3,...,a64},其中,ai为小于64的随机正整数,i∈[2,64];
地面终端利用utc时间t与常数组a进行运算,生成数组b={b2,b3,...,b64};
其中,bi=tmodai,i∈[2,64];
地面终端利用预设密钥对utc时间t分别对bi进行aes256-ecb解密变换,得到16字节变换数据ci,i∈[2,64],即,得到第2至第64个变换数据{c2,c3,...,c64},因此,c={c1,c2,...,c64}。
需要说明的是,地面终端解密过程使用的预设密钥与卫星终端加密过程使用的预设密钥为相同密钥。
在上述实现过程中,地面终端利用世界标准时间生成解密变换数据,便于对密文进行解密。
430,将所述n个变换数据分别与所述n组加密数据进行解密运算,得到明文数据。
将n个变换数据分别与n组加密数据进行解密运算,得到明文数据,包括:将第1个变换数据与n组加密数据中第1组加密数据进行异或运算,得到第1组明文数据;将第2至第n个变换数据中每个变换数据分别对应与n组加密数据中第2至第n组加密数据进行异或运算,得到第2至第n组明文数据;将第1组明文数据与第2至第n组明文数据进行组合,生成明文数据。
在上述实现过程中,地面终端利用变换数据分别对n组加密数据进行解密运算,进一步生成n组解密后的数据,并对n组解密后的数据进行组合,生成了明文数据,从而实现了数据的解密。
利用变换数据c对密文数据e进行异或运算,得到明文数据。
具体的,利用第1个变换数据c1对第1组密文数据e1进行异或运算,得到第1组明文数据p1,即,p1=e1xorc1;
利用第i个变换数据ci对第i组密文数据ei进行异或运算,得到第i组明文数据pi,即,pi=eixorci,i∈[2,64];
计算出64组明文数据后,得到最终的明文数据p,其中,p={p1,p2,...,p64},最终实现了对密文数据的解密。
在上述实现过程中,在地面终端通过接收卫星终端发送的密文数据,并采用对称加密的方式对接收的密文数据进行解密,能够有效地获取到密文数据所对应的明文数据。
请参照图5,图5为本申请实施例提供的一种用于密钥切换的地面终端的结构示意图,图5所提供的地面终端500与图1所示的方法对应,具有实现图1所示方法的功能模块,具体的,地面终端500包括:
第一处理模块510和第一发送模块520;
第一处理模块,用于根据第一世界标准时间生成密钥口令数据,其中,第一世界标准时间是指密钥切换指令发送时刻的世界标准时间,密钥口令数据用于卫星终端确定密钥切换指令的有效性;第一发送模块,用于根据第一世界标准时间向卫星终端发送密钥切换指令,其中,密钥切换指令包括密钥口令数据和待切换密钥索引号,待切换密钥索引号用于卫星终端在卫星终端数据库中查找待切换密钥。
第一处理模块具体用于:将第一世界标准时间拆分为第一高16位数据和第一低16位数据;根据第一高位数据从地面终端的预设第一数组中获取第一数据,根据第一低位数据从地面终端的预设第二数组中获取第二数据;将第一数据与第二数据进行数学运算,生成密钥口令数据。
需要说明的是,图5所提供的地面终端500,能够实现图1方法实施例中涉及密钥切换的方法的各个过程。地面终端500中的各个模块的操作和/或功能,分别为了实现图1中的方法实施例中的相应流程。具体可参见上述方法实施例中的描述,为避免重复,此处适当省略详细描述。
请参照图6,图6为本申请实施例提供的一种用于密钥切换的卫星终端的结构示意图,图6所提供的卫星终端600与图2所示的方法对应,具有实现图2所示方法的功能模块,具体的,卫星终端600包括:
第二接收模块610和第二处理模块620;
第二接收模块,用于接收地面终端发送的密钥切换指令,其中,密钥切换指令包括密钥口令数据和待切换密钥索引号,密钥口令数据是地面终端根据密钥切换指令的发送时刻生成的,待切换密钥索引号用于卫星终端在卫星终端数据库中查找待切换密钥;第二处理模块,用于根据第二世界标准时间和密钥口令数据判断密钥切换指令是否有效,其中,第二世界标准时间是指卫星终端接收密钥切换指令的时刻的世界标准时间;若有效,第二处理模块还用于将与地面终端通信的密钥切换为待切换密钥。
第二处理模块具体用于:根据第二世界标准时间生成第一验证口令数据,判断第一验证口令数据与密钥口令数据是否相等;在第一验证口令数据与密钥口令数据相等的情况下,密钥切换指令有效;或,在第一验证口令数据与密钥口令数据不相等的情况下,使用时间窗口将第二世界标准时间进行回溯,并使用回溯后的时间生成第二验证口令数据,判断第二验证口令数据与密钥口令数据是否相等,在第二验证口令数据与密钥口令数据相等的情况下,密钥切换指令有效;若第二验证口令数据与密钥口令数据不相等,重复执行上述过程,直至将第二世界标准时间回溯到最大延迟时间停止,密钥切换指令无效,卫星终端不切换密钥。
第二处理模块具体用于:将第二世界标准时间拆分为第二高16位数据和第二低16位数据;根据第二高16位数据从卫星终端的预设第一数组中获取第三数据,根据第二低16位数据从卫星终端的预设第二数组中获取第四数据;将第三数据与第四数据进行数学运算,生成第一验证口令数据。
需要说明的是,图6所提供的卫星终端600,能够实现图2方法实施例中涉及密钥切换的方法的各个过程。卫星终端600中的各个模块的操作和/或功能,分别为了实现图2中的方法实施例中的相应流程。具体可参见上述方法实施例中的描述,为避免重复,此处适当省略详细描述。
请参照图7,图7为本申请实施例提供的一种用于数据传输的卫星终端的结构示意图,图7所提供的卫星终端700与图3所示的方法对应,具有实现图3所示方法的功能模块,具体的,卫星终端700包括:
第三处理模块710和第三发送模块720;
作为一种实施例,第三处理模块,用于将明文数据拆分为n组待加密数据,其中,n为大于等于2的整数;
第三处理模块还用于根据第三世界标准时间生成n个变换数据,其中,第三世界标准时间是指明文数据发送时刻的世界标准时间;
第三处理模块还用于将n个变换数据分别与n组待加密数据进行加密运算,得到n组加密数据;
第三发送模块,用于向地面终端发送密文数据以及所述第三世界标准时间,其中,所述密文数据包括所述n组加密数据。
作为一种实施例,所述第三处理模块具体用于:利用预设密钥对所述第三世界标准时间进行ecb加密变换,得到第1个变换数据;利用所述预设密钥对所述第三世界标准时间与预设常数数组的运算结果进行所述ecb加密变换,得到第2至第n个变换数据。
作为一种实施例,所述第三处理模块还用于:将所述第1个变换数据与所述n组待加密数据中的第1组待加密数据进行异或运算,得到第1组加密数据;将所述第2至第n个变换数据中每个变换数据分别对应与所述n组待加密数据中的第2至第n组待加密数据进行异或运算,得到第2至第n组加密数据。
需要说明的是,图7所提供的卫星终端700,能够实现图3方法实施例中涉及用于数据传输的方法的各个过程。卫星终端700中的各个模块的操作和/或功能,分别为了实现图3中的方法实施例中的相应流程。具体可参见上述方法实施例中的描述,为避免重复,此处适当省略详细描述。
请参照图8,图8为本申请实施例提供的一种用于数据传输的地面终端的结构示意图,图8所提供的地面终端800与图4所示的方法对应,具有实现图4所示方法的功能模块,具体的,地面终端800包括:
第四接收模块810和第四处理模块820;
第四接收模块,用于接收卫星终端发送的密文数据以及第三世界标准时间,其中,所述密文数据包括n组加密数据,所述第三世界标准时间是指所述密文数据对应的明文数据发送时刻的世界标准时间,n为大于等于2的整数;第四处理模块,用于根据第三世界标准时间生成n个变换数据;第四处理模块还用于将n个变换数据分别与n组加密数据进行解密运算,得到明文数据。
第四接收模块具体用于:利用预设密钥对第三世界标准时间进行ecb解密变换,得到第1个变换数据;利用预设密钥对第三世界标准时间与预设常数数组的运算结果进行ecb解密变换,得到第2至第n个变换数据。
第四处理模块还用于:将第1个变换数据与n组加密数据中第1组加密数据进行异或运算,得到第1组明文数据;将第2至第n个变换数据中每个变换数据分别对应与n组加密数据中第2至第n组加密数据进行异或运算,得到第2至第n组明文数据;将第1组明文数据与第2至第n组明文数据进行组合,生成明文数据。
需要说明的是,图8所提供的地面终端800,能够实现图4方法实施例中涉及用于数据传输的方法的各个过程。地面终端800中的各个模块的操作和/或功能,分别为了实现图4中的方法实施例中的相应流程。具体可参见上述方法实施例中的描述,为避免重复,此处适当省略详细描述。
请参照图9,图9为本申请实施例提供的一种电子设备的结构示意图,所述电子设备900可以包括:至少一个处理器910,例如cpu,至少一个通信接口920,至少一个存储器930和至少一个通信总线940。其中,通信总线940用于实现这些组件直接的连接通信。其中,本申请实施例中设备的通信接口920用于与其他节点设备进行信令或数据的通信。存储器930可以是高速ram存储器,也可以是非不稳定的存储器(non-volatilememory),例如至少一个磁盘存储器。存储器930可选的还可以是至少一个位于远离前述处理器的存储装置。存储器930中存储有计算机可读取指令,当所述计算机可读取指令由所述处理器910执行时,电子设备可以执行图1、图2、图3或图4所示方法过程。
本申请实施例提供一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被服务器执行时实现图1、图2、图3或图4所示的方法过程。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统和方法,也可以通过其它的方式实现。以上所描述的系统实施例仅仅是示意性的,例如,所述系统装置的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个装置或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。
另外,作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
以上所述仅为本申请的实施例而已,并不用于限制本申请的保护范围,对于本领域的技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。
1.一种用于密钥切换的方法,其特征在于,所述方法应用于地面终端,所述方法包括:
根据第一世界标准时间生成密钥口令数据,其中,所述第一世界标准时间是指密钥切换指令发送时刻的世界标准时间,所述密钥口令数据用于卫星终端确定所述密钥切换指令的有效性;
根据所述第一世界标准时间向所述卫星终端发送所述密钥切换指令,其中,所述密钥切换指令包括所述密钥口令数据和待切换密钥索引号,所述待切换密钥索引号用于所述卫星终端在所述卫星终端的数据库中查找待切换密钥。
2.根据权利要求1所述的方法,其特征在于,所述根据第一世界标准时间生成密钥口令数据,包括:
将所述第一世界标准时间拆分为第一高16位数据和第一低16位数据;
根据所述第一高16位数据从所述地面终端的预设第一数组中获取第一数据,根据所述第一低16位数据从所述地面终端的预设第二数组中获取第二数据;
将所述第一数据与所述第二数据进行数学运算,生成所述密钥口令数据。
3.一种用于密钥切换的方法,其特征在于,所述方法应用于卫星终端,所述方法包括:
接收地面终端发送的密钥切换指令,其中,所述密钥切换指令包括密钥口令数据和待切换密钥索引号,所述密钥口令数据是所述地面终端根据所述密钥切换指令的发送时刻生成的,所述待切换密钥索引号用于所述卫星终端在所述卫星终端的数据库中查找待切换密钥;
根据第二世界标准时间和所述密钥口令数据判断所述密钥切换指令是否有效,其中,所述第二世界标准时间是指所述卫星终端接收所述密钥切换指令的时刻的世界标准时间;
若有效,将与所述地面终端通信的密钥切换为所述待切换密钥。
4.根据权利要求3所述的方法,其特征在于,所述根据第二世界标准时间和所述密钥口令数据判断所述密钥切换指令是否有效,包括:
根据所述第二世界标准时间生成第一验证口令数据,判断所述第一验证口令数据与所述密钥口令数据是否相等;
在所述第一验证口令数据与所述密钥口令数据相等的情况下,所述密钥切换指令有效;
或,在所述第一验证口令数据与所述密钥口令数据不相等的情况下,使用时间窗口将所述第二世界标准时间进行回溯,并使用回溯后的时间生成第二验证口令数据,判断所述第二验证口令数据与所述密钥口令数据是否相等,在所述第二验证口令数据与所述密钥口令数据相等的情况下,所述密钥切换指令有效;若所述第二验证口令数据与所述密钥口令数据不相等,重复执行上述过程,直至将所述第二世界标准时间回溯到最大延迟时间停止,所述密钥切换指令无效,所述卫星终端不切换密钥。
5.根据权利要求4所述的方法,其特征在于,所述根据第二世界标准时间生成第一验证口令数据,包括:
将所述第二世界标准时间拆分为第二高16位数据和第二低16位数据;
根据所述第二高16位数据从所述卫星终端的预设第一数组中获取第三数据,根据所述第二低16位数据从所述卫星终端的预设第二数组中获取第四数据;
将所述第三数据与所述第四数据进行数学运算,生成所述第一验证口令数据。
6.一种用于数据传输的方法,其特征在于,所述方法应用于卫星终端,所述方法包括:
将明文数据拆分为n组待加密数据,其中,n为大于等于2的整数;
根据第三世界标准时间生成n个变换数据,其中,所述第三世界标准时间是指所述明文数据发送时刻的世界标准时间;
将所述n个变换数据分别与所述n组待加密数据进行加密运算,得到n组加密数据;
向地面终端发送密文数据以及所述第三世界标准时间,其中,所述密文数据包括所述n组加密数据。
7.根据权利要求6所述的方法,其特征在于,所述根据第三世界标准时间生成n个变换数据,包括:
利用预设密钥对所述第三世界标准时间进行ecb加密变换,得到第1个变换数据;
利用所述预设密钥对所述第三世界标准时间与预设常数数组的运算结果进行所述ecb加密变换,得到第2至第n个变换数据。
8.根据权利要求7所述的方法,其特征在于,所述将所述n个变换数据分别与所述n组待加密数据进行加密运算,得到n组加密数据,包括:
将所述第1个变换数据与所述n组待加密数据中的第1组待加密数据进行异或运算,得到第1组加密数据;
将所述第2至第n个变换数据中每个变换数据分别对应与所述n组待加密数据中的第2至第n组待加密数据进行异或运算,得到第2至第n组加密数据。
9.一种用于数据传输的方法,其特征在于,所述方法应用于地面终端,所述方法包括:
接收卫星终端发送的密文数据以及第三世界标准时间,其中,所述密文数据包括n组加密数据,所述第三世界标准时间是指所述密文数据对应的明文数据发送时刻的世界标准时间,n为大于等于2的整数;
根据第三世界标准时间生成n个变换数据;
将所述n个变换数据分别与所述n组加密数据进行解密运算,得到明文数据。
10.根据权利要求9所述的方法,其特征在于,所述根据第三世界标准时间生成n个变换数据,包括:
利用预设密钥对所述第三世界标准时间进行ecb解密变换,得到第1个变换数据;
利用所述预设密钥对所述第三世界标准时间与预设常数数组的运算结果进行所述ecb解密变换,得到第2至第n个变换数据。
11.根据权利要求10所述的方法,其特征在于,所述将所述n个变换数据分别与所述n组加密数据进行解密运算,得到明文数据,包括:
将所述第1个变换数据与所述n组加密数据中第1组加密数据进行异或运算,得到第1组明文数据;
将所述第2至第n个变换数据中每个变换数据分别对应与所述n组加密数据中第2至第n组加密数据进行异或运算,得到第2至第n组明文数据;
将所述第1组明文数据与所述第2至第n组明文数据进行组合,生成所述明文数据。
12.一种用于密钥切换的地面终端,其特征在于,所述地面终端包括:
第一处理模块,用于根据第一世界标准时间生成密钥口令数据,其中,所述第一世界标准时间是指密钥切换指令发送时刻的世界标准时间,所述密钥口令数据用于卫星终端确定所述密钥切换指令的有效性;
第一发送模块,用于根据所述第一世界标准时间向所述卫星终端发送所述密钥切换指令,其中,所述密钥切换指令包括所述密钥口令数据和待切换密钥索引号,所述待切换密钥索引号用于所述卫星终端在所述卫星终端的数据库中查找待切换密钥。
13.一种用于密钥切换的卫星终端,其特征在于,所述卫星终端包括:
第二接收模块,用于接收地面终端发送的密钥切换指令,其中,所述密钥切换指令包括密钥口令数据和待切换密钥索引号,所述密钥口令数据是地面终端根据所述密钥切换指令的发送时刻生成的,所述待切换密钥索引号用于所述卫星终端在所述卫星终端的数据库中查找待切换密钥;
第二处理模块,用于根据第二世界标准时间和所述密钥口令数据判断所述密钥切换指令是否有效,其中,所述第二世界标准时间是指所述卫星终端接收所述密钥切换指令的时刻的世界标准时间;
若有效,所述第二处理模块还用于将与所述地面终端通信的密钥切换为所述待切换密钥。
14.一种用于数据传输的卫星终端,其特征在于,所述卫星终端包括:
第三处理模块,用于将明文数据拆分为n组待加密数据,其中,n为大于等于2的整数;
所述第三处理模块还用于根据第三世界标准时间生成n个变换数据,其中,所述第三世界标准时间是指所述明文数据发送时刻的世界标准时间;
所述第三处理模块还用于将所述n个变换数据分别与所述n组待加密数据进行加密运算,得到n组加密数据;
第三发送模块,用于向地面终端发送密文数据以及所述第三世界标准时间,其中,所述密文数据包括所述n组加密数据。
15.一种用于数据传输的地面终端,其特征在于,所述地面终端包括:
第四接收模块,用于接收卫星终端发送的密文数据以及第三世界标准时间,其中,所述密文数据包括n组加密数据,所述第三世界标准时间是指所述密文数据对应的明文数据发送时刻的世界标准时间,n为大于等于2的整数;
第四处理模块,用于根据第三世界标准时间生成n个变换数据;
所述第四处理模块还用于将所述n个变换数据分别与所述n组加密数据进行解密运算,得到明文数据。
16.一种电子设备,其特征在于,包括:
处理器、存储器和总线,所述处理器通过所述总线与所述存储器相连,所述存储器存储有计算机可读取指令,当所述计算机可读取指令由所述处理器执行时,用于实现如权利要求1-11中任一项所述的方法。
17.一种计算机可读存储介质,其特征在于,该计算机可读存储介质上存储有计算机程序,该计算机程序被服务器执行时实现如权利要求1-11任一所述方法。
技术总结