数据加密、解密方法、数据加密、解密装置及通信系统与流程

文档序号:11254026阅读:522来源:国知局
数据加密、解密方法、数据加密、解密装置及通信系统与流程

本发明属于终端信息安全技术领域,具体涉及数据加密、解密方法、数据加密、解密装置及通信系统。



背景技术:

随着网络化、信息化的高速发展,信息资源的安全访问问题日益突出。用户对终端信息的安全认知及安全需求越来越高,为确保用户终端信息安全,对终端信息的加解密处理成为本领域的重点关注方向。

目前对终端信息的加密处理,各平台都有自己的一套实现方案,如android、ios以及pc等。使得上层应用在调用底层算法时,各平台需要单独实现,不仅增加了工作量,而且跨平台性差,甚至只能实现平台内的加密通信。因此,急需一种能够进行跨平台操作的加解密处理技术来解决现有技术存在的缺陷。



技术实现要素:

鉴于此,本发明的目的在于提供一种数据加密、解密方法、数据加密、解密装置及通信系统,以有效地改善上述问题。

本发明的实施例是这样实现的:

一方面,本发明实施例提供了一种数据加密方法,应用于通信系统的发送终端,所述通信系统还包括:接收终端。所述数据加密方法包括:获取所述接收终端的标识信息,及预先存储的公钥;根据所述发送终端的操作系统,通过预设的加密接口获取与所述发送终端的操作系统相对应的加密算法;根据所述公钥、所述标识信息和所获取的加密算法对待加密数据进行加密;将加密后的数据发送至所述接收终端。

第二方面,本发明实施例还提供了一种数据解密方法,应用于通信系统的接收终端,所述通信系统还包括:发送终端。所述数据解密方法包括:接收并识别由所述发送终端发送的加密信息;当识别出所接收信息为加密信息时,获取预先存储的密钥,所述密钥与上所述的数据加密方法中的公钥相对应;根据所述接收终端的操作系统,通过预设的加密接口获取与所述接收终端的操作系统相对应的解密算法;根据所述密钥和所获取的解密算法对所述加密信息进行解密,得到解密信息。

第三方面,本发明实施例还提供了一种数据加密装置,应用于通信系统,所述通信系统还包括:接收终端。所述发送终端包括:第一获取模块,用于获取所述接收终端的标识信息,及预先存储的公钥。第二获取模块,用于根据所述发送终端的操作系统,通过预设的加密接口获取与所述发送终端的操作系统相对应的加密算法。数据加密模块,用于根据所述公钥、所述标识信息和所获取的加密算法对待加密数据进行加密。发送模块,用于将加密后的数据发送至所述接收终端。

第四方面,本发明实施例还提供了一种数据解密装置,应用于通信系统的接收终端,所述通信系统还包括:发送终端。所述接收终端包括:接收和识别模块,用于接收并识别由所述发送终端发送的加密信息。第三获取模块,用于当识别出所接收信息为加密信息时,获取预先存储的密钥,所述密钥与上述的数据加密方法中的公钥相对应。第四获取模块,用于根据所述接收终端的操作系统,通过预设的加密接口获取与所述接收终端的操作系统相对应的解密算法。数据解密模块,根据所述密钥和所获取的解密算法对所述加密信息进行解密,得到解密信息。

第五方面,本发明实施例还提供了一种通信系统,包括:上述的发送终端和上述的接收终端,所述发送终端和所述接收终端通过服务器耦合。

本发明实施例提供的数据加密、解密方法、数据加密、解密装置及通信系统,与现有技术相比,由于各平台采用了统一的加密接口,使得上层应用在调用底层算法时,只需采用一套代码,便可多处使用,简化了工作量,从而实现了终端的跨平台端到端加解密的目的。

本发明的其他特征和优点将在随后的说明书阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明实施例而了解。本发明的目的和其他优点可通过在所写的说明书、权利要求书以及附图中所特别指出的结构来实现和获得。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。通过附图所示,本发明的上述及其它目的、特征和优势将更加清晰。在全部附图中相同的附图标记指示相同的部分。并未刻意按实际尺寸等比例缩放绘制附图,重点在于示出本发明的主旨。

图1示出了本发明实施例所提供的通信系统中的服务器与本地终端的交互图。

图2示出了本发明实施例提供的一种电子设备的结构框图。

图3示出了本发明实施例提供的一种数据加密方法的方法流程图。

图4示出了本发明实施例提供的一种数据解密方法的方法流程图。

图5示出了本发明实施例提供的一种数据加解密装置的功能模块框图。

图6示出了本发明实施例提供的图5中的数据加密装置的功能模块框图。

图7示出了本发明实施例提供的图5中的数据解密装置的功能模块框图。

具体实施方式

为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。

因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。

在本发明的描述中,需要说明的是,术语“第一”、“第二”、“第三”等仅用于区分描述,而不能理解为指示或暗示相对重要性。

