发明内容
为解决上述的技术问题,本发明提供一种基于云平台服务器的数据处理方法及系统,能够提高云平台服务器中存储的数据的安全性,使云平台服务器在被攻击入侵时不会造成用户数据的泄密。
第一方面,本发明提供一种基于云平台服务器的数据处理方法,包括:
客户端根据用户输入的第一加密密钥,通过第一加密算法,对待存储数据进行加密,获得第一数据,并将所述第一数据发送至云平台服务器;
云平台服务器接收所述第一数据,随机生成第二加密密钥和所述第二加密密钥对应的第二解密密钥;
云平台服务器根据所述第二加密密钥,通过第二加密算法,对所述第一数据进行第二次加密,获得第二数据;
云平台服务器将所述第二数据和所述第二解密密钥分别进行存储。
可选地,所述第一加密算法,包括:最大整数减去测量值加密函数或按位异或加密函数。
可选地,所述方法,还包括:
客户端将用户输入的算法运行指令发送至云平台服务器;
云平台服务器接收所述算法运行指令,根据所述第二解密密钥,通过第二加密算法对应的第二解密算法,对所述第二数据进行解密,获得所述第一数据;
云平台服务器根据所述第一数据,利用所述算法运行指令对应的算法获得计算结果,并将所述计算结果发送至客户端;
客户端根据所述第一加密密钥,通过第一加密算法对应的第一解密算法,加上算法运行指令的内容,对所述计算结果进行解密。
可选地,所述算法运行指令对应的算法,包括:寻找算法、计数算法、平均数算法或总数算法。
可选地,所述方法,还包括:
客户端向云平台服务器发送数据读取请求;
云平台服务器在接收到所述数据读取请求之后,根据所述第二解密密钥,通过第二加密算法对应的第二解密算法,对所述第二数据进行解密,获得所述第一数据,并将所述第一数据发送至客户端;
客户端根据用户输入的第一加密密钥,通过第一加密算法对应的第一解密算法,对所述第一数据进行解密,获得待读取数据。
第二方面,本发明提供一种基于云平台服务器的数据处理系统,包括:客户端和云平台服务器;
所述客户端,包括:第一加密模块和第一发送模块;
所述第一加密模块,用于根据用户输入的第一加密密钥,通过第一加密算法,对待存储数据进行加密,获得第一数据;
所述第一发送模块,用于将所述第一数据发送至云平台服务器;
所述云平台服务器,包括:第一接收模块、密钥生成模块、第二加密模块和存储模块;
所述第一接收模块,用于接收所述客户端发送的第一数据;
所述密钥生成模块,用于随机生成第二加密密钥和所述第二加密密钥对应的第二解密密钥;
所述第二加密模块,用于根据所述第二加密密钥,通过第二加密算法,对所述第一数据进行第二次加密,获得第二数据;
所述存储模块,用于将所述第二数据和所述第二解密密钥分别进行存储。
可选地,所述第一加密算法,包括:最大整数减去测量值加密函数或按位异或加密函数。
可选地,所述客户端,还包括:第二发送模块和第一解密模块;
所述第二发送模块,用于将用户输入的算法运行指令发送至云平台服务器;
所述第一解密模块,用于根据所述第一加密密钥,通过第一加密算法对应的第一解密算法,加上算法运行指令的内容,对云平台服务器发送的计算结果进行解密;
相应地,所述云平台服务器,还包括:第二接收模块、第二解密模块和计算模块;
所述第二接收模块,用于接收所述客户端发送的算法运行指令;
所述第二解密模块,用于根据所述第二解密密钥,通过第二加密算法对应的第二解密算法,对所述第二数据进行解密,获得所述第一数据;
所述计算模块,用于根据所述第一数据,利用所述算法运行指令对应的算法获得计算结果,并将所述计算结果发送至客户端。
可选地,所述算法运行指令对应的算法,包括:寻找算法、计数算法、平均数算法或总数算法。
可选地,所述客户端,还包括:第三发送模块和第四解密模块;
所述第三发送模块,用于向云平台服务器发送数据读取请求;
所述第四解密模块,用于根据用户输入的第一加密密钥,通过第一加密算法对应的第一解密算法,对所述云平台服务器发送的第一数据进行解密,获得待读取数据;
相应地,所述云平台服务器,还包括:第三接收模块和第三解密模块;
所述第三接收模块,用于接收所述数据读取请求;
所述第三解密模块,用于在接收到所述数据读取请求之后,根据所述第二解密密钥,通过第二加密算法对应的第二解密算法,对所述第二数据进行解密,获得所述第一数据,并将所述第一数据发送至客户端。
由上述技术方案可知,本发明的基于云平台服务器的数据处理方法及系统,能够提高云平台服务器中存储的数据的安全性,使云平台服务器在被攻击入侵时不会造成用户数据的泄密。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整的描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他的实施例,都属于本发明保护的范围。
图1示出了本发明一实施例提供的基于云平台服务器的数据处理方法的流程示意图,如图1所示,本实施例的基于云平台服务器的数据处理方法如下所述。
101、客户端根据用户输入的第一加密密钥,通过第一加密算法,对待存储数据进行加密,获得第一数据,并将所述第一数据发送至云平台服务器。
在具体应用中,举例来说,所述第一加密算法可以包括:最大整数减去测量值加密函数、按位异或加密函数、或能够对它产生的第一数据直接进行有意义运算的其他加密算法等。
应说明的是,在具体应用中,本实施例所述第一加密算法为对称加密算法。
102、云平台服务器接收所述第一数据,随机生成第二加密密钥和所述第二加密密钥对应的第二解密密钥。
103、云平台服务器根据所述第二加密密钥,通过第二加密算法,对所述第一数据进行第二次加密,获得第二数据。
104、云平台服务器将所述第二数据和所述第二解密密钥分别进行存储。
在具体应用中,客户端可以展示用户在云平台服务器中存储了哪些数据。
本实施例的基于云平台服务器的数据处理方法,用户的数据源(即待存储数据)被用户自己通过客户端进行第一次加密之后才上传到云平台服务器,云平台直接把加了密的数据再进行第二次加密,数据的第一次加密由待存储数据的拥有者(用户)控制。云平台服务器不知道第一次加密所用的加密算法,也不知道第一次加密的加密秘钥,所述云平台服务器可以展示其存储了哪些数据,但由于上述二次加密,云平台服务器并不知道其存储的数据中的具体信息,该基于云平台服务器的数据处理方法能够提高云平台服务器中存储的数据的安全性,使云平台服务器在被攻击入侵时不会造成用户数据的泄密,可以增加潜在客户对云计算的信任,从而促进IT技术在工业领域的应用推广。
在具体应用中,本实施例所述基于云平台服务器的数据处理方法,还可以包括:
客户端将用户输入的算法运行指令发送至云平台服务器;
云平台服务器接收所述算法运行指令,根据所述第二解密密钥,通过第二加密算法对应的第二解密算法,对所述第二数据进行解密,获得所述第一数据;
云平台服务器根据所述第一数据,利用所述算法运行指令对应的算法获得计算结果,并将所述计算结果发送至客户端;
客户端根据所述第一加密密钥,通过第一加密算法对应的第一解密算法,加上算法运行指令的内容,对所述计算结果进行解密。
其中,所述算法运行指令对应的算法可以是云平台提供的通用算法,也可以是用户自身编写的算法,为使运算结果有意义,自身编写的算法要利用到第一加密算法,所述算法运行指令对应的算法包括:寻找算法、计数算法、平均数算法或总数算法等。这些算法对第一数据的运算类似于对应的算法对原始未加密数据的运算。
可理解的是,对所述计算结果进行解密的结果等同于对原始未加密的数据进行客户所需要的某个运算的结果。
本实施例的基于云平台服务器的数据处理方法,云平台服务器可以有自己的处理和显示软件,云平台服务器可以根据用户输入的算法运行指令对云平台服务器中存储的数据进行相应运算,再将结果返回客户端,客户端对该结果解密后能够得到最终正式运算结果,即:用户(通过客户端)把加了密的数据交给云平台服务器,云平台服务器对其进行二次加密后存储;当用户(通过客户端)叫云平台服务器执行一个算法时,云平台服务器对二次加密后存储对数据进行加密,再运行该算法,把结果(通过客户端)返回用户,云平台服务器并不知道运算是什么目的,也不知道运算结果是什么,用户(通过客户端)得到结果后解密可得到最终正式运算结果。
在具体应用中,所述客户端可以将得到最终正式运算结果最终正式运算结果进行展示。
云端发送的计算结果不一定局限于数据,可以是各种类型,包括图形显示。例如,对一个分布图,客户端也许只需要更改各个分布区域的文字标记。
用户可以在客户端开发自己的数据处理和展示软件,它们的输入就是存储在云平台上的加密数据。因为用户知道自己的加密算法和密钥,他可以开发各种应用程序,用户自行开发的展示软件是必要的,展示的信息必须是真实的;用户自己开发的软件也可以上传到云平台服务器运行,在这种情况下该软件也许要对输出结果进行同样的加密。用户编写的处理程序可以是多种多样的,只要对其有价值即可,比如,处理程序可以是先解密,再运算,再加密等。
在具体应用中,本实施例所述基于云平台服务器的数据处理方法,还可以包括图中未示出的步骤:
105、客户端向云平台服务器发送数据读取请求。
106、云平台服务器在接收到所述数据读取请求之后,根据所述第二解密密钥,通过第二加密算法对应的第二解密算法,对所述第二数据进行解密,获得所述第一数据,并将所述第一数据发送至客户端。
107、客户端根据用户输入的第一加密密钥,通过第一加密算法对应的第一解密算法,对所述第一数据进行解密,获得待读取数据。
可理解的是,通过上述步骤105-107,用户可以通过客户端读取该用户存储在云平台服务器中的数据。
本实施例所述方法还可以更进一步拓展,用户可以把关于数据的部分或所有信息留在本地,云平台服务器只知道数据的序号和类型。这也可以理解成是一种加密算法。这种情况下数据本身可以不用加密,从而可以直接使用平台提供的各种通用软件。
举例来说,用户A需要跟踪某个锅炉的燃烧温度。A决定同时模拟几个类似的数值,一起上传给云平台B。只有A知道这几个数据点中哪个是真的。A可以用云平台服务器提供的任何通用数据处理和显示软件,但A只会关注那个真的数据。
对云平台B来说,它只知道A有几个时序数据,不知道它们代表什么,哪个是有效的。这样即使B有泄漏对A的威胁也相对较少。
本实施例的基于云平台服务器的数据处理方法,由于云平台服务器不知晓对数据的第一次加密,只知道数据的类型(整数、实数、字符串等),云平台服务器被攻击入侵并不会造成用户的数据丢失;通过用户对数据的第一次加密,用户对自己的数据全权拥有,不会也不必担心泄密,同时用户又得到了云平台服务器的服务带来的在冗余、备份、远程访问等多方面的好处;尽管云平台服务器不懂用户数据,云平台服务器的拥有者还是可以对其进行一定程度的数据挖掘,提取一些统计信息。得到的结果就会跟用户本身的私密信息关系不大从而降低用户的抵触态度。这些结果可能对社会或行业有价值。
图2示出了本发明一实施例提供的一种基于云平台服务器的数据处理系统的结构示意图,如图2所示,本实施例的基于云平台服务器的数据处理系统,包括:客户端1和云平台服务器2;
所述客户端1,包括:第一加密模块11和第一发送模块12;
所述第一加密模块11,用于根据用户输入的第一加密密钥,通过第一加密算法,对待存储数据进行加密,获得第一数据;
所述第一发送模块12,用于将所述第一数据发送至云平台服务器2;
所述云平台服务器2,包括:第一接收模块21、密钥生成模块22、第二加密模块23和存储模块24;
所述第一接收模块21,用于接收所述客户端1发送的第一数据;
所述密钥生成模块22,用于随机生成第二加密密钥和所述第二加密密钥对应的第二解密密钥;
所述第二加密模块23,用于根据所述第二加密密钥,通过第二加密算法,对所述第一数据进行第二次加密,获得第二数据;
所述存储模块24,用于将所述第二数据和所述第二解密密钥分别进行存储。
在具体应用中,举例来说,所述第一加密算法可以包括:最大整数减去测量值加密函数、按位异或加密函数、或能够对它产生的第一数据直接进行有意义运算的其他加密算法等。
应说明的是,在具体应用中,本实施例所述第一加密算法为对称加密算法。
在具体应用中,所述客户端1还包括图中未示出的:第二发送模块和第一解密模块;
所述第二发送模块,用于将用户输入的算法运行指令发送至云平台服务器2;
所述第一解密模块,用于根据所述第一加密密钥,通过第一加密算法对应的第一解密算法,加上算法运行指令的内容,对云平台服务器2发送的计算结果进行解密;
相应地,所述云平台服务器2,还可以包括:第二接收模块、第二解密模块和计算模块;
所述第二接收模块,用于接收所述客户端1发送的算法运行指令;
所述第二解密模块,用于根据所述第二解密密钥,通过第二加密算法对应的第二解密算法,对所述第二数据进行解密,获得所述第一数据;
所述计算模块,用于根据所述第一数据,利用所述算法运行指令对应的算法获得计算结果,并将所述计算结果发送至客户端1。
其中,所述算法运行指令对应的算法可以是云平台提供的通用算法,也可以是用户自身编写的算法,为使运算结果有意义,自身编写的算法要利用到第一加密算法,所述算法运行指令对应的算法包括:寻找算法、计数算法、平均数算法或总数算法等。这些算法对第一数据的运算类似于对应的算法对原始未加密数据的运算。
在具体应用中,所述客户端1,还可以包括图中未示出的:第三发送模块和第四解密模块;
所述第三发送模块,用于向云平台服务器2发送数据读取请求;
所述第四解密模块,用于根据用户输入的第一加密密钥,通过第一加密算法对应的第一解密算法,对所述云平台服务器2发送的第一数据进行解密,获得待读取数据;
相应地,所述云平台服务器2,还可以包括:第三接收模块和第三解密模块;
所述第三接收模块,用于接收所述数据读取请求;
所述第三解密模块,用于在接收到所述数据读取请求之后,根据所述第二解密密钥,通过第二加密算法对应的第二解密算法,对所述第二数据进行解密,获得所述第一数据,并将所述第一数据发送至客户端1。
本实施例的基于云平台服务器的数据处理系统,能够提高云平台服务器中存储的数据的安全性,使云平台服务器在被攻击入侵时不会造成用户数据的泄密,可以增加潜在客户对云计算的信任,从而促进IT技术在工业领域的应用推广。
本实施例的基于云平台服务器的数据处理系统,可以用于执行前述图1所示方法实施例的技术方案,其实现原理和技术效果类似,此处不再赘述。
在本发明实施方式中“第一”、“第二”和“第三”等并不是对先后顺序做出规定,只是对名称做出区别,在本发明实施方式中,不做出任何的限定。
本领域普通技术人员可以理解:实现上述各方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成。前述的程序可以存储于一计算机可读取存储介质中。该程序在执行时,执行包括上述各方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。