一种终端上应用数据的处理方法、装置及电子设备
技术领域
本申请涉及数据处理技术领域,尤其涉及一种终端上应用数据的处理方法、装置及电子设备。
背景技术
目前,为了终端数据的安全性,在每个终端上分别共用一个密钥,在终端上所有应用的数据均使用该密钥进行加密,并在需要访问时使用密钥进行解密。
但是,所有应用均使用同一个密钥的安全方案中,会因为密钥泄露或某个应用被攻击而导致整个终端上的所有数据被泄露,由此导致数据安全性较低。
因此,亟需一种能够保障数据安全的技术方案。
发明内容
有鉴于此,本申请提供一种终端上应用数据的处理方法、装置及电子设备,包括:
一种终端上应用数据的处理方法,包括:
获得目标应用的至少一项应用参数,所述目标应用为所述终端上的应用;
根据所述至少一项应用参数,获得所述目标应用对应的应用密钥;
基于所述应用密钥对所述目标应用的目标应用数据进行加密,以得到所述目标应用数据对应的目标加密数据,其中,所述目标加密数据能够利用所述目标应用对应的应用密钥进行解密。
上述方法,优选的,所述应用参数包括:所述目标应用的应用标识、所述目标应用所在终端的硬件参数、所述目标应用的应用文件参数和目标字符串中的任意一项或任意多项,所述目标字符串中包含至少一个字符,所述目标字符串和所述应用文件参数唯一对应于所述目标应用。
上述方法,优选的,根据所述至少一项应用参数,获得所述目标应用对应的应用密钥,包括:
利用预设的第一加密算法对所述应用参数执行多次加密处理,以得到所述目标应用对应的应用密钥。
上述方法,优选的,基于所述应用密钥对所述目标应用的目标应用数据进行加密,以得到所述目标应用数据对应的目标加密数据,包括:
利用预设的第二加密算法使用所述应用密钥对所述目标应用的目标应用数据进行加密,以得到所述目标应用数据对应的目标加密数据。
上述方法,优选的,还包括:
使用预设的编码方式对所述目标加密数据进行编码;
将编码得到的编码数据进行输出。
上述方法,优选的,还包括:
获得所述目标应用的目标加密数据;
基于所述目标应用对应的应用密钥对所述目标加密数据进行解密,以得到所述目标加密数据对应的目标应用数据。
一种终端上应用数据的处理装置,包括:
参数获得单元,用于获得目标应用的至少一项应用参数,所述目标应用为所述终端上的应用;
密钥获得单元,用于根据所述至少一项应用参数,获得所述目标应用对应的应用密钥;
数据加密单元,用于基于所述应用密钥对所述目标应用的目标应用数据进行加密,以得到所述目标应用数据对应的目标加密数据,其中,所述目标加密数据能够利用所述目标应用对应的应用密钥进行解密。
一种计算机可读介质,其上存储有计算机程序,其中,所述程序被处理器执行时实现如上述任一所述的方法。
一种处理器,所述处理器用于运行程序,其中,所述程序运行时实现如上述任一所述的方法。
一种电子设备,包括:
存储器,用于存储应用程序和所述应用程序运行所产生的数据;
处理器,用于执行所述应用程序,以实现:获得目标应用的至少一项应用参数,所述目标应用为所述终端上的应用;根据所述至少一项应用参数,获得所述目标应用对应的应用密钥;基于所述应用密钥对所述目标应用的目标应用数据进行加密,以得到所述目标应用数据对应的目标加密数据,其中,所述目标加密数据能够利用所述目标应用对应的应用密钥进行解密。
由上述方案可知,本申请提供的一种终端上应用数据的处理方法、装置、计算机可读介质、处理器及电子设备中,通过动态获得终端上目标应用的一项或多项应用参数,就可以动态生成唯一对应目标应用的应用密钥,进而经过应用密钥加密处理所得到的目标加密数据只有使用该目标应用的应用密钥才能解密出目标应用数据。可见,本实施例中不再让终端上多个应用共用一个密钥,而是为每个应用均动态生成其私有的应用密钥,从而可以避免共用密钥存在密钥泄漏的风险,从而提高应用数据的安全性。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例一提供的一种终端上应用数据的处理方法的流程图;
图2为本申请实施例一提供的一种终端上应用数据的处理方法的部分流程图;
图3为本申请实施例一提供的一种终端上应用数据的处理方法的另一流程图;
图4为本申请实施例二提供的一种终端上应用数据的处理装置的结构示意图;
图5及图6分别为本申请实施例二提供的一种终端上应用数据的处理装置的另一结构示意图;
图7为本申请实施例三提供的一种电子设备的结构示意图;
图8为本申请适用于手机时的数据加密流程图;
图9为本申请适用于手机时的数据解密流程图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
参考图1,为本申请实施例一提供的一种终端上应用数据的处理方法的实现流程图,该方法可以适用于能够装载一个或多个具有特定功能的应用的电子设备,如手机、计算机或服务器等。本实施例中的技术方案主要用于对电子设备中的应用数据加密处理,以提高应用数据的安全性。
具体的,本实施例中的方法可以包括以下步骤:
步骤101:获得目标应用的至少一项应用参数。
其中,目标应用为终端上的应用。在终端上可以装载有一个或多个应用,每个应用能够实现相应的特定功能,如实现聊天功能的应用、实现购物功能的应用、实现支付功能的应用等等。
具体的,目标应用是指需要进行应用数据安全保护的应用,具体应用中,对于终端上的每个应用均可以进行应用数据保护,因此,本申请中的目标应用可以是终端上的任一应用。
需要说明的是,每项应用参数对于目标应用来说均是唯一的。本实施例中可以通过接口或者函数调用等方式获得目标应用的至少一项应用参数。
在具体实现中,应用参数可以包含以下几项中的任意一项或任意多项:
目标应用的应用标识,具体可以为目标应用的应用名称、简称或者编号等,该应用标识能够唯一表征该目标应用,如*宝购物应用或者*信聊天应用等;
目标应用所在终端的硬件参数,具体可以为终端的显示屏参数和/或终端的硬件型号或编号等,如屏幕高度和/或宽度等参数、手机型号等,这些硬件参数不会因为终端运行状态或者其他参数的变化而变化;
目标应用的应用文件参数,具体可以为目标应用对应的应用文件夹在被创建时的创建时间等,该应用文件夹可以为目标应用在被安装或首次运行时创建,且应用文件夹一旦被创建除非卸载目标应用否则其创建时间不会变化,因此,应用文件参数唯一对应于目标应用;
目标应用对应的目标字符串,具体可以为针对目标应用所生成的字符串,目标字符串在被生成之后被存储在电子设备本地,目标字符串穿中包含至少一个字符,例如,通过随机算法所产生的随机字符串,该目标字符串只被生成一次,在被生成之后除非卸载目标应用否则不会再变化,因此,目标字符串唯一对应于目标应用。
当然,应用参数还可以包含有其他参数,此处不再举例说明。
步骤102:根据至少一项应用参数,获得目标应用对应的应用密钥。
其中,本实施例中可以对这些应用参数进行编码或者计算等处理,以得到能够唯一对应于目标应用的应用密钥。
具体的,在应用参数为多项的情况下,本实施例中可以先将这些应用参数按照特定的参数顺序进行字符串拼接,以得到包含多项应用参数的参数字符串,而在应用参数为一项的情况下,本实施例中直接将该应用参数的字符串作为参数字符串;
基于此,本实施例中可以将参数字符串按照特定的算法进行编码或者计算等处理,进而得到目标应用对应的应用密钥,该应用密钥可以为字符串表示。
具体实现中,本实施例中可以使用预设的第一加密算法对这些应用参数形成的应用字符串进行多次加密处理,以得到目标应用对应的应用密钥。例如,本实施例中使用信息摘要算法MD5(Message-DigestAlgorithm)对应用字符串进行多轮处理,得到应用密钥,该应用密钥唯一对应目标应用。
步骤103:基于应用密钥对目标应用的目标应用数据进行加密,以得到目标应用数据对应的目标加密数据。
其中,目标加密数据能够利用目标应用对应的应用密钥进行解密。
具体的,本实施例中可以使用特定的加密算法基于应用密钥对目标应用的目标应用数据进行加密,以得到目标应用数据对应的目标加密数据。
其中,目标应用数据是指目标应用的需要进行加密保护的数据,如用户个人数据、用户支付数据等。而目标加密数据则是目标应用数据经过加密后的安全数据,该目标加密数据只有使用目标应用对应的应用密钥进行解密才能得到被还原出来的目标应用数据。
由上述方案可知,本申请实施例一提供的一种终端上应用数据的处理方法中,通过动态获得终端上目标应用的一项或多项应用参数,就可以动态生成唯一对应目标应用的应用密钥,进而经过应用密钥加密处理所得到的目标加密数据只有使用该目标应用的应用密钥才能解密出目标应用数据。可见,本实施例中不再让终端上多个应用共用一个密钥,而是为每个应用均动态生成其私有的应用密钥,从而可以避免共用密钥存在密钥泄漏的风险,从而提高应用数据的安全性。
在一种实现方式中,步骤103中在基于应用密钥对目标应用的目标应用数据进行加密时,具体可以通过以下方式实现:
利用预设的第二加密算法使用应用密钥对目标应用的目标应用数据进行加密,以得到目标应用数据对应的目标加密数据。
其中,第二加密算法可以与第一加密算法不同,例如,第二加密算法可以为高级加密标准AES(Advanced Encryption Standard)算法,基于此,本实施例中可以使用AES算法用应用密钥的密钥字符串加密目标应用数据,进而得到目标加密数据。
在一种实现方式中,本实施例中的方法还可以包括以下步骤,如图2中所示:
步骤104:获得目标应用的目标加密数据。
其中,目标加密数据是目标应用的且被目标应用对应的应用密钥进行加密所得到的数据。
步骤105:基于目标应用对应的应用密钥对目标加密数据进行解密,以得到目标加密数据对应的目标应用数据。
其中,步骤105中可以先获得目标应用的应用参数,具体可以参考步骤101中的实现方式,之后,在根据这些应用参数,获得到目标应用对应的应用密钥,之后,再使用该应用密钥对目标加密数据进行解密,以得到目标加密数据对应的目标应用数据。
需要说明的是,步骤105中所获得到的应用参数的种类和数量是与步骤101中的应用参数的种类和数量是一致的,而应用参数对于目标应用来说是hi唯一的,因此,对于一个目标应用来说,通过动态获得应用参数并生成的应用密钥是唯一的,由此,使用动态生成的应用密钥能够实现数据的加密和解密。
在一种实现方式中,本实施例中在步骤103之后,还可以包含以下步骤,如图3中所示:
步骤106:使用预设的编码方式对目标加密数据进行编码,将编码得到的编码数据进行输出。
例如,本实施例中可以使用base64的编码方式对目标加密数据进行编码并输出所得到的编码数据。而这里的编码数据实际上就是输出来的经过编码的目标加密数据。
基于此,在对目标加密数据使用应用密钥进行解密之前,先使用base64的编码方式进行反解码,再使用动态获得到的应用参数所生成的应用密钥对解码出来的目标加密数据进行解密,就可以得到还原的目标应用数据。
参考图4,为本申请实施例二提供的一种终端上应用数据的处理装置的结构示意图,该装置可以配置在能够装载一个或多个具有特定功能的应用的电子设备,如手机、计算机或服务器等。本实施例中的技术方案主要用于对电子设备中的应用数据加密处理,以提高应用数据的安全性。
具体的,本实施例中的装置可以包括以下单元:
参数获得单元401,用于获得目标应用的至少一项应用参数,所述目标应用为所述终端上的应用;
密钥获得单元402,用于根据所述至少一项应用参数,获得所述目标应用对应的应用密钥;
数据加密单元403,用于基于所述应用密钥对所述目标应用的目标应用数据进行加密,以得到所述目标应用数据对应的目标加密数据,其中,所述目标加密数据能够利用所述目标应用对应的应用密钥进行解密。
由上述方案可知,本申请实施例二提供的一种终端上应用数据的处理装置中,通过动态获得终端上目标应用的一项或多项应用参数,就可以动态生成唯一对应目标应用的应用密钥,进而经过应用密钥加密处理所得到的目标加密数据只有使用该目标应用的应用密钥才能解密出目标应用数据。可见,本实施例中不再让终端上多个应用共用一个密钥,而是为每个应用均动态生成其私有的应用密钥,从而可以避免共用密钥存在密钥泄漏的风险,从而提高应用数据的安全性。
在一种实现方式中,所述应用参数包括:所述目标应用的应用标识、所述目标应用所在终端的硬件参数、所述目标应用的应用文件参数和目标字符串中的任意一项或任意多项,所述目标字符串中包含至少一个字符,所述目标字符串和所述应用文件参数唯一对应于所述目标应用。
在一种实现方式中,密钥获得单元402在根据所述至少一项应用参数,获得所述目标应用对应的应用密钥时,具体可以通过以下方式实现:
利用预设的第一加密算法对所述应用参数执行多次加密处理,以得到所述目标应用对应的应用密钥。
在一种实现方式中,数据加密单元403基于所述应用密钥对所述目标应用的目标应用数据进行加密时,可以通过以下方式实现:
利用预设的第二加密算法使用所述应用密钥对所述目标应用的目标应用数据进行加密,以得到所述目标应用数据对应的目标加密数据。
在一种实现方式中,本实施例中的装置还可以包括以下单元,如图5中所示:
编码输出单元404,用于使用预设的编码方式对所述目标加密数据进行编码;将编码得到的编码数据进行输出。
在一种实现方式中,本实施例中的装置还可以包括以下单元,如图6中所示:
数据解密单元405,用于获得所述目标应用的目标加密数据;基于所述目标应用对应的应用密钥对所述目标加密数据进行解密,以得到所述目标加密数据对应的目标应用数据。
需要说明的是,本实施例中各单元的具体实现可以参考前文中的相应内容,此处不再详述。
本申请中还提供了一种计算机可读介质,其上存储有计算机程序,其中,所述程序被处理器执行时实现如前文实施例中的终端上应用数据的处理方法。
本申请中还提供了一种处理器,所述处理器用于运行程序,其中,所述程序运行时实现如前文实施例中的终端上应用数据的处理方法。
参考图7,为本申请实施例三提供的一种电子设备的结构示意图,该电子设备可以为能够装载一个或多个具有特定功能的应用的电子设备,如手机、计算机或服务器等。本实施例中的技术方案主要用于对电子设备中的应用数据加密处理,以提高应用数据的安全性。
具体的,本实施例中的电子设备可以包括以下结构:
存储器701,用于存储应用程序和所述应用程序运行所产生的数据;
处理器702,用于执行所述应用程序,以实现:获得目标应用的至少一项应用参数,所述目标应用为所述终端上的应用;根据所述至少一项应用参数,获得所述目标应用对应的应用密钥;基于所述应用密钥对所述目标应用的目标应用数据进行加密,以得到所述目标应用数据对应的目标加密数据,其中,所述目标加密数据能够利用所述目标应用对应的应用密钥进行解密。
由上述方案可知,本申请实施例三提供的一种电子设备中,通过动态获得终端上目标应用的一项或多项应用参数,就可以动态生成唯一对应目标应用的应用密钥,进而经过应用密钥加密处理所得到的目标加密数据只有使用该目标应用的应用密钥才能解密出目标应用数据。可见,本实施例中不再让终端上多个应用共用一个密钥,而是为每个应用均动态生成其私有的应用密钥,从而可以避免共用密钥存在密钥泄漏的风险,从而提高应用数据的安全性。
需要说明的是,本实施例中处理器的具体实现可以参考前文中的相应内容,此处不再详述。
以电子设备为手机为例,以下对本申请的技术方案进行举例说明:
首先,本申请中是通过采集手机型号、屏幕、内存大小等硬件信息以及随机时间因子等因素生成手机上应用的唯一密钥,能够用来加密应用的本地数据,防止传统的固定密钥泄露或者本地数据拷贝移植。
由此,本申请中通过动态生成应用的独立密钥,例如,采集应用标识、设备硬件屏幕宽高、应用文件创建时间、随机字符串等,再经过多轮运算就可以生成应用的本地密钥,用于应用本地信息加密存储。而不同设备的硬件参数不一致,不同应用的应用标识以及文件创建时间不同,由此可以保证能够生成不同设备不同应用的固定密钥,由此,计时破解单个应用密钥,也不会影响其他设备及其他应用的数据安全性。
结合图8和图9中的流程图,以下对本申请的具体实现方式进行说明:
如图8所示的加密流程图,加密过程包含如下步骤:
1、输入需要加密的内容:originString,即前文中的目标应用数据;
2、动态获取加密因子key,即前文中的应用密钥。具体先获得设备因子,如bundleldentifier-应用的唯一标识、height屏幕高度、width屏幕宽度、通用唯一识别码UUID(UniversallyUnique Identifier)随机字符串(做本地存储)、文件createtime-library的创建时间、model手机的型号等,之后再拼接bundleldentifier、height、width、UUID、createtime和model以获得字符串OriginMd5String,最后使用md5多轮加密OriginMd5String就可以生成key;
3、使用AES加密算法用key加密originString获得str2,即前文中的目标加密数据;
4、使用base64加密str2获得encryptString;
5、输出加密后的字符串encryptString,即前文经过编码输出的目标加密数据。
如图9所示的解密流程图,解密过程包含如下步骤:
1、输入加密后字符串encryptString;
2、动态获取加密因子key,具体参考图8中获取加密因子key的实现方式;
3、使用BASE64解密encryptString,得到str1,即解码出来的目标加密数据;
4、使用AES算法用key解密str1,获得originString;
5、输出originString。
可见,本申请的技术方案中通过设备固定因子和随机因子生成设备中的应用密钥,每个设备中每个应用的密钥都不一样,提升设备中应用本地数据的加密安全性。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本申请。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本申请的精神或范围的情况下,在其它实施例中实现。因此,本申请将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。