如图1所示,是本发明实施例提供的数据加密、解密方法所应用的通信系统100中的服务器101与发送终端102、接收终端103等多个本地终端进行交互的示意图。所述服务器101通过网络与一个或多个的发送终端102、接收终端103等进行通信连接,以进行数据通信或交互。所述服务器101可以是网络服务器、数据库服务器等,也可以是网络服务器、数据库服务器等的集成式服务器系统。所述发送终端102、接收终端103等各个终端设备可以是个人电脑(personalcomputer,pc)、平板电脑、智能手机、个人数字助理(personaldigitalassistant,pda)等。

如图2所示,图2示出了本发明实施例提供的一种电子设备200的结构框图。所述电子设备200包括:数据加解密装置210、存储器220、存储控制器230和处理器240。

所述存储器220、存储控制器230、处理器240各元件相互之间直接或间接地电性连接,以实现数据的传输或交互。例如,这些元件相互之间可通过一条或多条通讯总线或信号线实现电性连接。所述数据加解密装置210包括至少一个可以软件或固件(firmware)的形式存储于所述存储器220中或固化在所述电子设备200的操作系统(operatingsystem,os)中的软件功能模块。所述处理器240用于执行存储器220中存储的可执行模块,例如所述数据加解密装置210包括的软件功能模块或计算机程序。

其中,存储器220可以是,但不限于,随机存取存储器(randomaccessmemory,ram),只读存储器(readonlymemory,rom),可编程只读存储器(programmableread-onlymemory,prom),可擦除只读存储器(erasableprogrammableread-onlymemory,eprom),电可擦除只读存储器(electricerasableprogrammableread-onlymemory,eeprom)等。其中,存储器220用于存储程序,所述处理器240在接收到执行指令后,执行所述程序,后述本发明实施例任一实施例揭示的流程定义的电子设备200所执行的方法可以应用于处理器240中,或者由处理器240实现。

