一种数据处理方法、装置和用于数据处理的装置
文献发布时间:2023-06-19 10:11:51
技术领域
本发明涉及计算机技术领域,尤其涉及一种数据处理方法、装置和用于数据处理的装置。
背景技术
目前,在用户使用移动设备(如手机、平板电脑、智能穿戴设备等)的过程中,移动设备中的应用软件在接收到用户同意获取用户数据的允许权限的情况下,可以实时监控并收集用户数据,如用户的个人健康数据、轨迹数据、消费记录等。
这些用户数据的所属权和可支配权应属于用户,用户可以对自己的数据进行收集、归纳、分析、支配、交易等操作。然而,应用软件通常将用户数据的明文直接存储在磁盘中,导致用户数据的明文暴露在不安全的空间,存在被泄露的风险。或者,应用软件还可以对用户数据进行加密后,将密文数据存储在磁盘中。但是,密文数据的密钥容易被第三方应用或插件拦截,从而对密文数据进行解密或者进行其他恶意操作,仍然存在用户数据被泄露的风险。
发明内容
本发明实施例提供一种数据处理方法、装置和用于数据处理的装置,使得用户可以通过移动设备安全可信的收集自己的个人信息,避免个人信息被泄露的风险。
为了解决上述问题,本发明实施例公开了一种数据处理方法,应用于移动设备,所述方法包括:
在接收到用户同意获取用户数据的允许权限的情况下,获取所述移动设备中预置应用收集的用户数据,并将获取的所述用户数据存储在所述移动设备的可信环境中;
利用所述可信环境中存储的私钥,对基于所述私钥对应的公钥加密后的个人密钥进行解密,得到所述个人密钥;
利用所述个人密钥对所述可信环境中存储的用户数据进行加密,并将加密得到的密文数据保存在所述移动设备的存储空间中。
可选地,所述将加密得到的密文数据保存在所述移动设备的存储空间中之后,所述方法还包括:
接收对所述密文数据的导出指令;
响应所述导出指令,将所述密文数据从所述移动设备的存储空间传输至所述导出指令指定设备的存储空间中。
可选地,所述响应所述导出指令之前,所述方法还包括:
接收所述用户录入的生物特征数据,以及将录入的生物特征数据保存在所述可信环境中;
所述响应所述导出指令,将所述密文数据从所述移动设备的存储空间传输至所述导出指令指定设备的存储空间中,包括:
实时采集当前用户的生物特征数据;
对实时采集的当前用户的生物特征数据与所述可信环境中存储的生物特征数据进行比对,得到比对结果;
若所述比对结果满足预设条件,则响应所述导出指令,将所述密文数据从所述移动设备的存储空间传输至所述导出指令指定设备的存储空间中。
可选地,所述获取所述移动设备中预置应用收集的用户数据,包括:
通过所述移动设备底层预置的数据收集接口,离线获取所述移动设备中预置应用收集的用户数据。
可选地,所述获取所述移动设备中预置应用收集的用户数据,包括:
在获取所述预置应用的授予权限的情况下,在线获取所述预置应用收集的用户数据。
可选地,所述利用所述可信环境中存储的私钥,对基于所述私钥对应的公钥加密后的个人密钥进行解密之前,所述方法还包括:
根据预设密钥算法,生成公钥私钥对,并将公钥返回给用户,以及将私钥存储在所述可信环境中;
接收用户使用所述公钥加密后的个人密钥。
可选地,所述可信环境包括指令集扩展SGX环境、可信执行环境TEE、安全操作系统Trusty环境。
另一方面,本发明实施例公开了一种数据处理装置,应用于移动设备,所述装置包括:
数据获取模块,用于在接收到用户同意获取用户数据的允许权限的情况下,获取所述移动设备中预置应用收集的用户数据,并将获取的所述用户数据存储在所述移动设备的可信环境中;
密钥解密模块,用于利用所述可信环境中存储的私钥,对基于所述私钥对应的公钥加密后的个人密钥进行解密,得到所述个人密钥;
数据加密存储模块,用于利用所述个人密钥对所述可信环境中存储的用户数据进行加密,并将加密得到的密文数据保存在所述移动设备的存储空间中。
可选地,所述装置还包括:
指令接收模块,用于接收对所述密文数据的导出指令;
数据导出模块,用于响应所述导出指令,将所述密文数据从所述移动设备的存储空间传输至所述导出指令指定设备的存储空间中。
可选地,所述装置还包括:
特征保存模块,用于接收所述用户录入的生物特征数据,以及将录入的生物特征数据保存在所述可信环境中;
所述数据导出模块,包括:
特征采集子模块,用于实时采集当前用户的生物特征数据;
特征比对子模块,用于对实时采集的当前用户的生物特征数据与所述可信环境中存储的生物特征数据进行比对,得到比对结果;
数据导出子模块,用于若所述比对结果满足预设条件,则响应所述导出指令,将所述密文数据从所述移动设备的存储空间传输至所述导出指令指定设备的存储空间中。
可选地,所述数据获取模块,具体用于通过所述移动设备底层预置的数据收集接口,离线获取所述移动设备中预置应用收集的用户数据。
可选地,所述数据获取模块,具体用于在获取所述预置应用的授予权限的情况下,在线获取所述预置应用收集的用户数据。
可选地,所述装置还包括:
密钥生成模块,用于根据预设密钥算法,生成公钥私钥对,并将公钥返回给用户,以及将私钥存储在所述可信环境中;
密钥接收模块,用于接收用户使用所述公钥加密后的个人密钥。
可选地,所述可信环境包括指令集扩展SGX环境、可信执行环境TEE、安全操作系统Trusty环境。
再一方面,本发明实施例公开了一种用于数据处理的装置,应用于移动设备,所述装置包括有存储器,以及一个或者一个以上的程序,其中一个或者一个以上程序存储于存储器中,且经配置以由一个或者一个以上处理器执行所述一个或者一个以上程序包含用于进行以下操作的指令:
在接收到用户同意获取用户数据的允许权限的情况下,获取所述移动设备中预置应用收集的用户数据,并将获取的所述用户数据存储在所述移动设备的可信环境中;
利用所述可信环境中存储的私钥,对基于所述私钥对应的公钥加密后的个人密钥进行解密,得到所述个人密钥;
利用所述个人密钥对所述可信环境中存储的用户数据进行加密,并将加密得到的密文数据保存在所述移动设备的存储空间中。
可选地,所述装置还经配置以由一个或者一个以上处理器执行所述一个或者一个以上程序包含用于进行以下操作的指令:
接收对所述密文数据的导出指令;
响应所述导出指令,将所述密文数据从所述移动设备的存储空间传输至所述导出指令指定设备的存储空间中。
可选地,所述装置还经配置以由一个或者一个以上处理器执行所述一个或者一个以上程序包含用于进行以下操作的指令:
接收所述用户录入的生物特征数据,以及将录入的生物特征数据保存在所述可信环境中;
所述响应所述导出指令,将所述密文数据从所述移动设备的存储空间传输至所述导出指令指定设备的存储空间中,包括:
实时采集当前用户的生物特征数据;
对实时采集的当前用户的生物特征数据与所述可信环境中存储的生物特征数据进行比对,得到比对结果;
若所述比对结果满足预设条件,则响应所述导出指令,将所述密文数据从所述移动设备的存储空间传输至所述导出指令指定设备的存储空间中。
可选地,所述获取所述移动设备中预置应用收集的用户数据,包括:
通过所述移动设备底层预置的数据收集接口,离线获取所述移动设备中预置应用收集的用户数据。
可选地,所述获取所述移动设备中预置应用收集的用户数据,包括:
在获取所述预置应用的授予权限的情况下,在线获取所述预置应用收集的用户数据。
可选地,所述装置还经配置以由一个或者一个以上处理器执行所述一个或者一个以上程序包含用于进行以下操作的指令:
根据预设密钥算法,生成公钥私钥对,并将公钥返回给用户,以及将私钥存储在所述可信环境中;
接收用户使用所述公钥加密后的个人密钥。
可选地,所述可信环境包括指令集扩展SGX环境、可信执行环境TEE、安全操作系统Trusty环境。
又一方面,本发明实施例公开了一种机器可读介质,其上存储有指令,当由一个或多个处理器执行时,使得装置执行如前述一个或多个所述的数据处理方法。
本发明实施例包括以下优点:
本发明实施例提供了一种可用于对移动设备中预置应用收集的用户数据进行安全存储以及安全导出的数据处理方法。本发明实施例在接收到用户同意获取用户数据的允许权限的情况下,获取移动设备中预置应用收集的用户数据,并将获取的用户数据存储在移动设备的可信环境中,由此,可以避免收集的用户数据的明文暴露在不安全的空间,提高用户数据的隐私安全。此外,由于用户的私钥存储在可信环境中,并且只有可信环境中的私钥才能够对加密后的个人秘钥进行解密,因此可以避免私钥被第三方应用或插件拦截,从而解密得到用户的个人密钥,进而对密文数据进行解密或者进行其他恶意操作的风险,可以进一步保证用户数据的隐私安全。再者,本发明实施例在对移动设备中预置应用收集的用户数据进行存储以及导出的过程中,移动设备不用连接网络,可以保证移动设备处于安全隔离的环境,为用户数据进行安全存储以及安全导出提供保障。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对本发明实施例的描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本发明的一种数据处理方法实施例的步骤流程图;
图2是本发明的一种数据处理装置实施例的结构框图;
图3是本发明的一种用于数据处理的装置800的框图;
图4是本发明的一些实施例中服务器的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
方法实施例
参照图1,示出了本发明的一种数据处理方法实施例的步骤流程图,所述方法应用于移动设备,所述方法具体可以包括如下步骤:
步骤101、在接收到用户同意获取用户数据的允许权限的情况下,获取所述移动设备中预置应用收集的用户数据,并将获取的所述用户数据存储在所述移动设备的可信环境中;
步骤102、利用所述可信环境中存储的私钥,对基于所述私钥对应的公钥加密后的个人密钥进行解密,得到所述个人密钥;
步骤103、利用所述个人密钥对所述可信环境中存储的用户数据进行加密,并将加密得到的密文数据保存在所述移动设备的存储空间中。
本发明实施例提供的数据处理方法可应用于移动设备,示例性的,所述移动设备可以为手机、平板电脑、笔记本电脑、掌上电脑、车载电子设备、可穿戴设备、超级移动个人计算机(Ultra-Mobile Personal Computer,UMPC)、上网本或者个人数字助理(PersonalDigital Assistant,PDA)等,非移动电子设备可以为服务器、网络附属存储器(NetworkAttached Storage,NAS)、个人计算机(Personal Computer,PC)、电视机(Television,TV)、柜员机或者自助机等,本发明实施例对所述移动设备的类型不作具体限定。
所述移动设备可以安装有操作系统,该操作系统可以为安卓(Android)操作系统,可以为ios操作系统,还可以为其他可能的操作系统,本发明实施例不作具体限定。
所述移动设备可以提供人机交互界面,该人机交互界面的实现形态可以是网页、或者应用页面,或者窗口等。通过该人机交互界面,可以接收用户的个人密钥、接收用户下发的数据导出指令等。
所述预置应用为移动设备中在接收到用户同意获取用户数据的允许权限的情况下,可以实时收集用户数据的应用软件。所述预置应用包括但不限于用于监测并收集用户个人健康数据的应用、用于追踪用户轨迹或定位用户位置的应用、用于收集并分析用户消费喜好的应用等。所述用户数据包括但不限于用户的个人健康数据、轨迹数据、消费记录等。
本发明实施例提供的数据处理方法,用于对移动设备中预置应用收集的用户数据进行安全存储以及安全导出。其中,安全存储指对预置应用收集的用户数据加密后保存在移动设备的存储空间中,且在该过程中不会令用户数据的明文暴露在不安全的空间。安全导出指将移动设备的存储空间中保存的密文数据导出移动设备,由于该密文数据只有通过用户自己持有的个人密钥才能解密,因此,可以保证导出过程中密文数据不会被第三方解密,可以保证导出过程的安全性。
为保证可以对预置应用收集的用户数据进行安全存储,本发明实施例在接收到用户同意获取用户数据的允许权限的情况下,获取所述移动设备中预置应用收集的用户数据,并将获取的所述用户数据存储在所述移动设备的可信环境中。由于预置应用收集到的用户数据为明文数据,因此,为了避免明文的用户数据暴露在不安全的空间,本发明实施例将预置应用收集到的用户数据存储在移动设备的可信环境中。
可信环境指的是在该环境下,组件、过程或操作的行为在任意操作条件下是可预测的,并且能很好地抵御不良代码和一定的物理干扰造成的破坏。在移动设备中,可信环境通常可以由硬件平台与安全操作系统协同提供。安全操作系统指的是使移动设备在安全模式下工作的操作系统。
在本发明的一种可选实施例中,所述可信环境包括但不限于:可信执行环境TEE(Trusted Execution Environment)、指令集扩展SGX(Software Guard Extensions)环境、安全操作系统Trusty环境。
可信执行环境TEE,指的是通过对外部资源和内部资源的硬件隔离实现安全的执行环境。可信执行环境TEE,其核心思想是以可信硬件为载体,提供硬件级强安全隔离和通用计算环境,数据仅在隔离的安全区“飞地”(Enclave)内才进行解密并计算,除此之外任何其他方法都无法接触到数据明文内容,数据在离开“飞地”(Enclave)之前又会被自动加密。
进一步地,可信执行环境TEE可以基于硬件设备实现,或者还可以通过预定的编程语言编写的程序来实现(即可以是以软件的形式实现)。可信执行环境TEE是移动设备CPU(Central Processing Unit,中央处理器)上的一块区域。这块区域可以给数据和代码的执行提供一个更安全的空间,并保证区域中内容的机密性和完整性。
SGX是英特尔指令集架构的一个扩展,通过在计算平台上提供一个安全区(Enclave),即内存中一个加密的可信执行区域,可以保障关键代码和数据的机密性和完整性。
对于一个Enclave,只有该Enclave本身可以访问其中的程序和数据,而其它的Enclave、基本输入输出系统BIOS(Basic Input Output System)、操作系统OS(OperatingSystem)、直接内存存取DMA(Direct Memory Access)、显卡等软硬件没有访问权限。要访问Enclave中的程序和数据,首先要经过权限验证进入Enclave模式,再经过一系列的合法检查,才能运行Enclave中的程序和访问其中的数据。运行完成Enclave中的程序之后,回到应用程序。
Trusty是一个安全的操作系统,它为Android操作系统提供了一个可信的执行环境。Trusty操作系统与Android操作系统运行在相同的处理器上,但是Trusty通过硬件和软件与Android操作系统的其他部分隔离开来。
本发明实施例可以对移动设备中预置应用收集的用户数据进行安全存储和安全导出。具体地,在接收到用户同意获取用户数据的允许权限的情况下,获取所述移动设备中预置应用收集的用户数据,并将获取的所述用户数据存储在所述移动设备的可信环境中,由此,可以避免收集的用户数据的明文暴露在不安全的空间,提高用户数据的隐私安全。
进一步地,为了避免私钥被第三方应用或插件拦截,从而解密得到用户的个人密钥,进而对密文数据进行解密或者进行其他恶意操作的风险,本发明实施例将用户的私钥存储在移动设备的可信环境中。在对移动设备中预置应用收集的用户数据进行安全存储之前,本发明实施例接收用户输入的加密后的个人密钥,该加密后的个人密钥为基于所述私钥对应的公钥加密得到,且该加密后的个人密钥需要通过移动设备的可信环境中存储的私钥才可以解密。在使用移动设备的可信环境中存储的私钥对用户输入的加密后的个人密钥进行解密,得到用户的个人密钥之后,利用所述个人密钥对所述可信环境中存储的用户数据进行加密,并将加密得到的密文数据保存在所述移动设备的存储空间中,以完成安全存储过程。
在本发明的一种可选实施例中,步骤102中所述利用所述可信环境中存储的私钥,对基于所述私钥对应的公钥加密后的个人密钥进行解密之前,所述方法还包括:
步骤S11、根据预设密钥算法,生成公钥私钥对,并将公钥返回给用户,以及将私钥存储在所述可信环境中;
步骤S12、接收用户使用所述公钥加密后的个人密钥。
本发明实施例在对移动设备中预置应用收集的用户数据进行安全存储之前,预先根据预设密钥算法,生成公钥私钥对,并将公钥私钥对中的公钥返回给用户,以及将公钥私钥对中的私钥存储在所述可信环境中。其中,预设密钥算法可以为非对称加密算法。非对称加密算法需要使用两个密钥:公开密钥(publickey,简称公钥)和私有密钥(privatekey,简称私钥)。公钥与私钥是一对,如果用公钥对数据进行加密,只有用对应的私钥才能解密。在本发明实施例中,公钥可用于对用户的个人密钥进行加密,得到加密后的个人密钥。私钥可用于对加密后的个人密钥进行解密,得到用户的个人密钥。
可以理解,本发明实施例对采用的非对称加密算法的算法类型不做限制。例如,可采用的非对称加密算法包括但不限于RSA算法、Elgamal算法、背包算法、Rabin算法、D-H算法、ECC(Elliptic Curve Cryptography,椭圆曲线加密算法)等。
一个示例中,可信环境为基于SGX的安全区Enclave,预设加密算法为椭圆曲线加密算法,则可以在安全区Enclave中利用椭圆曲线加密算法生成公钥私钥对,并且将私钥保存在安全区Enclave中,将公钥导出给用户。这样,在用户触发移动设备对预置应用收集的用户数据进行安全存储时,移动设备可以响应用户的触发操作,提示用户输入个人密钥,并且接收用户利用其持有的公钥加密后的个人密钥。移动设备接收到所述加密后的个人密钥之后,利用移动设备的可信环境中存储的私钥,对所述加密后的个人密钥进行解密,可以得到用户的个人密钥;利用所述个人密钥对所述可信环境中存储的用户数据进行加密,并将加密得到的密文数据保存在所述移动设备的存储空间中。由此,可以实现对预置应用收集的用户数据进行安全存储。在存储过程中,可以避免用户数据的明文暴露在不安全的空间,可以提高用户数据的隐私安全。此外,由于用户的私钥存储在可信环境(如安全区Enclave)中,并且只有安全区Enclave中的私钥才能够对加密后的个人秘钥进行解密,因此可以避免私钥被第三方应用或插件拦截,从而解密得到用户的个人密钥,进而对密文数据进行解密或者进行其他恶意操作的风险,可以进一步保证用户数据的隐私安全。
在移动设备中的预置应用收集用户数据后,可以自动执行对收集的用户数据进行安全存储的过程。在本发明实施例中,安全存储可以包括实时存储或周期存储的方式。
其中,实时存储指在预置应用实时收集用户数据的过程中,将实时收集到的用户数据按照上述步骤进行加密并存储在移动设备的存储空间中。周期性存储指按照预设周期将预置应用收集到的用户数据进行加密并存储在移动设备的存储空间中。例如预设周期为3天,则每3天将预置应用收集的近3天的用户数据进行加密并存储在移动设备的存储空间中。
需要说明的是,步骤S11和步骤S12可以在步骤102之前执行,但是本发明实施例对步骤S11和步骤S12的具体执行时机和执行次数不做限制。例如,在移动设备初始化安全存储功能时,可以执行步骤S11和步骤S12,在移动设备首次接收用户输入的加密后的个人密钥之后,可以利用所述可信环境中存储的私钥,对基于所述私钥对应的公钥加密后的个人密钥进行解密,得到所述个人密钥,并且将个人密钥存储在移动设备的可信环境中。由此,移动设备即可对预置应用收集的用户数据自动进行安全存储,在后续自动进行安全存储的过程中,可以不用再执行步骤S11和步骤S12。
进一步地,本发明实施例还可以对公钥私钥对进行更新。具体地,本发明实施例可以接收用户输入的更新密钥请求,在接收到更新密钥请求并且在确定当前用户的身份已通过认证的情况下,可以重新执行步骤S11生成新的公钥私钥对,将新的公钥返回给用户,并且利用新的私钥对存储在可信环境中的私钥进行更新,以完成公钥私钥对的更新操作,后续的安全存储过程可以使用新的公钥私钥对,进一步提高私钥的安全性。
在本发明的一种可选实施例中,步骤103中所述将加密得到的密文数据保存在所述移动设备的存储空间中之后,所述方法还包括:
步骤S21、接收对所述密文数据的导出指令;
步骤S22、响应所述导出指令,将所述密文数据从所述移动设备的存储空间传输至所述导出指令指定设备的存储空间中。
在将预置应用收集的用户数据以密文形式安全存储在移动设备的存储空间中后,所述移动设备可以接收对所述密文数据的导出指令,并响应所述导出指令,将所述密文数据从所述移动设备的存储空间传输至所述导出指令指定设备的存储空间中。
所述指定设备可以为任意设备,如用户的个人电脑等。所述移动设备在与所述指定设备建立安全连接之后,可以通过该安全连接将移动设备中的密文数据传输至指定设备的存储空间中。其中,安全连接可以为在不连接网络的情况下,通过USB(Universal SerialBus,通用串行总线)的连接。或者,所述安全连接可以为移动设备与指定设备之间建立的安全可信的网络连接。或者,所述安全连接可以为移动设备与指定设备之间在经过授权之后建立的蓝牙连接、红外连接、近场连接等。本发明实施例对此不做限制。
在将密文数据传输至指定设备的存储空间中之后,用户可以利用自己持有的个人密钥对该密文数据进行解密,得到明文的用户数据。由于用户的个人秘钥是用户自己持有的,密文数据只有通过用户的个人秘钥才能够解密,因此,密文数据的解密过程可以在任意安全的或者离线的环境中进行。由此,通过本发明实施例,可以向用户提供对其个人的用户数据进行收集、安全存储、以及安全导出的过程,以使用户可以对其个人的用户数据进行分析、处理、管理等。
在本发明的一种可选实施例中,步骤S12中所述响应所述导出指令之前,所述方法还包括:接收所述用户录入的生物特征数据,以及将录入的生物特征数据保存在所述可信环境中;
步骤S22所述响应所述导出指令,将所述密文数据从所述移动设备的存储空间传输至所述导出指令指定设备的存储空间中,包括:
步骤S221、实时采集当前用户的生物特征数据;
步骤S222、对实时采集的当前用户的生物特征数据与所述可信环境中存储的生物特征数据进行比对,得到比对结果;
步骤S223、若所述比对结果满足预设条件,则响应所述导出指令,将所述密文数据从所述移动设备的存储空间传输至所述导出指令指定设备的存储空间中。
为了进一步提高用户数据的隐私安全,避免用户数据被他人盗用的风险,本发明实施例在执行导出指令之前,通过生物特征识别技术对当前用户进行身份验证。
生物特征指每个个体唯一的可以测量或可自动识别和验证的生理特性或行为方式。生物特征可以包括生理特征(如指纹、面像、虹膜、掌纹等)和行为特征(如步态、声音、笔迹等)。生物特征识别就是依据每个个体之间独一无二的生物特征对其进行识别与身份的认证。
具体地,本发明实施例预先在移动设备的可信环境中保存用户录入的生物特征数据,在每次接收到需要将移动设备中的密文数据导出移动设备的导出指令时,对当前用户进行生物特征识别,实时采集当前用户的生物特征数据,并且对实时采集的当前用户的生物特征数据与所述可信环境中存储的生物特征数据进行比对,得到比对结果;若所述比对结果满足预设条件,如当前用户的生物特征数据与预先存储在可信环境中的生物特征数据相匹配,则说明身份认证通过,可以响应所述导出指令,将所述密文数据从所述移动设备的存储空间传输至所述导出指令指定设备的存储空间中。
在本发明的一种可选实施例中,步骤101中所述获取所述移动设备中预置应用收集的用户数据,包括:通过所述移动设备底层预置的数据收集接口,离线获取所述移动设备中预置应用收集的用户数据。
在本发明实施例中,对于获取所述移动设备中预置应用收集的用户数据,本发明实施例可以提供离线获取以及在线获取两种方式。
离线获取的过程为:通过所述移动设备底层预置的数据收集接口,离线获取所述移动设备中预置应用收集的用户数据。例如,对于ios操作系统,其内置的健康应用在接收到用户同意获取用户数据的允许权限的情况下,可以收集用户的睡眠分析、步数、活动能量等健康数据,通过ios操作系统中的HealthKit接口可以获取该健康应用收集的用户的健康数据。其中,HealthKit可以与其他应用程序共享健康数据,同时保持用户的隐私和对数据的控制。又如,对于Android操作系统,其内置的计步应用在接收到用户同意获取用户数据的允许权限的情况下,可以收集用户的步数等运动数据,通过Android操作系统中的IsportStepInterface接口可以获取该计步应用收集的用户的运动数据。
需要说明的是,在具体实施中,移动设备的操作系统不限于上述示例中列举的ios操作系统和Android操作系统,预置应用不限于上述示例中列举的ios操作系统中内置的健康应用和Android操作系统内置的计步应用,移动设备底层预置的数据收集接口不限于上述示例中列举的ios操作系统中的HealthKit接口和Android操作系统中的IsportStepInterface接口。
在本发明的一种可选实施例中,步骤101中所述获取所述移动设备中预置应用收集的用户数据,包括:在获取所述预置应用的授予权限的情况下,在线获取所述预置应用收集的用户数据。
除了通过移动设备底层预置的数据收集接口离线获取移动设备中预置应用收集的用户数据,本发明实施例还可以在获取所述预置应用的授予权限的情况下,在线获取所述预置应用收集的用户数据。例如,在预置应用实时收集用户数据的过程中,通过与预置应用之间的通信交互,实时获取预置应用收集的用户数据。
综上,本发明实施例提供了一种可用于对移动设备中预置应用收集的用户数据进行安全存储以及安全导出的数据处理方法。本发明实施例在接收到用户同意获取用户数据的允许权限的情况下,获取移动设备中预置应用收集的用户数据,并将获取的用户数据存储在移动设备的可信环境中,由此,可以避免收集的用户数据的明文暴露在不安全的空间,提高用户数据的隐私安全。此外,本发明实施例根据预设密钥算法,生成公钥私钥对,并将公钥私钥对中的公钥返回给用户,以及将公钥私钥对中的私钥存储在移动设备的可信环境中。由于用户的私钥存储在可信环境中,并且只有可信环境中的私钥才能够对加密后的个人秘钥进行解密,因此可以避免私钥被第三方应用或插件拦截,从而解密得到用户的个人密钥,进而对密文数据进行解密或者进行其他恶意操作的风险,可以进一步保证用户数据的隐私安全。再者,本发明实施例在对移动设备中预置应用收集的用户数据进行存储以及导出的过程中,移动设备不用连接网络,可以保证移动设备处于安全隔离的环境,为用户数据进行安全存储以及安全导出提供保障。
需要说明的是,对于方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明实施例并不受所描述的动作顺序的限制,因为依据本发明实施例,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作并不一定是本发明实施例所必须的。
装置实施例
参照图2,示出了本发明的一种数据处理装置实施例的结构框图,应用于移动设备,所述装置具体可以包括:
数据获取模块201,用于在接收到用户同意获取用户数据的允许权限的情况下,获取所述移动设备中预置应用收集的用户数据,并将获取的所述用户数据存储在所述移动设备的可信环境中;
密钥解密模块202,用于利用所述可信环境中存储的私钥,对基于所述私钥对应的公钥加密后的个人密钥进行解密,得到所述个人密钥;
数据加密存储模块203,用于利用所述个人密钥对所述可信环境中存储的用户数据进行加密,并将加密得到的密文数据保存在所述移动设备的存储空间中。
可选地,所述装置还包括:
指令接收模块,用于接收对所述密文数据的导出指令;
数据导出模块,用于响应所述导出指令,将所述密文数据从所述移动设备的存储空间传输至所述导出指令指定设备的存储空间中。
可选地,所述装置还包括:
特征保存模块,用于接收所述用户录入的生物特征数据,以及将录入的生物特征数据保存在所述可信环境中;
所述数据导出模块,包括:
特征采集子模块,用于实时采集当前用户的生物特征数据;
特征比对子模块,用于对实时采集的当前用户的生物特征数据与所述可信环境中存储的生物特征数据进行比对,得到比对结果;
数据导出子模块,用于若所述比对结果满足预设条件,则响应所述导出指令,将所述密文数据从所述移动设备的存储空间传输至所述导出指令指定设备的存储空间中。
可选地,所述数据获取模块,具体用于通过所述移动设备底层预置的数据收集接口,离线获取所述移动设备中预置应用收集的用户数据。
可选地,所述数据获取模块,具体用于在获取所述预置应用的授予权限的情况下,在线获取所述预置应用收集的用户数据。
可选地,所述装置还包括:
密钥生成模块,用于根据预设密钥算法,生成公钥私钥对,并将公钥返回给用户,以及将私钥存储在所述可信环境中;
密钥接收模块,用于接收用户使用所述公钥加密后的个人密钥。
可选地,所述可信环境包括指令集扩展SGX环境、可信执行环境TEE、安全操作系统Trusty环境。
对于装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
本发明实施例提供了一种用于数据处理的装置,应用于移动设备,所述装置包括有存储器,以及一个或者一个以上的程序,其中一个或者一个以上程序存储于存储器中,且经配置以由一个或者一个以上处理器执行所述一个或者一个以上程序包含用于进行以下操作的指令:在接收到用户同意获取用户数据的允许权限的情况下,获取所述移动设备中预置应用收集的用户数据,并将获取的所述用户数据存储在所述移动设备的可信环境中;利用所述可信环境中存储的私钥,对基于所述私钥对应的公钥加密后的个人密钥进行解密,得到所述个人密钥;利用所述个人密钥对所述可信环境中存储的用户数据进行加密,并将加密得到的密文数据保存在所述移动设备的存储空间中。
图3是根据一示例性实施例示出的一种用于数据处理的装置800的框图。例如,装置800可以是移动电话,计算机,数字广播终端,消息收发设备,游戏控制台,平板设备,医疗设备,健身设备,个人数字助理等。
参照图3,装置800可以包括以下一个或多个组件:处理组件802,存储器804,电源组件806,多媒体组件808,音频组件810,输入/输出(I/O)的接口812,传感器组件814,以及通信组件816。
处理组件802通常控制装置800的整体操作,诸如与显示,电话呼叫,数据通信,相机操作和记录操作相关联的操作。处理元件802可以包括一个或多个处理器820来执行指令,以完成上述的方法的全部或部分步骤。此外,处理组件802可以包括一个或多个模块,便于处理组件802和其他组件之间的交互。例如,处理组件802可以包括多媒体模块,以方便多媒体组件808和处理组件802之间的交互。
存储器804被配置为存储各种类型的数据以支持在设备800的操作。这些数据的示例包括用于在装置800上操作的任何应用程序或方法的指令,联系人数据,电话簿数据,消息,图片,视频等。存储器804可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(SRAM),电可擦除可编程只读存储器(EEPROM),可擦除可编程只读存储器(EPROM),可编程只读存储器(PROM),只读存储器(ROM),磁存储器,快闪存储器,磁盘或光盘。
电源组件806为装置800的各种组件提供电力。电源组件806可以包括电源管理系统,一个或多个电源,及其他与为装置800生成、管理和分配电力相关联的组件。
多媒体组件808包括在所述装置800和用户之间的提供一个输出接口的屏幕。在一些实施例中,屏幕可以包括液晶显示器(LCD)和触摸面板(TP)。如果屏幕包括触摸面板,屏幕可以被实现为触摸屏,以接收来自用户的输入信号。触摸面板包括一个或多个触摸传感器以感测触摸、滑动和触摸面板上的手势。所述触摸传感器可以不仅感测触摸或滑动动作的边界,而且还检测与所述触摸或滑动操作相关的持续时间和压力。在一些实施例中,多媒体组件808包括一个前置摄像头和/或后置摄像头。当设备800处于操作模式,如拍摄模式或视频模式时,前置摄像头和/或后置摄像头可以接收外部的多媒体数据。每个前置摄像头和后置摄像头可以是一个固定的光学透镜系统或具有焦距和光学变焦能力。
音频组件810被配置为输出和/或输入音频信号。例如,音频组件810包括一个麦克风(MIC),当装置800处于操作模式,如呼叫模式、记录模式和语音信息处理模式时,麦克风被配置为接收外部音频信号。所接收的音频信号可以被进一步存储在存储器804或经由通信组件816发送。在一些实施例中,音频组件810还包括一个扬声器,用于输出音频信号。
I/O接口812为处理组件802和外围接口模块之间提供接口,上述外围接口模块可以是键盘,点击轮,按钮等。这些按钮可包括但不限于:主页按钮、音量按钮、启动按钮和锁定按钮。
传感器组件814包括一个或多个传感器,用于为装置800提供各个方面的状态评估。例如,传感器组件814可以检测到设备800的打开/关闭状态,组件的相对定位,例如所述组件为装置800的显示器和小键盘,传感器组件814还可以检测装置800或装置800一个组件的位置改变,用户与装置800接触的存在或不存在,装置800方位或加速/减速和装置800的温度变化。传感器组件814可以包括接近传感器,被配置用来在没有任何的物理接触时检测附近物体的存在。传感器组件814还可以包括光传感器,如CMOS或CCD图像传感器,用于在成像应用中使用。在一些实施例中,该传感器组件814还可以包括加速度传感器,陀螺仪传感器,磁传感器,压力传感器或温度传感器。
通信组件816被配置为便于装置800和其他设备之间有线或无线方式的通信。装置800可以接入基于通信标准的无线网络,如WiFi,2G或3G,或它们的组合。在一个示例性实施例中,通信组件816经由广播信道接收来自外部广播管理系统的广播信号或广播相关信息。在一个示例性实施例中,所述通信组件816还包括近场通信(NFC)模块,以促进短程通信。例如,在NFC模块可基于射频信息处理(RFID)技术,红外数据协会(IrDA)技术,超宽带(UWB)技术,蓝牙(BT)技术和其他技术来实现。
在示例性实施例中,装置800可以被一个或多个应用专用集成电路(ASIC)、数字信号处理器(DSP)、数字信号处理设备(DSPD)、可编程逻辑器件(PLD)、现场可编程门阵列(FPGA)、控制器、微控制器、微处理器或其他电子元件实现,用于执行上述方法。
在示例性实施例中,还提供了一种包括指令的非临时性计算机可读存储介质,例如包括指令的存储器804,上述指令可由装置800的处理器820执行以完成上述方法。例如,所述非临时性计算机可读存储介质可以是ROM、随机存取存储器(RAM)、CD-ROM、磁带、软盘和光数据存储设备等。
图4是本发明的一些实施例中服务器的结构示意图。该服务器1900可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上中央处理器(central processingunits,CPU)1922(例如,一个或一个以上处理器)和存储器1932,一个或一个以上存储应用程序1942或数据1944的存储介质1930(例如一个或一个以上海量存储设备)。其中,存储器1932和存储介质1930可以是短暂存储或持久存储。存储在存储介质1930的程序可以包括一个或一个以上模块(图示没标出),每个模块可以包括对服务器中的一系列指令操作。更进一步地,中央处理器1922可以设置为与存储介质1930通信,在服务器1900上执行存储介质1930中的一系列指令操作。
服务器1900还可以包括一个或一个以上电源1926,一个或一个以上有线或无线网络接口1950,一个或一个以上输入输出接口1958,一个或一个以上键盘1956,和/或,一个或一个以上操作系统1941,例如Windows ServerTM,Mac OS XTM,UnixTM,LinuxTM,FreeBSDTM等等。
一种非临时性计算机可读存储介质,当所述存储介质中的指令由装置(服务器或者终端)的处理器执行时,使得装置能够执行图1所示的数据处理方法。
一种非临时性计算机可读存储介质,当所述存储介质中的指令由装置(服务器或者终端)的处理器执行时,使得装置能够执行一种数据处理方法,应用于移动设备,所述方法包括:在接收到用户同意获取用户数据的允许权限的情况下,获取所述移动设备中预置应用收集的用户数据,并将获取的所述用户数据存储在所述移动设备的可信环境中;利用所述可信环境中存储的私钥,对基于所述私钥对应的公钥加密后的个人密钥进行解密,得到所述个人密钥;利用所述个人密钥对所述可信环境中存储的用户数据进行加密,并将加密得到的密文数据保存在所述移动设备的存储空间中。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本发明的其它实施方案。本发明旨在涵盖本发明的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本发明的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本发明的真正范围和精神由下面的权利要求指出。
应当理解的是,本发明并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本发明的范围仅由所附的权利要求来限制。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
以上对本发明所提供的一种数据处理方法、一种数据处理装置和一种用于数据处理的装置,进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
- 图像数据处理方法、用于图像数据处理方法的程序、记录有用于图像数据处理方法的程序的记录介质和图像数据处理装置
- 工程机械的数据处理方法、用于执行其的装置、用于工程机械的数据处理的服务器以及工程机械的数据处理单元