本发明实施例涉及数据安全领域,特别涉及报文加解密方法、系统、服务器和可读存储介质。
背景技术:
在现代通信中,为了保证信息的安全性保密性,我们需要使用加密算法对信息进行加密。目前主要存在的加密算法有两种,一种是信息摘要算法,另一种是对称加密算法。信息摘要算法是不可逆的,主要作用是校验信息的一致性,主要用于数字签名。对称加密算法则是可逆的,主要作用是保证信息不被泄露,发送方使用密钥加密后发送,接收方使用相同的密钥解密就可以得到原始数据。
在移动物联网当中,需要发送和接收报文来进行通信,以达到实时监控移动终端的目的。为了保证信息不被泄露,采用aes-256加密数据的方式进行加密。
例如,原始报文:+resp:gtbpl,680100,135790246811220,,,3.53,0,4.3,92,70.0,121.354335,31.222073,20090214013254,0460,0000,18d8,6141,00,20090214093254,11f0$
加密报文:
然而,发明人发现服务器每次接收到这样的报文都要全部进行解密,但并不是所有的报文都是来自指定的设备终端,对于非指定的设备终端的报文进行解密会导致资源的浪费。
技术实现要素:
本发明实施方式的目的在于提供一种报文加解密方法、系统、服务器和可读存储介质,使得无需进行解密,就可以确定设备来源,提高资源利用率。
为解决上述技术问题,本发明的实施方式提供了一种报文加解密方法,包括以下步骤:
将所述待加密报文的报文头替换为指定报文头;
对所述报文内容中除设备编号外的报文内容进行加密。
本发明的实施方式提供了一种报文加解密方法,包括以下步骤:
确定所接收报文的报文头为指定报文头;
确定所接收报文来自指定的终端设备,并获取所述报文中的设备编号;对所接收报文中除设备编号外的报文内容进行解密。
本发明的实施方式提供了一种报文加解密系统,包括以下步骤:
设置模块,用于将所述待加密报文的报文头替换为指定报文头;
加密模块,用于对所述报文内容中除设备编号外的报文内容进行加密。
可选地,加密模块还包括:
加密子模块,用于使用与所述设备编号对应的秘钥,对所述报文内容中除设备编号外的报文内容进行加密。
本发明的实施方式提供了一种报文加解密系统,包括以下步骤:
确定来源模块,用于接收报文,确定所接收报文的报文头为指定报文头,以及确定所接收报文来自指定的终端设备,并获取所述报文中的设备编号;
解密模块,用于对所接收报文中除设备编号外的报文内容进行解密。
可选地,确定来源模块还包括:
接收子模块,用于获取所接收报文的报文头;
确定子模块,用于当所述报文头的类型为非指定报文头,确定所接收报文为未加密报文或者所接收报文来自非指定的终端设备;或,当所述报文头的类型为指定报文头,确定所接收报文来自指定的终端设备,且所接收报文中包括未加密的设备编号。
可选地,解密模块还包括:
解密子模块,用于使用与所接收报文中设备编号对应的秘钥,对所接收报文中除设备编号外的报文内容进行解密。
本发明的实施方式提供了一种报文加解密系统,包括以下步骤:
加密设备,用于将待加密报文的报文头替换为指定报文头;对报文内容中除设备编号外的报文内容进行加密;
解密设备,用于接收报文,确定所接收报文的报文头为指定报文头,以及确定所接收报文来自指定的终端设备,并获取所述报文中的设备编号;对所接收报文中除设备编号外的报文内容进行解密。
本发明的实施方式还提供了一种服务器,包括:至少一个处理器;以及,
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行任一所述的报文加解密方法。
本发明的实施方式还提供了一种计算机可读存储介质,所述计算机程序被处理器执行时实现任一项所述的保温加解密方法。
本发明实施方式相对于相关技术而言,将报文头替换成指定报文头,使得在解密之前即可确定该报文是经过本发明的加密方法进行加密的,更加快速的确定报文的加密方式;通过设置与密钥对应的设备编号,可以使用不同的密钥对报文内容进行加密,提高安全性能;同时设备编号对应不同的密钥,不同的终端设备具有相应的密钥,因此通过不加密的设备编号即可在未解密之前便可以确定报文的来源,实现设备之间信息的独立性,方便解密方只对指定终端设备发送的报文进行解密,提高解密的资源利用率。
另外,本发明实施方式提供的报文加解密方法,所述对所述报文内容中除设备编号外的报文内容进行加密包括:使用与所述设备编号对应的秘钥,对所述报文内容中除设备编号外的报文内容进行加密。
另外,本发明实施方式提供的报文加解密方法,所述确定所接收的报文的报文头为指定报文头,包括获取所接收报文的报文头;当所述报文头的类型为非指定报文头,确定所接收报文为未加密报文或者所接收报文来自非指定的终端设备;或,当所述报文头的类型为指定报文头,确定所接收报文来自指定的设备,且所接收报文中包括未加密的设备编号。
另外,本发明实施方式提供的报文加解密方法,所述对所接收的报文中除设备编号外的报文内容进行解密,包括:使用与所接收报文中设备编号对应的秘钥,对所接收报文的报文内容进行解密。
附图说明
一个或多个实施例通过与之对应的附图中的图片进行示例性说明,这些示例性说明并不构成对实施例的限定,附图中具有相同参考数字标号的元件表示为类似的元件,除非有特别申明,附图中的图不构成比例限制。
图1是本发明的第一实施方式提供的报文加解密方法的流程图;
图2是本发明的第一实施方式提供的aes加解密的流程图;
图3是本发明的第一实施方式提供的报文加密方法的流程图;
图4是本发明的第二实施方式提供的报文加解密方法的流程图;
图5是本发明的第二实施方式提供的报文解密方法的流程图;
图6是本发明的第三实施方式提供的报文加解密系统的结构示意图;
图7是本发明的第四实施方式提供的报文加解密系统的结构示意图;
图8是本发明的第五实施方式提供的报文加解密系统的结构示意图;
图9是本发明的第六实施方式提供的服务器的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合附图对本发明的各实施方式进行详细的阐述。然而,本领域的普通技术人员可以理解,在本发明各实施方式中,为了使读者更好地理解本申请而提出了许多技术细节。但是,即使没有这些技术细节和基于以下各实施方式的种种变化和修改,也可以实现本申请所要求保护的技术方案。
以下各个实施例的划分是为了描述方便,不应对本发明的具体实现方式构成任何限定,各个实施例在不矛盾的前提下可以相互结合相互引用。
本发明的第一实施方式涉及一种报文加解密方法。应用于报文加密过程,具体流程如图1所示。
步骤101,将所述待加密报文的报文头替换为指定报文头。
待加密报文包括报文头、报文内容和报文结束符,报文内容包括设备编号。
在本实施方式中,报文具有相同的报文头,将通过本方法加密的报文的报文头替换成指定报文头,在解密方接收到报文后通过已替换的指定报文头,可以确定如下信息:1、该报文为本方法进行加密的报文;2、该报文是已经经过加密的报文。在确定如上信息后,便可以通过本发明的解密方法进行解密,获得报文内容,具体的见第二实施方式所述。
一个具体实例,原始报文:+resp:gtbpl,680100,135790246811220,,,3.53,0,4.3,92,70.0,121.354335,31.222073,20090214013254,0460,0000,18d8,6141,00,20090214093254,11f0$原始报文的报文头为“+resp”,将报文头替换成“+arsp”。
替换后的报文:+arsp:gtbpl,680100,135790246811220,,,3.53,0,4.3,92,70.0,121.354335,31.222073,20090214013254,0460,0000,18d8,6141,00,20090214093254,11f0$
进一步地,报文中“gtbpl,680100,135790246811220”为报文的设备编号(uniqueid),通过uniqueid可以确定加密方的终端设备,根据不同的终端设备或者不同的uniqueid可以使用不同的密钥进行加密。
需要说明的是,报文头和uniqueid都不进行加密,因此接收方(解密方)在接收到报文时,无需进行解密便可以确定报文的来源终端设备及应当使用的密钥。
步骤102,对所述报文内容中除设备编号外的报文内容进行加密。
采用aes进行加密,aes是对称加密算法,对称加密算法也就是加密和解密用相同的密钥,aes加密流程如图2所示,明文为报文内容,将报文内容通过aes加密函数结合相对应的密钥进行加密,生成密文,将密文通过网络传输,解密方接受后,通过aes解密函数结合相应的密钥进行解密,获得报文内容。
在本实施方式中,仅对报文内容通过aes进行加密,通过未经过加密的设备编号获得与待加密报文相对应的密钥。在对称加密算法中,加密与解密的密钥是相同的,密钥为加密方与解密方协商产生,但不直接在网络上传输,否则会导致密钥泄漏,通常是通过非对称加密算法加密密钥,然后再通过网络传输给对方或直接面对面商量密钥。本方法通过为报文设置不同的设备编号,设备编号对应不同的密钥,使得可以让不同的终端设备可以使用不同的密钥,使安全性更高。
需要说明的是,报文包括:报文头、包括设备编号(uniqueid)的报文内容和报文结束符。
在例子:+resp:gtbpl,680100,135790246811220,,,3.53,0,4.3,92,70.0,121.354335,31.222073,20090214013254,0460,0000,18d8,6141,00,20090214093254,11f0$中,“+resp”为报文头,“gtbpl,680100,135790246811220,,,3.53,0,4.3,92,70.0,121.354335,31.222073,20090214013254,0460,0000,18d8,6141,00,20090214093254,11f0”为报文内容,“gtbpl,680100,135790246811220”为报文内容中的设备编号,“$”为报文结束符。
具体地,假设uniqueid对应两种密钥,即密钥a和密钥b,报文加密流程如图3所示:
s301,将报文头“+resp”替换成“+arsp”;
s302,设置uniqueid;
s303,判断uniqueid是否对应为a类;
s304,当uniqueid对应为a类,选用密钥a作为加密的密钥;
s305,当uniqueid对应为b类,选用密钥b作为加密的密钥;
s306,对报文内容进行aes加密;
s307,将加密后的报文发出。
本发明实施方式相对于现有技术而言,将报文头替换成指定报文头,使得在解密之前即可确定该报文是经过本发明的加密方法进行加密的,更加快速的确定报文的加密方式;通过设置与密钥对应的设备编号,可以使用不同的密钥对报文内容进行加密,提高安全性能;同时设备编号对应不同的密钥,不同的终端设备具有相应的密钥,因此通过不加密的设备编号即可在未解密之前便可以确定报文的来源,方便解密方只对指定终端设备发送的报文进行解密,提高解密的资源利用率。
本发明的第二实施方式涉及一种报文加解密方法,应用于报文解密过程,具体方法如图4所示:
步骤401,确定所接收报文的报文头为指定报文头;
在本实施方式中,解密方接收到报文后,获取报文的报文头,如果报文头为指定报文头,可以的出如下结论:1、该报文已经经过加密2、该报文为通过本发明的加密方法进行加密的。在确定报文头为指定报文头后,执行步骤402。
例如,解密方接收到的报文的报文头,如果为“+resp”,则说明报文不是为本发明的加密方法进行加密的,或者所接收报文来自非指定的终端设备;如果为“+arsp”,则说明该报文已通过本发明的加密方法进行加密。
步骤402,确定所接收报文来自指定的终端设备,并获取所述报文中的设备编号;
根据设备编号(uniqueid)可以确定接收的报文来自哪个终端设备,可以指定终端设备,即仅对指定的终端设备发送的报文进行解密,其他报文不进行解密。
步骤403,对所接收报文中除设备编号外的报文内容进行解密。
具体地,设uniqueid对应两种密钥,即密钥a和密钥b,报文解密流程如图5所示:
s501,接收报文;
s502,判断报文头是否为“+arsp”;
s503,若为“+arsp”,获取uniqueid,执行s504;若为“+resp”,执行s508;
s504,判断uniqueid是否对应a类;
s505,如果为a类,选用密钥a作为解密的密钥;
s506,如果为b类,选用密钥b作为解密的密钥;
s507,对报文内容进行aes解密;
s508,解析报文内容,并根据报文数据做出对应的处理。
由于第一实施方式与本实施方式相互对应,因此本实施方式可与第一实施方式互相配合实施。第一实施方式中提到的相关技术细节在本实施方式中依然有效,在第一实施方式中所能达到的技术效果在本实施方式中也同样可以实现,为了减少重复,这里不再赘述。相应地,本实施方式中提到的相关技术细节也可应用在第一实施方式中。
上面各种方法的步骤划分,只是为了描述清楚,实现时可以合并为一个步骤或者对某些步骤进行拆分,分解为多个步骤,只要包括相同的逻辑关系,都在本专利的保护范围内;对算法中或者流程中添加无关紧要的修改或者引入无关紧要的设计,但不改变其算法和流程的核心设计都在该专利的保护范围内。
本实施方式相对于相关技术来说,通过报文头“+resp”和“+arsp”可以有效区分报文是否已经进行过加密,或者报文是否来自指定的终端设备,这样可以避免对未加密报文进行解密处理或者没有对已加密报文进行解密的误操作,以及避免对来自非指定的终端设备的报文进行解密,造成设备资源浪费。同时,由于uniqueid的保留,可以通过读取uniqueid来确认需要使用的密钥,使得对不同的设备使用不同的密钥进行加密和解密,以保证多个设备之间信息的独立性,从而更安全。
本发明第三实施方式涉及一种报文加解密系统,待加密报文包括报文头、报文内容和报文结束符,所述报文内容包括设备编号。
报文加解密系统结构如图6所示,包括:
设置模块601,用于将所述待加密报文的报文头替换为指定报文头。
加密模块602,用于对所述报文内容中除设备编号外的报文内容进行加密。
其中,加密模块602还可包括:
加密子模块,用于使用与所述设备编号对应的秘钥,对所述报文内容中除设备编号外的报文内容进行加密。
不难发现,本实施方式为与第一实施方式相对应的系统实施例,本实施方式可与第一实施方式互相配合实施。第一实施方式中提到的相关技术细节在本实施方式中依然有效,为了减少重复,这里不再赘述。相应地,本实施方式中提到的相关技术细节也可应用在第一实施方式中。
值得一提的是,本实施方式中所涉及到的各模块均为逻辑模块,在实际应用中,一个逻辑单元可以是一个物理单元,也可以是一个物理单元的一部分,还可以以多个物理单元的组合实现。此外,为了突出本发明的创新部分,本实施方式中并没有将与解决本发明所提出的技术问题关系不太密切的单元引入,但这并不表明本实施方式中不存在其它的单元。
本发明第四实施方式涉及一种报文加解密系统,如图7所示。
确定来源模块701,用于接收报文,确定所接收报文的报文头为指定报文头,以及确定所接收报文来自指定的终端设备,并获取所述报文中的设备编号;
其中,确定来源模块701还可包括:
接收子模块,用于获取所接收报文的报文头;
确定子模块,用于当所述报文头的类型为非指定报文头,确定所接收报文为未加密报文或者所接收报文来自非指定的终端设备;或,当所述报文头的类型为指定报文头,确定所接收报文来自指定的终端设备,且所接收报文中包括未加密的设备编号。
解密模块702,用于对所接收报文中除设备编号外的报文内容进行解密。
其中,解密模块702还可包括:
解密子模块,用于使用与所接收报文中设备编号对应的秘钥,对所接收报文的报文内容进行解密。
值得一提的是,本实施方式中所涉及到的各模块均为逻辑模块,在实际应用中,一个逻辑单元可以是一个物理单元,也可以是一个物理单元的一部分,还可以以多个物理单元的组合实现。此外,为了突出本发明的创新部分,本实施方式中并没有将与解决本发明所提出的技术问题关系不太密切的单元引入,但这并不表明本实施方式中不存在其它的单元。
本发明第五实施方式涉及一种报文加解密系统,待加密报文包括报文头、报文内容和报文结束符,所述报文内容包括设备编号。
报文加解密系统的结构如图8所示,包括:
加密设备801,用于将待加密报文的报文头替换为指定报文头;对报文内容中除设备编号外的报文内容进行加密。
解密设备802,用于接收报文,确定所接收报文的报文头为指定报文头,以及确定所接收报文来自指定的终端设备,并获取所述报文中的设备编号;对所接收报文中除设备编号外的报文内容进行解密。
值得一提的是,本实施方式中所涉及到的各模块均为逻辑模块,在实际应用中,一个逻辑单元可以是一个物理单元,也可以是一个物理单元的一部分,还可以以多个物理单元的组合实现。此外,为了突出本发明的创新部分,本实施方式中并没有将与解决本发明所提出的技术问题关系不太密切的单元引入,但这并不表明本实施方式中不存在其它的单元。
本发明第六实施方式涉及一种服务器,如图9所示,包括:
至少一个处理器901;
以及,与所述至少一个处理器901通信连接的存储器902;
其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行实施例一和实施例二中任一所述的报文加解密方法和实施例三、实施例四和实施例五中任一所述的报文加解密系统。
其中,存储器和处理器采用总线方式连接,总线可以包括任意数量的互联的总线和桥,总线将一个或多个处理器和存储器的各种电路链接在一起。总线还可以将诸如外围设备、稳压器和功率管理电路等之类的各种其他电路链接在一起,这些都是本领域所公知的,因此,本文不再对其进行进一步描述。总线接口在总线和收发机之间提供接口。收发机可以是一个元件,也可以是多个元件,比如多个接收器和发送器,提供用于在传输介质上与各种其他装置通信的单元。经处理器处理的数据通过天线在无线介质上进行传输,进一步,天线还接收数据并将数据传送给处理器。
处理器负责管理总线和通常的处理,还可以提供各种功能,包括定时,外围接口,电压调节、电源管理以及其他控制功能。而存储器可以被用于存储处理器在执行操作时所使用的数据。
本领域技术人员可以理解实现上述实施例方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序存储在一个存储介质中,包括若干指令用以使得一个设备(可以是单片机,芯片等)或处理器(processor)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、磁碟或者光盘等各种可以存储程序代码的介质。
本领域的普通技术人员可以理解,上述各实施方式是实现本发明的具体实施例,而在实际应用中,可以在形式上和细节上对其作各种改变,而不偏离本发明的精神和范围。