处理器240可能是一种集成电路芯片,具有信号的处理能力。上述的处理器可以是通用处理器,包括中央处理器(centralprocessingunit,cpu)、网络处理器(networkprocessor,np)等;还可以是数字信号处理器(dsp)、专用集成电路(asic)、现成可编程门阵列(fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本发明实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。

本发明实施例提供了一种应用于图1中的通信系统100中的数据加密方法,如图3所示。该方法是基于pki体系的基础技术及jce提供的加密相关接口实现的。pki(publickeyinfrastructure)即“公钥基础设施”,是一种遵循既定标准的密钥管理平台,它能够为所有网络应用提供加密和数字签名等密码服务及所必需的密钥和证书管理体系,依据pki体系可以建立安全服务的基础设施。

其中,图3示出了本发明实施例提供的一种应用于图1中的通信系统中的数据加密方法的流程图,具体包括:步骤s301-s304。

步骤s301:获取所述接收终端的标识信息,及预先存储的公钥。

发送终端在发送数据时,需要获取目标接收终端的标识信息,才能将待发送的数据发送给对应的接收终端,若待发送数据需要加密发送时,还需要获取预先存储的公钥才能将数据进行加密。其中,优选地,该预先存储的公钥是存储于服务器端的,以便多个终端共用。

步骤s302:根据所述发送终端的操作系统,通过预设的加密接口获取与所述发送终端的操作系统相对应的加密算法。

为了避免现有加密技术中,各平台采用不同的加密调用接口,这样不同平台的上层应用在调用底层算法时,需要不同的程序代码,不仅增加了其工作量,还增加了使用、维护等成本,使得平台间的跨越性差。本实施例中,通过预设的加密接口实现不同平台的统一调用,例如,安卓系统在调用底层算法时,调用加密接口a,ios系统在调用底层算法时,也调用加密接口a,这样就使得一套代码能够多处使用,降低了工作量,节约了使用、维护成本,使得平台间的跨越性好。其中,预设加密接口是根据实际使用需要而预先设计的调用接口,通过该加密接口可以获取与所述发送终端的操作系统相对应的加密算法。其中,当发送终端的操作系统为pc或android操作系统时,通过预设的加密接口获取到的所述加密算法为采用java语言封装的加密算法。当发送终端的操作系统为ios操作系统时,通过预设的加密接口获取到的所述加密算法为采用openssl封装的加密算法。

步骤s303:根据所述公钥、所述标识信息和所获取的加密算法对待加密数据进行加密。

获取到公钥、接收终端的标识信息以及相应的加密算法后,根据所述公钥、所述标识信息和所获取的加密算法对待加密数据进行加密,得到加密后的数据。其中,加密时,可以采用对称加密算法或非对称加密算法。

步骤s304:将加密后的数据发送至所述接收终端。

得到加密后的数据后,将其发送至接收终端。其中,包括,将加密后的数据保存到服务器数据库,通过所述服务器将加密后的数据发送至所述接收终端。发送时,根据获取到的标识信息,将服务器将加密后的数据发送至与该标识信息相对应的接收终端。

本发明实施例提供了一种应用于图1中的通信系统100中的数据解密方法,如图4所示。其中,图4示出了本发明实施例提供的一种数据解密方法的流程图,具体包括:步骤s401-s404。

步骤s401:接收并识别由所述发送终端发送的加密信息。

接收终端获取到由发送终端经服务器发送的数据信息后,对所接收到的数据信息进行判断,判断所接收到的数据信息是否为加密信息,若所接收到的数据信息为加密信息时,则执行步骤s402。

其中,作为一种优选地实施方式,可以根据对所接收到的数据信息是否具备加密头信息来判断所接收到的数据信息是否为加密信息。

步骤s402:当识别出所接收信息为加密信息时,获取预先存储的密钥,所述密钥与上述的数据加密方法中的公钥相对应。

当识别出所接收信息为加密信息时,获取预先存储的密钥,以便于对该加密信息进行解密操作。其中,该密钥与上述的数据加密方法中的公钥相对应。即若该加密信息是采用对称加密算法进行加密得到的,则该密钥与公钥相同,例如,公钥为123456,则密钥也为123456。若该加密信息是采用非对称加密算法进行加密得到的,则该密钥与公钥相对应的私钥,例如,公钥为123456,则该密钥为与之相对应的私钥,例如,为654321。其中公钥和私钥可以根据用户的使用规则自己定义。应当理解的是,上述中的所列举的公钥以及私钥仅仅是为了便于理解而举的例子而已,并不能理解成是对本发明的限制。

步骤s403:根据所述接收终端的操作系统,通过预设的加密接口获取与所述接收终端的操作系统相对应的解密算法。

为了避免现有解密技术中,各平台采用不同的解密调用接口,这样不同平台的上层应用在调用底层算法时,需要不同的程序代码,不仅增加了其工作量,还增加了使用、维护等成本,使得平台间的跨越性差。本实施例中,通过预设的解密接口实现不同平台的统一调用,例如,安卓系统在调用底层算法时,调用解密接口a,ios系统在调用底层算法时,也调用解密接口a,这样就使得一套代码能够多处使用,降低了工作量,节约了使用、维护成本,使得平台间的跨越性好。其中,预设解密接口是根据实际使用需要而预先设计的调用接口,通过该解密接口可以获取与所述接收终端的操作系统相对应的解密算法。其中,当接收终端的操作系统为pc或android操作系统时,通过预设的解密接口获取到的所述解密算法为采用java语言封装的解密算法。当接收终端的操作系统为ios操作系统时,通过预设的解密接口获取到的所述解密算法为采用openssl封装的解密算法。

步骤s404:根据所述密钥和所获取的解密算法对所述加密信息进行解密,得到解密信息。

获取到密钥以及相应的解密算法后,根据所述密钥和所获取的解密算法对所述加密信息进行解密,得到解密信息。其中,解密时,可以采用对称解密算法或非对称解密算法。

本发明实施例还提供了一种应用于图1所示的通信系统100中的数据加解密装置210,如图5所示。该数据加解密装置210包括:数据加密装置211和数据解密装置212。

其中,数据加密装置211用于对数据进行加密,得到加密信息。优选地,如图6所示,该数据加密装置211包括:第一获取模块2111、第二获取模块2112、数据加密模块2113和发送模块2114

第一获取模块2111,用于获取所述接收终端的标识信息,及预先存储的公钥。

第二获取模块2112,用于根据所述发送终端的操作系统,通过预设的加密接口获取与所述发送终端的操作系统相对应的加密算法。

数据加密模块2113,用于根据所述公钥、所述标识信息和所获取的加密算法对待加密数据进行加密。

发送模块2114,用于将加密后的数据发送至所述接收终端。

其中,数据解密装置212用于对加密信息进行解密,得到解密信息。优选地,如图7所示,该数据解密装置212包括:接收和识别模块2121、第三获取模块2122、第四获取模块2123和数据解密模块2124。

接收和识别模块2121,用于接收并识别由所述发送终端发送的加密信息。

第三获取模块2122,用于当识别出所接收信息为加密信息时,获取预先存储的密钥,所述密钥与上述的数据加密方法中的公钥相对应。

第四获取模块2123,用于根据所述接收终端的操作系统,通过预设的加密接口获取与所述接收终端的操作系统相对应的解密算法。

数据解密模块2124,根据所述密钥和所获取的解密算法对所述加密信息进行解密,得到解密信息。

需要说明的是,本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。

本发明实施例所提供的数据加解密装置210,其实现原理及产生的技术效果和前述方法实施例相同,为简要描述,装置实施例部分未提及之处,可参考前述方法实施例中相应内容。

在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,也可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,附图中的流程图和框图显示了根据本发明的多个实施例的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。

另外,在本发明各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。

所述功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、磁碟或者光盘等各种可以存储程序代码的介质。需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1