CN111418181B - 共享数据处理方法、通信装置及通信设备 - Google Patents

共享数据处理方法、通信装置及通信设备 Download PDF

Info

Publication number
CN111418181B
CN111418181B CN201880077309.7A CN201880077309A CN111418181B CN 111418181 B CN111418181 B CN 111418181B CN 201880077309 A CN201880077309 A CN 201880077309A CN 111418181 B CN111418181 B CN 111418181B
Authority
CN
China
Prior art keywords
shared
user
key
terminal
sharing
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201880077309.7A
Other languages
English (en)
Other versions
CN111418181A (zh
Inventor
李雪峰
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Publication of CN111418181A publication Critical patent/CN111418181A/zh
Application granted granted Critical
Publication of CN111418181B publication Critical patent/CN111418181B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Storage Device Security (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

本申请提供一种共享数据处理方法、通信装置及通信设备。其中方法包括:第一终端获取第一用户指定的第一共享数据;第一终端向数据存储服务器发送第一标识信息和通过第一共享密钥加密的第一共享数据;若检测到第一用户指定的共享群组内的共享用户发生变化,第一终端根据第一共享密钥计算第二共享密钥;第一终端获取第一用户指定的第二共享数据;第一终端向数据存储服务器发送第二标识信息和通过第二共享密钥加密的第二共享数据。从而提高了共享数据的安全性,确保了在从共享群组内被删除的共享用户无法获取在被解除共享关系后,第一用户指定上传的第二共享数据。

Description

共享数据处理方法、通信装置及通信设备
本申请要求于2018年03月28日提交中国专利局、申请号为201810266990.1、申请名称为“共享密钥更新方法、装置及系统”的中国专利申请的优先权,其全部内容通过引用结合在本申请中。
技术领域
本申请涉及安全技术领域,本申请的技术领域尤其涉及一种共享数据处理方法、通信装置及通信设备。
背景技术
数据共享是一种常见的业务形式,可以让不同地方使用不同终端的用户能够读取他人共享的数据并对共享数据进行各种操作、运算和分析,多应用于基于好友关系的照片共享、基于同事关系的文档共享等。数据共享需要由共享数据的用户通过终端设备将共享数据上传到数据存储服务器,并由该用户指定共享群组,只有共享群组内的共享用户所绑定并使用的终端设备有权能够从数据存储服务器获取并查看用户上传的共享数据。
现有技术中,为了确保共享数据的安全,用户所使用的终端设备在上传共享数据前先创建一个共享密钥,并使用该共享密钥对用户指定上传到数据存储服务器的共享数据进行加密。并且,终端设备在创建共享密钥后,将共享密钥上传并存储在密钥服务器,被指定的共享用户从密钥服务器获取该密钥后方可解密用户的共享数据。因此,在现有技术中,数据存储服务器只存储用户共享数据的密文,而密钥服务器只存储用于加密共享数据的共享密钥,即使数据存储服务器由于安全问题被攻破也只泄露共享数据的密文而不会直接泄露用户数据。
采用现有技术,当上传共享数据的用户调整与共享群组内的共享用户的共享关系,将共享群组内原有的一个或多个共享用户删除以解除共享关系,使得该些被解除共享关系的共享用户没有权限从数据存储服务器接收并查看共享数据。由于该些被解除共享关系的共享用户的终端设备仍然拥有被解除共享关系前的共享密钥,一旦数据存储服务器被攻破,还是能够从中查看并解密在被解除共享关系后共享数据的用户上传的共享数据,造成了共享数据的安全性不高。因此,如何确保被解除共享关系的用户无法获取在被解除共享关系后共享数据的用户上传的共享数据,是目前亟待解决的技术问题。
发明内容
本申请提供一种共享数据处理方法、通信装置及通信设备,确保了被解除共享关系的用户无法获取在被解除关系后共享数据的用户上传的共享数据,从而提高了共享数据的安全性。
本申请第一方面提供一种共享数据处理方法,包括:
第一终端获取第一用户指定的第一共享数据;
所述第一终端向数据存储服务器发送第一标识信息和通过第一共享密钥加密的所述第一共享数据,其中,所述第一标识信息用于标识所述第一共享密钥;
若检测到所述第一用户指定的共享群组内的共享用户发生变化,所述第一终端根据所述第一共享密钥计算第二共享密钥,其中,所述共享群组内的共享用户所绑定的终端有权从所述数据存储服务器中获取所述第一用户的共享数据;
所述第一终端获取所述第一用户指定的第二共享数据;
所述第一终端向所述数据存储服务器发送第二标识信息和通过所述第二共享密钥加密的所述第二共享数据,其中,所述第二标识信息用于标识所述第二共享密钥。
在第一方面的另一种可能实现方式中,所述第一终端根据所述第一共享密钥计算第二共享密钥,包括:
所述第一终端通过单向函数以所述第一共享密钥为输入,计算输出所述第二共享密钥。
在第一方面的另一种可能实现方式中,所述单向函数为单向陷门函数,所述第一终端拥有所述单向陷门函数的陷门;
所述第一终端通过单向函数以所述第一共享密钥为输入计算输出所述第二共享密钥,包括:
所述第一终端通过所述单向陷门函数以所述第一共享密钥和所述陷门为输入,计算输出所述第二共享密钥。
在第一方面的另一种可能实现方式中,所述第一标识信息为所述第一终端计算所述第一共享密钥时累计使用所述单向陷门函数的次数信息;
所述第二标识信息为所述第一终端计算所述第二共享密钥时,所述第一终端累计使用所述单向陷门函数的次数信息。
在第一方面的另一种可能实现方式中,第一用户指定的共享群组内的共享用户发生变化,包括:
所述第一终端的用户对所述共享群组内的共享用户进行删除或替换操作。
综上,在本申请第一方面提供的共享数据处理方法中,第一终端在检测到绑定的第一用户指定的共享群组内的共享用户发生变化时,根据用于加密第一共享数据的第一共享密钥计算第二共享密钥,并使用第二共享密钥对用户所指定的第二共享数据进行加密后上传至数据存储服务器。使得仅拥有第一共享密钥用户即使通过其他途径获取到数据存储服务器中第一用户新增的第二共享数据密文,也无法对密文进行解密,从而提高了共享数据的安全性,确保了在从共享群组内被删除的共享用户无法获取在被解除共享关系后,第一用户指定上传的第二共享数据。
本申请第二方面提供一种共享数据处理方法,包括:
第二终端获取第二共享密钥,其中,所述第二共享密钥为若检测到所述第一用户指定的共享群组内的共享用户发生变化,所述第一用户绑定的第一终端根据第一共享密钥计算得到所述第二共享密钥,所述第一共享密钥用于所述第一终端加密所述第一用户指定的第一共享数据,所述第二共享密钥用于所述第一终端加密第一用户指定的第二共享数据,所述共享群组内的共享用户所绑定的终端有权从所述数据存储服务器中获取所述第一用户的共享数据;
第二终端接收数据存储服务器发送的第一标识信息和通过第一共享密钥加密的第一共享数据,其中,所述第一标识信息用于标识所述第一共享密钥;
所述第二终端根据所述第二共享密钥和所述第一标识信息计算所述第一共享密钥;
所述第二终端根据所述第一共享密钥解密所述第一共享数据。
在第二方面的另一种可能实现方式中,所述第二终端根据第二共享密钥和所述第一标识信息计算所述第一共享密钥,包括:
所述第二终端通过单向函数以所述第二共享密钥和所述第一标识信息为输入,计算输出所述第一共享密钥。
在第二方面的另一种可能实现方式中,所述单向函数为单向陷门函数,所述第一终端拥有所述单向陷门函数的陷门。
在第二方面的另一种可能实现方式中,所述第一标识信息为所述第一终端计算所述第一共享密钥时累计使用所述单向陷门函数的次数信息;
所述第二标识信息为所述第一终端计算所述第二共享密钥时,所述第一终端累计使用所述单向陷门函数的次数信息。
综上,在本申请第二方面提供的共享数据处理方法中,第二终端获取第一终端最新用于加密第一用户指定的共享数据的第二共享密钥,还获取数据存储服务器发送的第一标识信息和通过第一共享密钥加密的第一用户的第一共享数据,第二终端能够根据第一标识信息和第二共享密钥计算第一共享密钥,并通过第一共享密钥对第一共享数据进行解密。使得在第一用户在共享群组中新增的共享用户所绑定的第二终端,能够根据第二共享密钥解密用户指定的第二共享数据,也能够根据第二共享密钥和第一标识计算第一共享密钥后,根据第一共享密钥解密用户指定的第一共享数据。同时还使得仅拥有第一共享密钥用户即使通过其他途径获取到数据存储服务器中第一用户新增的第二共享数据密文,也无法对密文进行解密,从而提高了共享数据的安全性,确保了在从共享群组内被删除的共享用户无法获取在被解除共享关系后,第一用户指定上传的第二共享数据。
本申请第三方面提供一种通信装置,包括:
获取模块,用于获取第一用户指定的第一共享数据
发送模块,用于向数据存储服务器发送第一标识信息和通过第一共享密钥加密的所述第一共享数据,其中,所述第一标识信息用于标识所述第一共享密钥;
处理模块,用于若检测到所述第一用户指定的共享群组内的共享用户发生变化,根据所述第一共享密钥计算第二共享密钥,其中,所述共享群组内的共享用户所绑定的终端有权从所述数据存储服务器中获取所述第一用户的共享数据;
所述获取模块还用于,获取所述第一用户指定的第二共享数据;
所述处理模块还用于,向所述数据存储服务器发送第二标识信息和通过所述第二共享密钥加密的所述第二共享数据,其中,所述第二标识信息用于标识所述第二共享密钥。
在第三方面的另一种可能实现方式中,所述处理模块具体用于,
若检测到所述第一用户指定的共享群组内的共享用户发生变化,通过单向函数以所述第一共享密钥为输入,计算输出所述第二共享密钥。
在第三方面的另一种可能实现方式中,所述单向函数为单向陷门函数,所述第一终端拥有所述单向陷门函数的陷门;
所述处理模块具体用于,若检测到所述第一用户指定的共享群组内的共享用户发生变化,通过所述单向陷门函数以所述第一共享密钥和所述陷门为输入,计算输出所述第二共享密钥。
在第三方面的另一种可能实现方式中,所述第一标识信息为所述第一终端计算所述第一共享密钥时累计使用所述单向陷门函数的次数信息;
所述第二标识信息为所述第一终端计算所述第二共享密钥时累计使用所述单向陷门函数的次数信息。
在第三方面的另一种可能实现方式中,所述第一用户指定的共享群组内的共享用户发生变化,包括:
所述第一用户对所述共享群组内的共享用户进行删除或替换操作。
综上,在本申请第三方面提供的通信装置,在检测到绑定的第一用户指定的共享群组内的共享用户发生变化时,根据用于加密第一共享数据的第一共享密钥计算第二共享密钥,并使用第二共享密钥对用户所指定的第二共享数据进行加密后上传至数据存储服务器。使得仅拥有第一共享密钥用户即使通过其他途径获取到数据存储服务器中第一用户新增的第二共享数据密文,也无法对密文进行解密,从而提高了共享数据的安全性,确保了在从共享群组内被删除的共享用户无法获取在被解除共享关系后,第一用户指定上传的第二共享数据。
本申请第四方面提供一种通信装置,包括:获取模块,用于获取第二共享密钥,其中,所述第二共享密钥为若检测到所述第一用户指定的共享群组内的共享用户发生变化,所述第一用户绑定的第一终端根据第一共享密钥计算得到所述第二共享密钥,所述第一共享密钥用于所述第一终端加密所述第一用户指定的第一共享数据,所述第二共享密钥用于所述第一终端加密第一用户指定的第二共享数据,所述共享群组内的共享用户所绑定的终端有权从所述数据存储服务器中获取所述第一用户的共享数据;
所述获取模块还用于,接收数据存储服务器发送的第一标识信息和通过第一共享密钥加密的第一共享数据,其中,所述第一标识信息用于标识所述第一共享密钥;
处理模块,用于根据所述第二共享密钥和所述第一标识信息计算所述第一共享密钥;
所述处理模块还用于,根据所述第一共享密钥解密所述第一共享数据。
在第四方面的另一种可能实现方式中,所述处理模块具体用于,通过单向函数以所述第二共享密钥和所述第一标识信息为输入,计算输出所述第一共享密钥。
在第四方面的另一种可能实现方式中,所述单向函数为单向陷门函数,所述第一终端拥有所述单向陷门函数的陷门。
在第四方面的另一种可能实现方式中,所述第一标识信息为所述第一终端计算所述第一共享密钥时累计使用所述单向陷门函数的次数信息;
所述第二标识信息为所述第一终端计算所述第二共享密钥时累计使用所述单向陷门函数的次数信息。
综上,在本申请第四方面提供的通信装置中,通过获取模块获取第一终端最新用于加密第一用户指定的共享数据的第二共享密钥,还获取数据存储服务器发送的第一标识信息和通过第一共享密钥加密的第一用户的第一共享数据,处理模块能够根据第一标识信息和第二共享密钥计算第一共享密钥,并通过第一共享密钥对第一共享数据进行解密。使得在第一用户在共享群组中新增的共享用户所绑定的第二终端,能够根据第二共享密钥解密用户指定的第二共享数据,也能够根据第二共享密钥和第一标识计算第一共享密钥后,根据第一共享密钥解密用户指定的第一共享数据。同时还使得仅拥有第一共享密钥用户即使通过其他途径获取到数据存储服务器中第一用户新增的第二共享数据密文,也无法对密文进行解密,从而提高了共享数据的安全性,确保了在从共享群组内被删除的共享用户无法获取在被解除共享关系后,第一用户指定上传的第二共享数据。
第五方面,本申请提供一种通信设备,包括:
接口和处理器,所述接口和所述处理器耦合;
所述处理器用于执行第一方面所述的共享数据处理方法。
在一种可能的设计中,第五方面中的通信设备可以为终端设备,也可以为芯片;接口可以与处理器集成在同一块芯片上,也可以分别设置在不同的芯片上。
第六方面,本申请提供一种通信设备,包括:
接口和处理器,所述接口和所述处理器耦合;
所述处理器用于执行第二方面所述的共享数据处理方法。
在一种可能的设计中,第六方面中的通信设备可以为终端设备,也可以为芯片;接口可以与处理器集成在同一块芯片上,也可以分别设置在不同的芯片上。
第七方面,本申请提供一种计算机可读存储介质,该计算机可读存储介质中存储有计算机程序,当其在计算机上运行时,使得计算机执行如第一方面所述的方法。
第八方面,本申请提供一种计算机可读存储介质,该计算机可读存储介质中存储有计算机程序,当其在计算机上运行时,使得计算机执行如第二方面所述的方法。
第九方面,本申请提供一种计算机程序,当所述计算机程序被计算机执行时,用于执行第一方面所述的方法。
在一种可能的设计中,第九方面中的程序可以全部或者部分存储在与处理器封装在一起的存储介质上,也可以部分或者全部存储在不与处理器封装在一起的存储器上。
第十方面,本申请提供一种计算机程序,当所述计算机程序被计算机执行时,用于执行第二方面所述的方法。
在一种可能的设计中,第十方面中的程序可以全部或者部分存储在与处理器封装在一起的存储介质上,也可以部分或者全部存储在不与处理器封装在一起的存储器上。
第十一方面,本申请提供一种通信设备,包括:
存储器和处理器,所述存储器和所述处理器耦合;
所述处理器用于执行如第一方面所述的方法。
在一种可能的设计中,第十一方面中的通信设备可以为终端设备,也可以为芯片;存储器可以与处理器集成在同一块芯片上,也可以分别设置在不同的芯片上。
第十二方面,本申请提供一种通信设备,包括:
存储器和处理器,所述存储器和所述处理器耦合;
所述处理器用于执行如第二方面所述的方法。
在一种可能的设计中,第十二方面中的通信设备可以为终端设备,也可以为芯片;存储器可以与处理器集成在同一块芯片上,也可以分别设置在不同的芯片上。
第十三方面,本申请提供一种处理器,该处理器包括:
至少一个电路,用于获取第一用户指定的第一共享数据;
至少一个电路,用于向数据存储服务器发送第一标识信息和通过第一共享密钥加密的所述第一共享数据,其中,所述第一标识信息用于标识所述第一共享密钥;
至少一个电路,用于若检测到所述第一用户指定的共享群组内的共享用户发生变化,根据所述第一共享密钥计算第二共享密钥,其中,所述共享群组内的共享用户所绑定的终端有权从所述数据存储服务器中获取所述第一用户的共享数据;
至少一个电路,用于获取所述第一用户指定的第二共享数据;
至少一个电路,用于向所述数据存储服务器发送第二标识信息和通过所述第二共享密钥加密的所述第二共享数据,其中,所述第二标识信息用于标识所述第二共享密钥。
在一种可能的设计中,第十三方面中的处理器可以为芯片。
第十四方面,本申请提供一种处理器,该处理器包括:
至少一个电路,用于获取第二共享密钥,其中,所述第二共享密钥为若检测到所述第一用户指定的共享群组内的共享用户发生变化,所述第一用户绑定的第一终端根据第一共享密钥计算得到所述第二共享密钥,所述第一共享密钥用于所述第一终端加密所述第一用户指定的第一共享数据,所述第二共享密钥用于所述第一终端加密第一用户指定的第二共享数据,所述共享群组内的共享用户所绑定的终端有权从所述数据存储服务器中获取所述第一用户的共享数据;
至少一个电路,用于接收数据存储服务器发送的第一标识信息和通过第一共享密钥加密的第一共享数据,其中,所述第一标识信息用于标识所述第一共享密钥;
至少一个电路,用于根据所述第二共享密钥和所述第一标识信息计算所述第一共享密钥;
至少一个电路,用于根据所述第一共享密钥解密所述第一共享数据。
在一种可能的设计中,第十四方面中的处理器可以为芯片。
可见,在以上各个方面,当第一终端在检测到绑定的第一用户指定的共享群组内的共享用户发生变化时,根据用于加密第一共享数据的第一共享密钥计算第二共享密钥,并使用第二共享密钥对用户所指定的第二共享数据进行加密后上传至数据存储服务器。使得仅拥有第一共享密钥用户即使通过其他途径获取到数据存储服务器中第一用户新增的第二共享数据密文,也无法对密文进行解密,从而提高了共享数据的安全性,确保了在从共享群组内被删除的共享用户无法获取在被解除共享关系后,第一用户指定上传的第二共享数据。
附图说明
图1为本申请数据共享系统的结构示意图;
图2为本申请共享数据处理方法实施例的流程示意图;
图3为本申请共享数据处理方法实施例的流程示意图;
图4为本申请共享数据处理方法实施例的流程示意图;
图5为本申请共享数据处理方法实施例的流程示意图;
图6为本申请共享数据处理方法实施例的流程示意图;
图7为本申请通信装置实施例的结构示意图;
图8为本申请通信装置实施例的结构示意图;
图9为本申请终端设备实施例的结构示意图;
图10为本申请终端设备实施例的结构示意图;
图11为本申请终端设备实施例的结构示意图。
具体实施方式
图1为本申请数据共享系统的结构示意图。如图1所示,本实施例提供的数据共享系统用于为用户提供数据共享的业务,具体包括:至少两个终端101、共享服务器102、密钥服务器103和数据存储服务器104。
本申请实施例中,用户通过绑定终端101并接入互联网105后,用户可以通过所绑定的终端101访问数据共享系统中的共享服务器102、密钥服务器103和数据存储服务器104,并享受数据共享服务。可选地,用户可以通过用户标识信息(例如:账号和密码)登陆并绑定终端101。其中,终端101具体可以是台式计算机(Computer)、笔记本电脑(Notebook)、平板电脑(Pad)、智能手机(Smart Phone)、智能手表(Smart Watch)、智能眼镜、工作站、数据库或服务器等具备数据处理功能且能够连接互联网的电子设备的一种或多种。例如图1中的标号为1-6的用户分别绑定标号为A-F的终端101后,与用户1-6绑定的终端A-F均接入互联网105,并通过互联网105访问共享服务器102、密钥服务器103和数据存储服务器104。在图1的示例中,用户1和用户2通过绑定的智能手机接入互联网,用户3和用户4通过绑定的台式计算机接入互联网,用户5和用户6通过绑定的数据库接入互联网。应理解,上述举例仅是为说明,不应构成具体限定。此外,如图1所示的任意一个用户绑定的终端,既可以上传共享数据至数据存储服务器104并授权其他用户读取,也可以从数据存储服务器104读取其他用户共享的数据。
共享服务器102用于管理上传共享数据的用户与共享用户之间的关系。具体地,上传共享数据的用户将共享数据上传至数据存储服务器104之后,需要确定共享群组,只有共享群组内的共享用户绑定的终端才有权读取数据存储服务器104中该用户的共享数据。例如,用户1通过终端A将用户1的共享数据上传至数据存储服务器104之后,再通过终端A指定共享群组包括的共享用户为用户2,并向共享服务器102发送有权查看用户1的共享数据的共享群组内的共享用户名单。则共享服务器102获取并存储指定的用户2的ID账号或IP地址等能够标识用户2身份的信息。随后共享服务器102向用户2绑定的终端B发送共享通知消息,使用终端B的用户2能够获知其被用户1授权查看用户1上传至数据存储服务器104的共享数据。则当用户2通过终端B接入互联网105并访问数据存储服务器104前,需要先通过共享服务器102验证身份。例如:用户2通过所绑定的终端B向共享服务器102发送包含用户2信息的身份验证请求,共享服务器102判断用户2是否在用户1指定的共享群组内,即是否有权限访问数据管理服务器104中用户1的共享数据。如果共享服务器102判断用户2是用户1指定的共享群组内的共享用户则验证通过,共享服务器102向用户2绑定的终端B返回验证成功信息,并可以在验证成功信息中携带用户1的共享数据在数据存储服务器104中的存储位置。只有当终端B获取用户1在数据存储服务器中的具体存储位置,终端B才能根据具体存储位置向数据存储服务器104请求用户1的共享数据。
密钥服务器103用于存储终端101加密共享数据所用的共享密钥。具体地,当上传共享数据的终端101在向数据存储服务器104上传绑定的用户的共享数据前先创建一个共享密钥,终端101使用该共享密钥对绑定的用户上传到数据存储服务器104的共享数据进行加密。在终端101为绑定的用户生成共享密钥之后,终端101将生成的共享密钥加密上传至数据共享系统中专门设置的用于管理密钥的密钥服务器103进行存储。而在其他共享用户的终端101需要访问数据存储服务器104中的共享数据时,还需要向密钥服务器103请求加密共享数据所使用的共享密钥后,才能通过共享密钥解密得到共享数据。可以理解的是,由于每个用户都可以通过终端101上传共享数据,密钥服务器103会存储各个用户上传共享数据时的共享密码,则例如当用户6所使用的终端F访问用户1上传的共享数据时,需要向密钥服务器请求用户1的共享密钥,用户6所使用的终端F访问用户2上传的共享数据时需要向密钥服务器请求用户2的共享密钥,其他用户以此类推。因此,密钥服务器103会记录每个上传共享数据的用户的共享密钥,并向授权的共享用户提供共享密钥。
数据存储服务器104用于存储各个用户通过绑定的终端101上传的、通过共享密钥加密的共享数据。并在共享用户绑定的终端101发送数据请求消息时,向该终端101返回所请求的共享数据。由于数据存储服务器104中存储共享数据、密钥服务器103中存储加密共享数据的共享密钥,因此共享群组内的有权获取共享数据的共享用户所绑定的终端101必须同时获取数据存服务器104中的共享数据和密钥服务器103中的共享密钥之后,才能通过共享密钥解密获得共享数据。而只有被指定在共享群组内的共享用户绑定的终端101才能查看并解密共享数据,实现了共享数据端到端的安全。数据存储服务器104与密钥服务器103可以独立设置,并采取不同的网络安全保护方式,使得其中之一被破解时另一服务器不会因相同的方式被破解,通过密钥和数据分离存储的方式来保证共享数据的安全。
可选地,上述的共享服务器102、密钥服务器103和数据存储服务器104的部署方式可以是非常灵活的,例如,共享服务器102、密钥服务器103和数据存储服务器104可以分别单独部署,可以集中部署(例如,部署在同一服务器中等等),也可以和其他的设备部署在一起,本申请不作具体限定。
如上述图1中的数据共享系统在现有的应用中,为了保证用户通过绑定的终端上传至数据存储服务器104的共享数据的安全、防止数据存储服务器104被恶意攻破时共享数据泄露,上传共享数据的用户所绑定的终端101在上传共享数据前先创建一个共享密钥,并使用该共享密钥对用户的共享数据进行加密后,再将加密后的共享数据上传至数据存储服务器104。同时,终端101还将生成的共享密钥上传至密钥服务器102。从而使得终端101必须同时获取数据存服务器104中的共享数据和密钥服务器103中的共享密钥之后,才能通过共享密钥解密获得共享数据,并且只有被该用户指定的共享群组内的共享用户所绑定的终端101才能查看并解密共享数据。因此,数据存储服务器104只存储用户共享数据的密文、密钥服务器102只存储用于加密共享数据的共享密钥,即使数据存储服务器104由于安全问题被攻破也只泄露共享数据的密文而不会直接泄露用户上传的共享数据。
但是现有技术中的数据共享系统仍然存在如下问题:当上传共享数据的用户调整该用户与共享群组内的共享用户之间的共享关系(例如用户1指定的有权访问其共享数据的共享群组包括的共享用户为用户2和用户3,随后又将共享群组中的用户3解除共享关系,则共享群组此时仅包括用户2),共享服务器102会记录该用户更新的共享关系。但是由于该些被解除共享关系的共享用户(用户3)所使用的终端C仍然拥有被解除共享关系之前的共享密钥,一旦数据存储服务器104被攻破,终端C还是能够从中数据存储服务器104中查看并解密在被解除共享关系后用户1上传的的共享数据。造成了用户的共享数据虽然通过共享密钥进行加密,但是共享数据的安全性仍然不高。
基于上述的数据共享系统中共享密钥存在的问题,本申请实施例提供一种共享数据处理方法,确保了被解除共享关系的用户无法获取在被解除关系后,上传共享数据的用户所上传的共享数据,从而提高了共享数据的安全性。
图2为本申请共享数据处理方法实施例的流程示意图。如图2所,在本申请共享数据处理方法的实施例中,
第一终端获取第一用户指定的第一共享数据,并通过第一共享密钥加密第一共享数据后向数据存服务器发送上传。第一终端同时还向数据存储服务器发送用于标识第一共享密钥的第一标识信息,第一标识信息与第一共享密钥一一对应,第一用户指定的共享用户所绑定的终端能够通过第一标识信息确定加密第一共享数据的第一共享密钥。
若第一终端检测到第一用户指定的共享群组内的共享用户发生变化,第一终端根据第一共享密钥计算第二共享密钥,其中,共享群组内的共享用户所绑定的终端有权从数据存储服务器中获取第一用户的共享数据。
第一终端获取第一用户指定的第二共享数据,并通过第二共享密钥加密第二共享数据后向数据存服务器发送上传。第一终端同时还向数据存储服务器发送用于标识第二共享密钥的第二标识信息,第二标识信息与第二共享密钥一一对应,第一用户指定的共享用户所绑定的终端能够通过第二标识信息确定加密第二共享数据的第二共享密钥。
具体地,当第一用户需要通过绑定的第一终端向数据存储服务器上传第一共享数据时,第一终端生成第一共享密钥,并使用第一共享密钥加密的共享数据后,将第一共享密钥加密的第一共享数据、第一共享密钥的第一标识信息上传至数据存储服务器。第一用户还通过第一终端指定共享群组,共享群组内的共享用户所绑定的终端有权访问第一用户上传至数据存储服务器的共享数据,即第一用户与其指定的共享群组内的共享用户存在共享关系。此时,第一用户的共享群组内的共享用户有权通过绑定的终端获取数据存储服务器中第一共享密钥加密的第一用户的第一共享数据,因此共享用户绑定的终端能够通过第一共享密钥解密得到第一用户的第一共享数据。
而当在第一终端检测到第一用户的共享群组发生变化,则第一终端对第一共享密钥进行更新,通过第一共享密钥计算得到新的第二共享密钥。其中,第一用户的共享群组发生变化可以是第一用户通过第一终端对共享群组内的共享用户进行删除或者替换操作。
可选地,当第一终端计算得到第二共享密钥后,向此时共享群组内的共享用户发送更新后的第二共享密钥。发送方式可以是第一终端将第二共享密钥发送至密钥服务器,由密钥服务器转发至共享群组内共享用户绑定的终端,或者第一终端通过加密广播的方式向共享用户绑定的终端发送第二共享密钥,加密方式可以通过第一终端和共享用户绑定的终端进行密钥协商的方式进行确定。
对于共享群组内的共享用户发生变化后,第一用户通过第一终端上传数据存储服务器的第二共享数据,第一终端将该些共享关系变化后新增的第二共享数据通过第二共享密钥进行加密,并将加密后的第二共享数据和第二共享密钥的第二标识信息共同发送至数据存储服务器。可选地,由第一终端检测第一用户的共享群组是否发生变化,或者,由专门设置的服务器检测第一用户的共享群组是否发生变化。
此时,第一用户的共享群组内的共享用户不仅有权通过绑定的终端获取数据存储服务器中第一共享密钥加密的第一用户的第一共享数据,还有权通过绑定的终端获取数据存储服务器中第二共享密钥加密的第一用户的第二共享数据。而此时不在共享群组内的共享用户所绑定的终端无法获取数据存储服务器中第一用户的任何共享数据。即使某一共享用户共享群组内的共享用户发生变化前在第一用户的共享群组内,但是共享群组内的共享用户发生变化后被第一用户从共享群组内删除,该共享用户也仅拥有第一终端加密共享数据所使用的第一共享密钥,因此即使该用户通过其他途径取得了第二共享数据,但是由于该用户所绑定的终端没有第二共享密钥,因此也不能通过第二共享密钥解密第二共享数据,从而保证了第一用户共享数据的安全性。
由于第一用户指定的共享群组的共享用户发生变化前后,第一终端使用不同的共享密钥(第一共享密钥、第二共享密钥)加密第一用户的共享数据。因此为了使共享用户所使用的第二终端获取到数据存储服务器中第一用户的共享数据后使用正确的共享密钥进行解密,第一终端在向数据存储服务器发送经过共享密钥加密的共享数据时,会同时向数据存储服务器发送加密共享数据所使用的共享密钥的标识信息。从而使得共享用户绑定的终端通过标识信息确定获取的共享数据是第一终端在共享关系发生变化前或后,发送至的数据存储服务器的共享数据,并使用与标识信息相对应的共享密钥对共享数据进行解密。
例如:在图1所示的数据共享系统中,用户1通过其使用的终端A(智能手机)向数据存储服务器104上传通过第一共享密钥加密的用户1的共享数据,并指定共享群组中包括用户3和用户5作为共享用户有权能够访问用户1的共享数据。则用户3和用户5分别通过绑定的终端C和终端E请求数据存储服务器104发送用户1的第一共享数据。随后,当第一终端检测到用户1改变其与用户3和用户5的共享关系,则用户1所绑定的终端A通过第一共享密钥计算得到更新后的第二共享密钥,并通过第二共享密钥加密随后用户1再向数据存储服务器发送的第二共享数据。其中,指定共享群组内的共享用户发生变化的操作包括如下的一种或多种:删除用户3、仅将用户5为共享用户,添加用户2为共享用户,或者将用户5替换为用户6。上述操作均可以看作是第一用户调整更新其与共享用户的关系,并使得第一用户与共享用户之间关系发生变化。同时,第一终端在第一用户指定的共享群组的共享用户发生变化前,可以对通过第一共享密钥加密的共享数据都携带第一共享密钥的标识信息如数字“1”;并在第一用户指定的共享群组的共享用户发生变化后,对通过第二共享密钥加密的共享数据都携带第二共享密钥的标识信息如数字“2”。使得共享用户的终端从数据存储服务器中获取到标识信息为“1”的共享数据后,通过第一共享密钥解密得到第一共享数据。从数据存储服务器中获取到标识信息为“2”的共享数据后,通过第二共享密钥解密得到第二共享数据。
具体地,如图2所示,第二用户为第一用户指定的共享群组中的共享用户,则对于第二用户绑定的第二终端,获取第一终端加密第二数据的第二共享密钥,并接收数据存储服务器发送的第一标识信息和通过第一共享密钥加密的第一共享数据后,根据第二共享密钥和第一标识信息计算第一共享密钥,并通过与第一标识信息对应的第一共享密钥解密第一共享数据。
例如:第一终端在第一用户指定的共享群组内的共享用户发生变化前,对第一用户指定的第一共享数据均通过第一共享密钥加密,并携带第一共享密钥的标识信息如数字“1”,第一终端在第一用户指定的共享群组内的共享用户发生变化后,对第一用户指定的均通过第二共享密钥加密,并携带第二共享密钥的标识信息如数字“2”。则若第二终端接收到数据存储服务器发送的标识信息为“1”的第一共享数据后,与最新接收的第二标识信息“2”进行比对,标识信息不同,则需要通过第二共享密钥计算和第一标识信息计算得到第一共享密钥后,通过第一共享密钥解密得到共享数据。若第二终端接收到数据存储服务器发送的标识信息为“2”的第二共享数据后,与最新接收的第二标识信息“2”进行比对,两个标识信息相同,则不用计算共享密钥,直接使用第二共享密钥对共享数据进行解密。
具体地,第二终端获取的第二共享密钥为第一终端最新更新共享群组内的共享用户后,第一终端上传的第一用户共享数据时,加密共享数据所使用的共享密钥。同时,第二终端获取第二共享密钥后,可以存储在第二终端的存储设备中,以备后续计算时使用。而第二终端获取第二共享密钥的方式可以包括以下两种:
第一种:第二终端接收密钥服务器发送的第二共享密钥。其中,密钥服务器只向第二终端发送第一终端上传共享数据时最新的使用的第二共享密钥。而第一共享密钥及第一共享密钥之前第一终端所使用的共享密钥的都由第二终端通过第二共享密钥和共享数据的标识信息进行计算。以减少服务器与终端之间通信数据量,并且减少第二终端用于存储共享密钥的存储空间。第二终端对共享数据进行解密时,实时判断并计算共享密钥,从而提高了共享密钥的处理效率。而可选地,第二终端在接收密钥服务器发送的第二共享密钥之前,可以向密钥服务器发送查询请求。其中查询请求用于向密钥服务器查询第一终端是否更新共享数据的共享密钥。
第二种:第二终端接收第一终端加密广播的第二共享密钥。其中,当第一终端将第一共享密钥更新为第二共享密钥之后,向共享群组内共享用户发生变化后仍存在于第一用户指定的共享群组内的共享用户所绑定的终端加密广播第二共享密钥。加密方式可以通过第一终端和第二终端进行密钥协商的方式进行确定。以减少终端与密钥服务器之间的交互次数,直接进行端到端的数据共享,提高了共享密钥的处理效率。
需要说明的是。在实际应用中,第一用户指定的共享群组内的共享用户可能会在不同时刻多次发生变化,而上传共享数据的行为可能发生在任意时刻,则上述的第一终端会通过第一共享密钥经过多次计算后才获得上述的第二共享密钥。并且共享用户所绑定的终端通过第二共享密钥也会执行多次计算才能计算第一共享密钥。而在本实施例的举例中第一共享密钥与第二共享密钥之间相互之间均通过一次更新计算得到,而多次的计算方式及原理与单次更新计算的实施例相同,仅为计算次数的叠加,不再赘述。
综上,在上述实施例提供的共享数据处理方法中,第一终端若检测到绑定的第一用户指定的共享群组内的共享用户发生变化,根据用于加密第一共享数据的第一共享密钥计算第二共享密钥,并使用第二共享密钥对用户所指定的第二共享数据进行加密后上传至数据存储服务器。第二终端获取第一终端最新用于加密第一用户指定的共享数据的第二共享密钥,还获取数据存储服务器发送的第一标识信息和通过第一共享密钥加密的第一用户的第一共享数据。使得第二终端能够根据第一标识信息和第二共享密钥计算第一共享密钥,并通过第一共享密钥对第一共享数据进行解密。因此第一用户在共享群组中新增的共享用户所绑定的第二终端,能够根据第二共享密钥解密用户指定的第二共享数据,也能够根据第二共享密钥和第一标识计算第一共享密钥后,根据第一共享密钥解密用户指定的第一共享数据。同时还使得被解除共享关系的共享用户仅拥有第一共享密钥,因此即使通过其他途径获取到数据存储服务器中第一用户在解除其共享关系后新增的第二共享数据密文,也无法对密文进行解密,从而提高了共享数据的安全性,确保了从共享群组内被删除的共享用户无法获取在被删除后,第一用户指定上传的第二共享数据。
可选地,在上述实施例中,第一终端根据第一共享密钥计算第二共享密钥,可以具体通过单向函数以第一共享密钥为输入计算输出第二共享密钥。
更为具体地,单向函数可以是单向陷门函数,并且在上述实施例中,仅第一用户绑定的第一终端拥有单向陷门函数的陷门,其他共享用户所使用的终端都没有单向陷门函数的陷门。则第一终端通过单向陷门函数以第一共享密钥和陷门为输入,计算输出第二共享密钥。其中,单向陷门函数是有一个陷门的一类特殊单向函数,具有单向性以及存在陷门的特征。所谓单向性,也称不可逆性,即对于一个函数y=f(x),若已知x要计算出y很容易,但是已知y要计算出x=f^(-1)(y)则很困难。单向函数的命名就是源于其只有一个方向能够计算。所谓陷门,也称为后门,对于单向函数,若存在一个z使得知道z则可以很容易地计算出x=f^(-1)(y),而不知道z则无法计算出x=f^(-1)(y),则称函数y=f(x)为单向陷门函数,而z称为陷门。具体地,在上述实施例中,第一终端将第一共享密钥x送入拥有陷门的单向陷门函数f( ),并利用陷门使得单向陷门函数输出第二共享密钥y。因此,只有上传共享数据的第一用户所使用的第一终端拥有单向陷门函数的陷门,也只有第一终端通过陷门才能对共享密钥进行单向的更新,由第一共享密钥计算得到第二共享密钥。其他用户不论是否为第一终端共享群组内的共享用户,其他用户所使用的终端都不能通过第一共享密钥计算得到更新后的第二共享密钥,但是可以通过第二共享密钥计算出共享密钥更新前的第一共享密钥。
进一步地,在上述实施例中,当单向函数为单向陷门函数,则第二标识信息为:第一终端计算第二共享密钥时,第一终端累计使用单向陷门函数的次数信息。相应地,第一标识信息为第一终端计算第一共享密钥时,第一终端累计使用单向陷门函数的次数信息。例如:图3为本申请共享数据处理方法实施例的流程示意图,图中示出了使用多次使用单向陷门函数计算更新共享密钥的流程。如图3中由上至下为不同批次的第一终端向数据存储服务器发送的共享数据,其中第一批次的共享数据使用共享密钥AK1进行加密。当第一终端在第一用户指定的共享群组内的共享用户发生变化后,将共享密钥AK1通过单向陷门函数计算生成共享密钥AK2,并将生成AK2之后用户新增的第二批次的共享数据都通过AK2进行加密。此时可标记第一终端已经使用单向陷门函数1次。当第一用户指定的共享群组内的共享用户再次发生变化,第一终端根据共享密钥AK2通过单向陷门函数计算生成共享密钥AK3,并将生成AK3之后用户新增的第三批次的共享数据都通过AK3进行加密。此时标记第一终端已经使用单向陷门函数2次。当第一用户指定的共享群组内的共享用户再次发生变化,第一终端根据共享密钥AK3通过单向陷门函数计算生成共享密钥AK4,并将生成AK4之后用户新增的第四批次的共享数据都通过AK4进行加密。此时标记第一终端已经使用单向陷门函数3次。则当共享用户所使用的第二终端获取图3中任意批次的共享数据的共享密钥使用单向陷门函数时,累计的计算次数信息,可以根据次数信息计算得到相应的共享密钥。例如:第二终端获取的共享数据的标识信息为“次数信息为1”。则第二终端根据“次数信息为1”确定共享数据为第二批次,且共享密钥为AK2。则共享用户将共享密钥AK4代入单向陷门函数后反向得到共享密钥AK3,将AK3再次代入单向陷门函数后反向得到共享密钥AK2。
可选地,在上述各实施例中,第一用户指定的共享群组内的共享用户发生变化,具体可以包括:第一用户对共享群组内的共享用户进行删除、添加或替换操作。
例如,在图1所示的数据共享系统中,用户1通过其使用的终端A上传共享数据至数据存服务器,并指定共享群组包括用户3和用户5两个共享用户,用户3和用户5有权分别通过图中的终端C和终端E请求数据存储服务器内存储的用户1的共享数据。而用户1的共享群组内的共享用户发生变化,包括如下操作的一种或多种:1、用户1通过终端A解除与用户3之间的共享关系,将用户3从共享群组中删除,即禁止用户3请求用户1的共享数据;2、用户1通过终端A新增用户1与用户2的共享关系,向共享群组中加入共享用户2,,即允许用户2通过智能手机请求数据存储服务器内用户1的共享数据;3、用户1通过终端A将用户1与用户5的共享关系替换为用户1与用户6的共享关系,将共享群组内包括的用户5替换为用户6。
图4为本申请共享数据处理方法实施例的流程示意图,图中示出了第一终端的第一用户对共享群组内的共享用户进行删除的关系示意。其中,在删除共享用户前,用户A通过电脑向数据共享系统上传通过第一共享密钥加密的第一共享数据和第一共享密钥的第一标识信息,并且用户A通过电脑指定共享群组内的共享用户为用户B和用户C。则用户B和用户C所使用的电脑有权获取数据共享系统中用户A的第一共享密钥加密的第一共享数据和第一共享密钥的第一标识信息。在删除共享用户后,用户A解除与用户C的共享关系,将用户C从共享群组中删除,即禁止用户C访问用户A的共享数据。则用户A所使用的电脑将第一共享密钥更新为第二共享密钥,并向数据共享系统上传通过第二共享密钥加密的第二共享数据和第二共享密钥的标识信息。此时,用户B所使用的电脑有权获取数据共享系统中用户A的第二共享密钥加密的第二共享数据和第二共享密钥的第二标识信息,用户C所使用的电脑无权获取数据共享系统中用户A的第二共享密钥加密的第二共享数据和第二共享密钥的标识信息。
可选地,在上述各实施例中,第一终端根据第一共享密钥计算得到第二共享密钥后,将得到的第二共享密钥发送至密钥服务器进行存储。具体地,第一终端将更新后得到的第二共享密钥发送至密钥服务器,由密钥服务器对第二共享密钥进行存储。并可以将原有的第一共享密钥进行删除,也可以由密钥服务器通过广播等方式将第二共享密钥通知所有与第一终端的用户存在共享关系的共享用户所绑定的终端。例如图1的系统中,用户1通过第一终端A上传的两张照片通过第一共享密钥进行加密,并指定用户5和用户6为共享群组内的共享用户。用户5和用户6分别有权通过终端E和终端F查看数据存储服务器104内存储的两张照片,并从密钥服务器请求第一共享密钥对其进行解密。当用户1删除共享群组内用户5的共享用户后,第一终端A将第一共享密钥更新为第二共享密钥并向密钥服务器上传第二共享密钥。密钥服务器接收并存储新的第二共享密钥。并根据新的共享关系向用户6所使用的终端F发送携带第二共享密钥的通知,使得用户6能够获取第二共享密钥;而用户5所使用的终端E不会接收到密钥服务器发送的第二共享密钥。
可选地,在上述各实施例中,第一用户与第一用户的共享用户之间共享关系发生变化,第一终端可以向关系管理服务器发送该共享关系的变化。例如:用户1删除共享群组内用户5的共享用户、并将用户6加入共享群组,则用户6作为有权能够访问用户1共享数据的共享用户。第一终端A获取用户1对共享群组内共享用户的更新后,可以向共享服务器102发送用户1的共享群组内共享用户5和用户6关系的变化,使得共享服务器102将用户1的共享群组内的共享用户5替换为用户6并进行存储。使得随后用户5所使用的终端E向共享服务器102请求访问用户1的共享数据时,共享服务器判断用户5不在用户1指定的共享群组内,从而拒绝向终端E提供用户1的共享数据的在数据存储服务器的存储地址及其他相关信息。
图5为本申请共享数据处理方法实施例的流程示意图。如图5所示,本实施例提供的共享数据处理方法为包括:
S401:已上传共享数据的第一用户需要更改有权访问其共享数据的共享用户时,通过在第一用户标识绑定的第一终端上进行操作,进行添加共享用户、删除共享用户或者替换共享用户的操作,改变该用户与共享用户之间的共享关系。具体实现时,第一终端以数据表格的形式存储第一用户指定的有权访问其共享数据的共享用户,在该表格中的共享用户所使用的终端可以被看作一个终端的群组,群组内的终端才可以访问第一用户上传数据存储服务器的共享数据。例如,在图1所示的数据共享系统中,用户1通过其使用的终端A上传共享数据至数据存服务器104,并指定用户3和用户5有权能够访问其共享数据,则用户3和用户5分别通过用户标识绑定的终端C和终端E访问数据存储服务器104内存储的用户1的共享数据。当用户1需要更新共享数据的共享用户关系,包括如下操作的一种或多种:删除用户3、用户2为共享用户以及将用户5替换为用户6。上述操作均可以看作是第一用户调整更新其共享数据的共享用户的关系,并使得第一用户与共享用户之间关系发生变化。本实施中所述的第一用户与共享用户之间关系发生变化,等同于上述实施例中第一用户指定的共享群组内的共享用户发生变化。即第一用户与其指定的共享群组内的共享用户存在共享关系。
S402:第一终端获取第一用户对共享关系的更新,并判断第一用户与共享用户之间共享关系发生变化时,向共享服务器更新该变化。例如:第一终端的使用者,即用户1在第一终端的应用程序上,将用户1的共享数据的共享用户从用户5替换为用户6,第一终端获取用户对共享用户关系的更新后,向共享服务器102发送更新共享关系的请求,使得共享服务器102根据接收到的请求,将用户1的共享数据的共享用户由用户5替换为用户6并进行存储。使得随后用户5向共享服务器请求访问用户1的共享数据时,共享服务器判断用户5已没有权限,并拒绝向用户5提供用户1的共享数据的在数据存储服务器的存储地址及其他相关信息。
需要说明的是,本申请各示例中的第一终端指:上传共享数据的用户通过其标识信息登录并绑定的终端。图1中的数据共享系统可以向申请服务的用户提供账号和密码,用户通过账号密码通过任意终端即可通过互联网接入系统,并享受数据共享的服务器。用户通过账号密码通过第一终端的应用程序登录后,第一终端即与用户的标识信息绑定。例如:在图1的系统中用户1通过其用户标识绑定的智能手机上传用户1需要共享的数据,此时智能手机A为本示例中的第一终端。而当上传完数据后若用户1解除用户标识与智能手机A的绑定退出登录,并通过用户1的用户标识登录并绑定另一台式电脑C,并通过该台式电脑查看及管理其共享数据,此时台式电脑C为本示例中的第一终端。相应地,如图1中的其他标号的用户也均可以通过其用户标识绑定的终端向数据存储服务器上传共享数据,则对于已上传的共享数据的拥有者来说,该拥有者所使用的终端即为本申请各示例中的第一终端。
S403:共享服务器更新第一用户与其共享用户之间的关系后,向第一终端反馈共享关系更新结果,以告知第一终端完成共享关系的更新。可选地,共享服务器向被撤销共享数据访问权限的共享用户绑定的终端发送撤销通知,终端收到通知后删除之前存储的共享数据的地址及名称等所有相关信息,使得被撤销的共享用户无法再通过其用户标识绑定的终端访问数据存储服务器存储的第一终端的用户上传的共享数据。
S404:当第一用户与其共享用户关系发生变化,需要确保被删除权限的共享用户无法获取第一用户新的共享数据,则第一终端通过向共享关系服务器更新共享结果,使得被删除的共享用户无法获取数据。但是,由于被删除的共享用户的终端设备拥有用户之前所上传的共享数据的密钥,一旦数据存储服务器被攻破,还是能够从中查看并解密共享数据。因此,在本步骤中,当第一终端接收到共享服务器发送的共享关系更新结果,确定共享关系已经更新后,更新共享密钥,并使用更新后的共享密钥加密第一用户更新共享用户关系之后再上传至数据存储服务器的共享数据。
例如:用户1通过绑定的第一终端生成第一共享密钥,向密钥服务器发送第一共享密钥,并向数据存储服务器上传了通过第一共享密钥加密的两张照片,用户1指定用户5为共享用户,向共享服务器发送共享用户关系,使得用户5所使用的终端E能够通过共享服务器验证通过后,从密钥服务器获取第一共享密钥、从数据存储服务器获取用户1上传的通过第一共享密钥加密的两张照片。随后,用户1更改共享关系,通过第一终端向共享服务器发送共享关系更改消息将共享用户由用户6替换为用户5,同时,第一终端更新用于加密共享数据的共享密钥,将第一共享密钥更新为第二共享密钥。则用户5通过其绑定的服务器就不能通过共享服务器的验证,也就不能从数据存储服务器获取用户1上传的通过第一共享密钥加密的两张照片。并且用户1在之后通过第一终端再上传两个压缩包时,第一终端将两个压缩包通过第二共享密钥进行加密后,上传数据存储服务器。则用户1通过第一终端前后分别上传的两张照片和两个压缩包使用不同的共享密钥进行加密,其中,两张照片还通过共享密钥更新之前的第一共享密钥进行加密,且共享密钥更新后也不进行更改;两个压缩包为共享密钥更新后的第二共享密钥进行加密。使得被删除共享关系的用户5即使通过破解等手段获取数据存储服务器中用户1的所有共享数据,也只能通过终端E中之前的第一共享密钥对两张照片进行解密,而用户1在删除用户5的共享关系之后上传的两个压缩包由于通过第二共享密钥进行加密,用户5即使取得了用户1的共享数据的密文数据,也无法通过第二共享密钥解密获取两个压缩包的原始数据,从而通过更新用于加密共享数据的共享密钥,提高了共享数据的安全性。
可选地,本步骤中,第一终端可以通过单向陷门函数将第一共享密钥更新文第二共享密钥。具体地,单向陷门函数是有一个陷门的一类特殊单向函数,具有单向性以及存在陷门的特征。所谓单向性,也称不可逆性,即对于一个函数y=f(x),若已知x要计算出y很容易,但是已知y要计算出x=f^(-1)(y)则很困难。单向函数的命名就是源于其只有一个方向能够计算。所谓陷门,也称为后门,对于单向函数,若存在一个z使得知道z则可以很容易地计算出x=f^(-1)(y),而不知道z则无法计算出x=f^(-1)(y),则称函数y=f(x)为单向陷门函数,而z称为陷门。则在本步骤中,第一终端拥有单向陷门函数的陷门,第一终端将第一共享密钥x送入拥有陷门的单向陷门函数f( ),并利用陷门使得单向陷门函数输出第二共享密钥y。因此,只有上传共享数据的用户所使用的第一终端拥有单向陷门函数的陷门,也只有第一终端通过陷门才能对共享密钥进行单向的更新,由第一共享密钥计算得到第二共享密钥。其他共享用户不论是否被第一终端的用户指定并授权为共享用户,都不能通过第一共享密钥计算得到更新后的第二共享密钥,但是却都可以通过第二共享密钥计算出共享密钥更新前的第一共享密钥。
可选地,步骤中通过第一共享密钥计算第二共享密钥由上传共享数据的用户所使用的第一终端执行,而为了实现本申请方法,还可以设置一专门计算共享密钥的代理服务器进行密钥的派生,第一终端每次与代理服务器进行交互并获取更新后的第二共享密钥。而代理服务器可以为所有上传数据的终端提供共享密钥的计算与更新服务,均在本申请的保护范围之内。
S405:第一终端将更新后的第二共享密钥发送至密钥服务器,由密钥服务器对第二共享密钥进行存储,并将原有的第一共享密钥进行删除。具体地,当第一用户更新共享用户的关系,第一终端将第一共享密钥更新为第二共享密钥,并通过第二共享密钥加密随后上传的共享数据;第一终端可以通过密钥服务器将第二共享密钥通知其他未被删除的共享用户。例如:用户1通过第一终端上传的两张照片通过第一共享密钥进行加密,并指定用户5和用户6为共享用户有权查看。当用户1删除用户5的共享关系后,第一终端将第一共享密钥更新为第二共享密钥,并向密钥服务器上传第二共享密钥。密钥服务器接收并存储新的第二共享密钥,并根据新的共享关系,向用户6所绑定的终端F发送携带第二共享密钥的通知,使得用户6能够获取第二共享密钥而用户5所绑定的终端E无权获取第二共享密钥。
其中,密钥服务器需要管理每个用户的共享密钥,可以通过用户的标识信息区分每个用户的共享数据及用户的共享密钥。例如:用户1所绑定的终端A上传的第一共享数据的最新更新的共享密钥为123,用户2所绑定的终端B上传的第二共享数据的最新更新的共享密钥为ABC,则密钥服务器中存储“用户1-第一共享数据-123”和“用户2-第二共享数据-ABC”的映射关系,当用户5绑定的终端E向密钥服务器请求用户1或第一共享数据对应的共享密钥时,密钥服务器反馈“123”,当用户6绑定的终端F向密钥服务器请求用户2或第二共享数据对应的共享密钥时,密钥服务器反馈“ABC”。
本步骤中传递第二共享密钥的方式是通过专门设置的密钥服务器向共享用户进行通知,此外,可选地,还可以通过:1、密钥服务器向共享用户发送通知后,各共享用户的终端每次请求共享数据前,再向密钥服务器查询第一用户的共享数据最新的共享密钥;2、各共享用户的终端主动间隔预设时间向密钥服务器查询第一用户的共享数据是否更新共享密钥;3、第一终端根据第一共享密钥派生新的共享密钥后,直接通过广播加密等通信方式向其他未被删除的有权访问共享数据的共享用户的终端发送第二共享密钥;或者其他方式使得未被删除的共享用户获知第一终端更新的第二共享密钥,均可实现本实施例的共享数据处理方法,在此不做限定。
S406:密钥服务器向第一终端反馈密钥更新结果。
S407:第一终端向用户反馈共享关系的更新结果,提示第一用户共享关系已进行更改,可与使用更新后的密钥上传新增的共享数据。
S408:第一用户向第一终端上传新增的共享数据,或者指定第一终端内的部分数据为新增的共享数据。
S409:第一终端将用户新增的共享数据通过第二共享密钥进行加密。
S4010:第一终端向数据存储服务器上传经过第二共享密钥加密的新增共享数据。
其中,数据存储服务器中存储的第一用户通过第一终端上传的共享数据,在共享关系更新前后的共享密钥不同。即,第一用户在共享用户的关系发生变化前的共享数据通过第一共享密钥加密;第一用户在共享用户的关系发生变化后的共享数据通过第二共享密钥加密。
由于第一用户所共享的数据的共享用户的关系发生变化前后共享数据由不同的共享密钥进行加密,为了使得共享数据的共享用户的终端接收到共享数据后使用正确的共享密钥进行解密,本步骤中第一终端在上传经过第二共享密钥加密的新增共享数据时,会在新增的共享数据中加入第二共享密钥的标识信息,使得共享用户使用的第二终端获取到数据存储服务器中第一终端上传的共享数据时,通过标识信息得知该共享数据是第一终端在哪一批次的共享密钥,从而使用与标识信息对应的共享密钥对共享数据进行解密。例如:第一终端在用户改变共享用户的关系前,对通过第一共享密钥加密的共享数据都携带第一共享密钥的标识信息如数字“1”,在第一用户改变共享用户的关系并更新共享密钥后,对通过第二共享密钥加密的共享数据都携带第二共享密钥的标识信息如数字“2”。使得共享用户的终端接收到标识信息为“1”的共享数据后,与最新接收的第二共享密钥的标识信息“2”进行比对,结果显示共享数据所使用的共享密钥标识信息比第二共享密钥的标识信息小1,即需要将第二共享密钥通过单向陷门函数向前推算一次得到第一共享密钥后,通过第一共享密钥解密得到共享数据。若共享用户的终端接收到标识信息为“2”的共享数据后,与最新接收的第二共享密钥的标识信息“2”进行比对相同,则不用计算共享密钥,直接使用第二共享密钥对共享数据进行解密。需要说明的是,本实施例中第一共享密钥到第二共享密钥之间通过一次更新计算进行举例,实际使用时通过第一终端上传共享数据用户可能会在上传共享数据的过程中进行多次共享关系的更改,第一共享密钥也会经过多次单向陷门函数的计算后才获得第二共享密钥,其计算方式及原理与上述实施例相同,不再赘述。
S4011:数据存储服务器接收并存储新增共享数据后,向第一终端反馈新增共享数据的上传结果。
S4012:第一终端向第一用户反馈新增共享数据的上传结果。至此,第一终端完成共享密钥的更新并使用更新后的共享密钥加密第一用户新上传的共享数据。
对于被解除共享关系的共享用户,在被通过第一用户解除与该用户的共享关系后,只拥有被解除共享关系前的第一共享密钥,而不拥有被解除共享关系后第一终端更新的第二共享密钥。所以即使通过能够通过数据存储服务器的某个漏洞或者其他途径获取到所有共享数据的密文,也只能通过第一共享密钥解密并获取被解除共享关系前的共享数据的明文,而无法解密被解除共享关系后第一用户新增上传的共享数据密文。
对于未被解除共享关系的共享用户,在第一终端将第一共享密钥更新为第二共享密钥之后,未被解除共享关系的共享用户所使用的终端会被分发更新后的第二共享密钥,因此未被解除共享关系的共享用户所使用的终端能通过第二共享密钥解密第一用户修改共享关系之后新增的共享数据,也能够通过第二共享密钥解密第一终端的用户修改共享关系之前的共享数据。而第一共享密钥可以由未被解除共享关系的共享用户所使用的终端从存储设备中调用,或者如上述实施例中所述通过单向陷门函数由第二共享密钥计算得到,在此不作限定。
而如果该未被解除共享关系的共享用户所使用的终端在处理共享数据时,会从数据存储服务器获取共享数据后将共享数据存储在本地再进行处理,那么由于当第一终端将第一共享密钥更新为第二共享密钥之后,之前的共享数据的共享密钥还为第一共享密钥不作更改,未被解除共享关系的共享用户不需要重新获取之前已获取的共享数据,而只需增量获取第一终端的用户在变更共享用户关系后新增的共享数据,并使用第二共享密钥进行解密。
对于第一用户新增的共享用户,共享用户使用的终端会被分发第一终端最新更新的第二共享密钥,并可以根据通过与第一终端相同的单向陷门函数由第二共享密钥计算更新前的第一共享密钥。随后从数据存储服务器获取第一用户上传的共享数据并根据共享数据的共享密钥的标识信息,利用与标识信息对应的共享密钥对共享数据进行解密,详细流程见下图5所示的实施例。
需要说明的是,本实施例中通过第一终端上传共享数据第一用户可能会在上传共享数据的过程中进行多次共享关系的更改,也会使得共享密钥进行多次的更新,因此对于未被解除共享关系的共享用户和新增的共享用户,接收到的共享数据的密文也会携带加密该共享数据所使用的共享密钥的标识信息,终端根据标识信息判断共享密钥的更新的次数,并根据最新的第二共享密钥由单向陷门函数向前推算相应的次数得到之前的共享密钥(向前推算一次即为第一共享密钥),并通过标识信息对应的共享密钥解密共享数据。
具体地,对于新增的共享用户,图6为本申请共享数据处理方法实施例的流程示意图,如图6所示的实施例示出了新增的第二用户作为共享用户所绑定的第二终端对共享数据的处理流程,具体包括:
S501:第二用户作为第一用户指定的共享用户,通过第二用户的用户标识绑定的第二终端查看第一用户的共享数据,其中,本申请各示例中的第二终端指:上传共享数据的第一用户指定的、有权查看其共享数据的共享用户,通过该共享用户其标识信息登录并绑定的终端。上传共享数据的用户指定一共享用户有权查看其共享数据时,共享用户绑定的终端会接收相关的通知消息,因此第二用户能够通过第二终端查看第一用户上传数据存储服务器的共享数据。
S502:第二用户需要查看共享数据时,第二终端向共享服务器请求共享权限。
S503:共享服务器判断第二终端绑定的第二用户被第一用户指定可以访问共享数据,则向第二终端返回共享权限,其中,共享权限可以是第一用户上传的共享数据在数据存储服务器中的存储位置及其他存储的相关信息,使得第二终端根据存储信息向数据存储服务器请求数据。
S504:第二终端向共享服务器请求第二共享密钥,其中,第二共享密钥为第一终端在上传第一用户的共享数据时,最新使用的共享密钥。
S505:密钥服务器向第二终端发送第二共享密钥。其中,密钥服务器只向第二终端发送第一终端上传共享数据时最新的使用的第二共享密钥。之前的第一共享密钥则不向第二终端进行发送,而是由第二终端通过第二共享密钥和单向陷门函数进行计算,以减少服务器与终端之间通信数据量,并且减少第二终端对于共享密钥的存储空间,第二终端对共享数据进行解密时实时判断并计算共享密钥,从而提高了共享密钥的处理效率。
S506:第二终端根据S503中接收到的共享数据的信息向数据存储服务器请求共享数据。
S507:数据存储服务器向第二终端发送所请求的、第一用户上传的共享数据的密文,以及加密共享数据所使用的共享密钥的标识信息。
S508:由于第一终端的用户所共享的数据的共享用户的关系发生变化前后共享数据由不同的共享密钥进行加密,共享数据的共享用户的终端接收到共享数据后需要使用正确的共享密钥进行解密。其中,第二用户使用的第二终端获取到数据存储服务器中第一终端上传的共享数据时,通过标识信息知道该共享数据是第一终端在哪一批次的共享密钥,从而使用与标识信息对应的共享密钥对共享数据进行解密。例如:第一终端在第一用户改变共享用户的关系前,对通过第一共享密钥加密的共享数据都携带第一共享密钥的标识信息如数字“1”,在第一用户改变共享用户的关系并更新共享密钥后,对通过第二共享密钥加密的共享数据都携带第二共享密钥的标识信息如数字“2”。使得第二终端接收到标识信息为“1”的共享数据后,与最新接收的第二共享密钥的标识信息“2”进行比对,结果显示共享数据所使用的共享密钥标识信息比第二共享密钥的标识信息小1,即需要将第二共享密钥通过单向陷门函数向前推算一次得到第一共享密钥后,通过第一共享密钥解密得到共享数据。若第二终端接收到标识信息为“2”的共享数据后,与最新接收的第二共享密钥的标识信息“2”进行比对相同,则不用计算共享密钥,直接使用第二共享密钥对共享数据进行解密。需要说明的是,本实施例中第一共享密钥到第二共享密钥之间通过一次更新计算进行举例,实际使用时通过第一终端上传共享数据用户可能会在上传共享数据的过程中进行多次共享关系的更改,第一共享密钥会经过多次单向陷门函数的计算后才获得第二共享密钥,而第二终端通过第二共享密钥也会执行多次单向陷门函数的计算才能获得第一共享密钥,其计算方式及原理与上述实施例相同,不再赘述。
S509:第二终端根据第一共享密钥解密共享数据的密文得到共享数据的明文数据。
S5010:第二终端向第二用户呈现获取的共享数据。至此第二用户使用第二终端完成第一用户的共享数据密文的获取、共享密钥的更新及共享数据的解密最终得到共享数据的密文。
结合上述各实施例,本申请提供的一种共享数据处理方法,通过共享密钥将终端上传服务器的共享数据进行加密,确保共享数据离开终端即加密,确保了共享数据从端到端的安全。并且在共享数据的共享用户关系变化时,通过单向陷门函数对共享密钥进行更新,以使被撤销共享权限的用户即使通过其他途径获取到新的共享数据也无法进行解密,从而通过更新用于加密共享数据的共享密钥,进一步地提高了共享数据的安全性。
图7为本申请通信装置实施例的结构示意图。如图7所示,本实施例中的终端70包括:获取模块701,发送模块702和处理模块703。其中,获取模块701用于获取第一用户指定的第一共享数据;发送模块702用于向数据存储服务器发送第一标识信息和通过第一共享密钥加密的第一共享数据,其中,第一标识信息用于标识第一共享密钥;处理模块703用于若检测到第一用户指定的共享群组内的共享用户发生变化,根据第一共享密钥计算第二共享密钥,其中,共享群组内的共享用户所绑定的终端有权从数据存储服务器中获取第一用户的共享数据;获取模块701还用于,获取第一用户指定的第二共享数据;处理模块703还用于,向数据存储服务器发送第二标识信息和通过第二共享密钥加密的第二共享数据,其中,第二标识信息用于标识第二共享密钥。
可选地,在上述实施例中,处理模块703具体用于,若检测到第一用户指定的共享群组内的共享用户发生变化,通过单向函数以第一共享密钥为输入,计算输出第二共享密钥。
可选地,在上述实施例中,单向函数为单向陷门函数,第一终端拥有单向陷门函数的陷门;
处理模块703具体用于,若检测到第一用户指定的共享群组内的共享用户发生变化,通过单向陷门函数以第一共享密钥和陷门为输入,计算输出第二共享密钥。
可选地,在上述实施例中,第一标识信息为第一终端计算第一共享密钥时累计使用单向陷门函数的次数信息;第二标识信息为第一终端计算第二共享密钥时累计使用单向陷门函数的次数信息。
可选地,在上述实施例中,第一用户指定的共享群组内的共享用户发生变化,包括:第一用户对共享群组内的共享用户进行删除或替换操作。
图7所示实施例的通信装置可用于执行上述方法实施例的技术方案,其实现原理和技术效果类似,此处不再赘述。
应理解以上通信装置的各个模块的划分仅仅是一种逻辑功能的划分,实际实现时可以全部或部分集成到一个物理实体上,也可以物理上分开。且这些模块可以全部以软件通过处理元件调用的形式实现;也可以全部以硬件的形式实现;还可以部分模块以软件通过处理元件调用的形式实现,部分模块通过硬件的形式实现。例如,控制模块可以为单独设立的处理元件,也可以集成在通信装置,例如终端设备的某一个芯片中实现,此外,也可以以程序的形式存储于通信装置的存储器中,由通信装置的某一个处理元件调用并执行以上各个模块的功能。其它模块的实现与之类似。此外这些模块全部或部分可以集成在一起,也可以独立实现。这里所述的处理元件可以是一种集成电路,具有信号的处理能力。在实现过程中,上述方法的各步骤或以上各个模块可以通过处理器元件中的硬件的集成逻辑电路或者软件形式的指令完成。
例如,以上这些模块可以是被配置成实施以上方法的一个或多个集成电路,例如:一个或多个特定集成电路(Application Specific Integrated Circuit,ASIC),或,一个或多个微处理器(digital singnal processor,DSP),或,一个或者多个现场可编程门阵列(Field Programmable Gate Array, FPGA)等。再如,当以上某个模块通过处理元件调度程序的形式实现时,该处理元件可以是通用处理器,例如中央处理器(Central ProcessingUnit,CPU)或其它可以调用程序的处理器。再如,这些模块可以集成在一起,以片上系统(system-on-a-chip,SOC)的形式实现。
图8为本申请通信装置实施例的结构示意图。如图8所示,本实施例中的通信装置80包括:获取模块801和处理模块802。其中,获取模块801用于获取第二共享密钥,其中,第二共享密钥为若检测到第一用户指定的共享群组内的共享用户发生变化,第一用户绑定的第一终端根据第一共享密钥计算得到第二共享密钥,第一共享密钥用于第一终端加密第一用户在指定的第一共享数据,第二共享密钥用于第一终端加密第一用户指定的第二共享数据,共享群组内的共享用户所绑定的终端有权从数据存储服务器中获取第一用户的共享数据;获取模块801还用于,接收数据存储服务器发送的第一标识信息和通过第一共享密钥加密的第一共享数据,其中,第一标识信息用于标识第一共享密钥;处理模块802用于根据第二共享密钥和第一标识信息计算第一共享密钥;处理模块802还用于,根据第一共享密钥解密第一共享数据。
可选地,在上述实施例中,处理模块802具体用于,通过单向函数以第二共享密钥和第一标识信息为输入,计算输出第一共享密钥。
可选地,在上述实施例中,单向函数为单向陷门函数,第一终端拥有单向陷门函数的陷门。
可选地,在上述实施例中,第一标识信息为第一终端计算第一共享密钥时累计使用单向陷门函数的次数信息;第二标识信息为第一终端计算第二共享密钥时累计使用单向陷门函数的次数信息。
图8所示实施例的通信装置可用于执行上述方法实施例的技术方案,其实现原理和技术效果类似,此处不再赘述。
应理解以上通信装置的各个模块的划分仅仅是一种逻辑功能的划分,实际实现时可以全部或部分集成到一个物理实体上,也可以物理上分开。且这些模块可以全部以软件通过处理元件调用的形式实现;也可以全部以硬件的形式实现;还可以部分模块以软件通过处理元件调用的形式实现,部分模块通过硬件的形式实现。例如,控制模块可以为单独设立的处理元件,也可以集成在通信装置,例如终端设备的某一个芯片中实现,此外,也可以以程序的形式存储于通信装置的存储器中,由通信装置的某一个处理元件调用并执行以上各个模块的功能。其它模块的实现与之类似。此外这些模块全部或部分可以集成在一起,也可以独立实现。这里所述的处理元件可以是一种集成电路,具有信号的处理能力。在实现过程中,上述方法的各步骤或以上各个模块可以通过处理器元件中的硬件的集成逻辑电路或者软件形式的指令完成。
例如,以上这些模块可以是被配置成实施以上方法的一个或多个集成电路,例如:一个或多个特定集成电路(Application Specific Integrated Circuit,ASIC),或,一个或多个微处理器(digital singnal processor,DSP),或,一个或者多个现场可编程门阵列(Field Programmable Gate Array, FPGA)等。再如,当以上某个模块通过处理元件调度程序的形式实现时,该处理元件可以是通用处理器,例如中央处理器(Central ProcessingUnit,CPU)或其它可以调用程序的处理器。再如,这些模块可以集成在一起,以片上系统(system-on-a-chip,SOC)的形式实现。
图9为本申请终端设备实施例的结构示意图。如图9所示,终端设备90包括:处理器901,存储器902和接口903。其中,存储器902用于存储计算机程序;处理器901调用所述计算机程序,当计算机程序被执行时,用于执行以下操作:获取第一用户在指定的第一共享数据;向数据存储服务器发送第一标识信息和通过第一共享密钥加密的第一共享数据,其中,第一标识信息用于标识第一共享密钥;若检测到第一用户指定的共享群组内的共享用户发生变化,根据第一共享密钥计算第二共享密钥,其中,共享群组内的共享用户所绑定的终端有权从数据存储服务器中获取第一用户的共享数据;获取第一用户指定的第二共享数据;向数据存储服务器发送第二标识信息和通过第二共享密钥加密的第二共享数据,其中,第二标识信息用于标识第二共享密钥。
可选地,可选地,在上述实施例中,处理器901具体用于若检测到第一用户指定的共享群组内的共享用户发生变化,通过单向函数以第一共享密钥为输入,计算输出第二共享密钥。
可选地,在上述实施例中,单向函数为单向陷门函数,第一终端拥有单向陷门函数的陷门;
处理器901具体用于,若检测到第一用户指定的共享群组内的共享用户发生变化,通过单向陷门函数以第一共享密钥和陷门为输入,计算输出第二共享密钥。
可选地,在上述实施例中,第一标识信息为第一终端计算第一共享密钥时累计使用单向陷门函数的次数信息;第二标识信息为第一终端计算第二共享密钥时累计使用单向陷门函数的次数信息。
可选地,在上述实施例中,第一用户指定的共享群组内的共享用户发生变化,包括:第一用户对共享群组内的共享用户进行删除或替换操作。
该存储器902用于存储实现以上方法实施例,或者图7所示实施例各个模块的程序,处理器901调用该程序,执行以上方法实施例的操作,以实现图7所示的各个模块。
或者,以上各个模块的部分或全部也可以通过集成电路的形式内嵌于该终端设备的某一个芯片上来实现。且它们可以单独实现,也可以集成在一起。即以上这些模块可以被配置成实施以上方法的一个或多个集成电路,例如:一个或多个特定集成电路(Application Specific Integrated Circuit,ASIC),或,一个或多个微处理器(digitalsingnal processor,DSP),或,一个或者多个现场可编程门阵列(Field ProgrammableGate Array, FPGA)等。
图10为本申请终端设备实施例的结构示意图。如图10所示,终端设备100包括:处理器1001,存储器1002和接口1003。其中,存储器1002用于存储计算机程序;处理器1001调用所述计算机程序,当计算机程序被执行时,用于执行以下操作:获取第二共享密钥,其中,第二共享密钥为若检测到第一用户指定的共享群组内的共享用户发生变化,第一用户绑定的第一终端根据第一共享密钥计算得到第二共享密钥,第一共享密钥用于第一终端加密第一用户指定的第一共享数据,第二共享密钥用于第一终端加密第一用户指定的第二共享数据,共享群组内的共享用户所绑定的终端有权从数据存储服务器中获取第一用户的共享数据;接收数据存储服务器发送的第一标识信息和通过第一共享密钥加密的第一共享数据,其中,第一标识信息用于标识第一共享密钥;根据第二共享密钥和第一标识信息计算第一共享密钥;根据第一共享密钥解密第一共享数据。
可选地,在上述实施例中,处理器1001具体用于,通过单向函数以第二共享密钥和第一标识信息为输入,计算输出第一共享密钥。
可选地,在上述实施例中,单向函数为单向陷门函数,第一终端拥有单向陷门函数的陷门。
可选地,在上述实施例中,第一标识信息为第一终端计算第一共享密钥时累计使用单向陷门函数的次数信息;第二标识信息为第一终端计算第二共享密钥时累计使用单向陷门函数的次数信息。
该存储器1002用于存储实现以上方法实施例,或者图8所示实施例各个模块的程序,处理器1001调用该程序,执行以上方法实施例的操作,以实现图8所示的各个模块。
或者,以上各个模块的部分或全部也可以通过集成电路的形式内嵌于该终端设备的某一个芯片上来实现。且它们可以单独实现,也可以集成在一起。即以上这些模块可以被配置成实施以上方法的一个或多个集成电路,例如:一个或多个特定集成电路(Application Specific Integrated Circuit,ASIC),或,一个或多个微处理器(digitalsingnal processor,DSP),或,一个或者多个现场可编程门阵列(Field ProgrammableGate Array, FPGA)等。
图11为本申请终端设备实施例的结构示意图。如图11所示,该终端设备具体可以是手机,如图11所示,手机11包括:射频(Radio Frequency,RF)电路110、电源120、处理器130、存储器140、输入单元150、显示单元160、传感器170、音频电路180、以及无线保真(wireless fidelity,WIFI)模块190等部件。可以理解,图11中示出的手机结构并不构成对手机的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。本申请涉及的主要部件包括射频电路110、处理器130、无线模块190以及运行于处理器130上的操作系统上的软件设计。下面结合图11对手机11的各个构成部件进行具体的介绍。
射频电路110可用于收发信息或通话过程中信号的接收和发送,例如,射频电路110接收基站的下行信息后,将该下行信息传输给处理器130,处理器130对该下行信息进行处理;此外,射频电路110还可以通过无线通信与网络和其他设备通信。一方面,图11中的手机11可以作为上述实施例中的第一终端,通过射频电路110向数据存储服务器发送第一标识信息和通过第一共享密钥加密的第一共享数据,或者通过射频电路110向数据存储服务器发送第二标识信息和通过第二共享密钥加密的第二共享数据。另一方面,图11中的手机11可以作为上述实施例中的第二终端,通过射频电路110接收数据存储服务器发送的第一标识信息和通过第一共享密钥加密的第一共享数据。
存储器140可用于存储软件程序以及模块,处理器130通过运行存储在存储器140的软件程序、模块以及操作系统固件代码等,从而执行手机11的各种功能应用以及数据处理,如上述实施例通信装置中获取模块、发送模块和处理模块等功能的执行。存储器140可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如网络访问功能、共享数据展示功能等)等;存储数据区可存储根据手机11的使用所创建的数据(比如共享数据、共享密钥等)等。此外,存储器140可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。
输入单元150可用于接收输入的数字或字符信息,以及产生与手机11的用户设置以及功能控制有关的键信号输入。
显示单元160可用于显示由用户输入的信息或提供给用户的信息以及手机11的各种菜单。显示单元160可包括显示面板161,可选的,可以采用LCD、OLED等形式来配置显示面板161。进一步的,触控面板151可覆盖显示面板161,当触控面板151检测到在其上或附近的触摸操作后,传送给处理器130以确定触摸事件的类型,随后处理器130根据触摸事件的类型在显示面板161上提供相应的视觉输出。
处理器130是手机11的控制中心,利用各种接口和线路连接整个手机的各个部分,通过运行或执行存储在存储器140内的软件程序和/或模块,以及调用存储在存储器140内的数据,执行手机11的各种功能和处理数据,从而实现基于手机的多种业务。
具体地,一方面,图11中的手机11可以作为上述实施例中的第一终端,手机11的处理器130通过显示单元160向用户展示的共享数据的界面与菜单,用户可以通过输入单元150指定第一共享数据,当输入单元150的输入信号传入到处理器130,处理器130对进行数据处理后下发命令,控制射频电路110向数据存储服务器发送经过第一共享密钥加密的第一共享数据。用户还可以通过输入单元150指定共享群组内的共享用户发生变化。则输入单元150的输入信号传入到处理器130,处理器130对第一共享密钥进行更新得到第二共享密钥。用户还可通过输入单元150指定第二共享数据,当输入单元150的输入信号传入到处理器130,处理器130对进行数据处理后下发命令,控制射频电路110向数据存储服务器发送经过第二共享密钥加密的第二共享数据。用户指定的第一共享数据和第二共享数据可以是存储器140中存储的数据。
另一方面,图11中的手机及101可以作为上述实施例中的第二终端,通过射频电路110接收数据存储服务器发送的第一标识信息和第一共享密钥加密的第一共享数据,处理器130根据第二共享密钥和第一标识信息计算第一共享密钥后,通过第一共享密钥解密第一共享数据。处理器130还可以对进行数据处理后下发命令控制显示单元160向用户展示第一共享数据。处理器103可以通过射频电路110接收服务器发送的第二共享密钥,或者处理器103从存储器140中读取第二共享密钥。
WIFI属于短距离无线传输技术,手机11通过WIFI模块190可以帮助用户收发电子邮件、浏览网页和访问流式媒体等,它为用户提供了无线的宽带互联网访问。虽然图11示出了WIFI模块190,但是可以理解的是,其并不属于手机11的必须构成,完全可以根据需要在不改变发明的本质的范围内而省略。
手机11还包括给各个部件供电的电源120(比如电池),该电源可以通过电源管理系统与处理器130逻辑相连,从而通过该电源管理系统实现管理充电、放电、以及功耗等功能。尽管未示出,手机11还可以包括摄像头、蓝牙模块等,在此不再赘述。
图11所示实施例的终端可用于执行上述各方法实施例的技术方案,其实现原理和技术效果类似,此处不再赘述。
另外,本申请实施例还提供一种计算机可读存储介质,该计算机可读存储介质中存储有计算机程序,当其在计算机上运行时,使得计算机执行上述实施例所述的网络切换方法。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本申请所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线)或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘,SolidState Disk)等。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。

Claims (20)

1.一种共享数据处理方法,其特征在于,包括:
第一终端获取第一用户指定的第一共享数据;
所述第一终端向数据存储服务器发送第一标识信息和通过第一共享密钥加密的所述第一共享数据,其中,所述第一标识信息用于标识所述第一共享密钥;
若检测到所述第一用户指定的共享群组内的共享用户发生变化,所述第一终端根据所述第一共享密钥计算第二共享密钥,并向共享群组内的共享用户对应的第二终端广播加密的第二共享密钥,其中,所述共享群组内的共享用户所绑定的终端有权从所述数据存储服务器中获取所述第一用户的共享数据;
所述第一终端获取所述第一用户指定的第二共享数据;
所述第一终端向所述数据存储服务器发送第二标识信息和通过所述第二共享密钥加密的所述第二共享数据,其中,所述第二标识信息用于标识所述第二共享密钥。
2.根据权利要求1所述的方法,其特征在于,所述第一终端根据所述第一共享密钥计算第二共享密钥,包括:
所述第一终端通过单向函数以所述第一共享密钥为输入,计算输出所述第二共享密钥。
3.根据权利要求2所述的方法,其特征在于,所述单向函数为单向陷门函数,所述第一终端拥有所述单向陷门函数的陷门;
所述第一终端通过单向函数以所述第一共享密钥为输入计算输出所述第二共享密钥,包括:
所述第一终端通过所述单向陷门函数以所述第一共享密钥和所述陷门为输入,计算输出所述第二共享密钥。
4.根据权利要求3所述的方法,其特征在于,
所述第一标识信息为所述第一终端计算所述第一共享密钥时累计使用所述单向陷门函数的次数信息;
所述第二标识信息为所述第一终端计算所述第二共享密钥时累计使用所述单向陷门函数的次数信息。
5.根据权利要求1-4任一项所述的方法,其特征在于,所述第一用户指定的共享群组内的共享用户发生变化,包括:
所述第一用户对所述共享群组内的共享用户进行删除或替换操作。
6.一种共享数据处理方法,其特征在于,包括:
第二终端获取第一终端广播加密的第二共享密钥,其中,所述第二共享密钥为若检测到第一用户指定的共享群组内的共享用户发生变化,所述第一用户绑定的第一终端根据第一共享密钥计算得到所述第二共享密钥,所述第一共享密钥用于所述第一终端加密所述第一用户指定的第一共享数据,所述第二共享密钥用于所述第一终端加密第一用户指定的第二共享数据,所述共享群组内的共享用户所绑定的终端有权从所述数据存储服务器中获取所述第一用户的共享数据;
第二终端接收数据存储服务器发送的第一标识信息和通过第一共享密钥加密的第一共享数据,其中,所述第一标识信息用于标识所述第一共享密钥;
所述第二终端根据所述第二共享密钥和所述第一标识信息计算所述第一共享密钥;
所述第二终端根据所述第一共享密钥解密所述第一共享数据。
7.根据权利要求6所述的方法,其特征在于,所述第二终端根据第二共享密钥和所述第一标识信息计算所述第一共享密钥,包括:
所述第二终端通过单向函数以所述第二共享密钥和所述第一标识信息为输入,计算输出所述第一共享密钥。
8.根据权利要求7所述的方法,其特征在于,所述单向函数为单向陷门函数,所述第一终端拥有所述单向陷门函数的陷门。
9.根据权利要求8所述的方法,其特征在于,
所述第一标识信息为所述第一终端计算所述第一共享密钥时累计使用所述单向陷门函数的次数信息;
第二标识信息为所述第一终端计算所述第二共享密钥时累计使用所述单向陷门函数的次数信息。
10.一种通信装置,其特征在于,所述通信装置包括:
获取模块,用于获取第一用户指定的第一共享数据;
发送模块,用于向数据存储服务器发送第一标识信息和通过第一共享密钥加密的所述第一共享数据,其中,所述第一标识信息用于标识所述第一共享密钥;
处理模块,用于若检测到所述第一用户指定的共享群组内的共享用户发生变化,根据所述第一共享密钥计算第二共享密钥,并向共享群组内的共享用户对应的第二终端广播加密的第二共享密钥,其中,所述共享群组内的共享用户所绑定的终端有权从所述数据存储服务器中获取所述第一用户的共享数据;
所述获取模块还用于,获取所述第一用户指定的第二共享数据;
所述处理模块还用于,向所述数据存储服务器发送第二标识信息和通过所述第二共享密钥加密的所述第二共享数据,其中,所述第二标识信息用于标识所述第二共享密钥。
11.根据权利要求10所述的通信装置,其特征在于,所述处理模块具体用于,
若检测到所述第一用户指定的共享群组内的共享用户发生变化,通过单向函数以所述第一共享密钥为输入,计算输出所述第二共享密钥。
12.根据权利要求11所述的通信装置,其特征在于,所述单向函数为单向陷门函数,第一终端拥有所述单向陷门函数的陷门;
所述处理模块具体用于,若检测到所述第一用户指定的共享群组内的共享用户发生变化,通过所述单向陷门函数以所述第一共享密钥和所述陷门为输入,计算输出所述第二共享密钥。
13.根据权利要求12所述的通信装置,其特征在于,
所述第一标识信息为所述第一终端计算所述第一共享密钥时累计使用所述单向陷门函数的次数信息;
所述第二标识信息为所述第一终端计算所述第二共享密钥时累计使用所述单向陷门函数的次数信息。
14.根据权利要求10-13任一项所述的通信装置,其特征在于,所述第一用户指定的共享群组内的共享用户发生变化,包括:
所述第一用户对所述共享群组内的共享用户进行删除或替换操作。
15.一种通信装置,其特征在于,所述通信装置包括:
获取模块,用于获取第一终端广播加密的第二共享密钥,其中,所述第二共享密钥为若检测到第一用户指定的共享群组内的共享用户发生变化,所述第一用户绑定的第一终端根据第一共享密钥计算得到所述第二共享密钥,所述第一共享密钥用于所述第一终端加密所述第一用户指定的第一共享数据,所述第二共享密钥用于所述第一终端加密第一用户指定的第二共享数据,所述共享群组内的共享用户所绑定的终端有权从所述数据存储服务器中获取所述第一用户的共享数据;
所述获取模块还用于,接收数据存储服务器发送的第一标识信息和通过第一共享密钥加密的第一共享数据,其中,所述第一标识信息用于标识所述第一共享密钥;
处理模块,用于根据所述第二共享密钥和所述第一标识信息计算所述第一共享密钥;
所述处理模块还用于,根据所述第一共享密钥解密所述第一共享数据。
16.根据权利要求15所述的通信装置,其特征在于,所述处理模块具体用于,
通过单向函数以所述第二共享密钥和所述第一标识信息为输入,计算输出所述第一共享密钥。
17.根据权利要求16所述的通信装置,其特征在于,所述单向函数为单向陷门函数,所述第一终端拥有所述单向陷门函数的陷门。
18.根据权利要求17所述的通信装置,其特征在于,
所述第一标识信息为所述第一终端计算所述第一共享密钥时累计使用所述单向陷门函数的次数信息;
第二标识信息为所述第一终端计算所述第二共享密钥时累计使用所述单向陷门函数的次数信息。
19.一种通信设备,其特征在于,包括:
接口和处理器,所述接口和处理器耦合;
所述处理器用于执行权利要求1-9任一项所述的方法。
20.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机程序,当其在计算机上运行时,使得计算机执行如权利要求1-9任一项所述的方法。
CN201880077309.7A 2018-03-28 2018-04-20 共享数据处理方法、通信装置及通信设备 Active CN111418181B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
CN2018102669901 2018-03-28
CN201810266990 2018-03-28
PCT/CN2018/083979 WO2019184027A1 (zh) 2018-03-28 2018-04-20 共享数据处理方法、通信装置及通信设备

Publications (2)

Publication Number Publication Date
CN111418181A CN111418181A (zh) 2020-07-14
CN111418181B true CN111418181B (zh) 2021-09-07

Family

ID=68059155

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201880077309.7A Active CN111418181B (zh) 2018-03-28 2018-04-20 共享数据处理方法、通信装置及通信设备

Country Status (2)

Country Link
CN (1) CN111418181B (zh)
WO (1) WO2019184027A1 (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114884939A (zh) * 2022-05-07 2022-08-09 中国银行股份有限公司 屏幕共享方法、装置及系统
CN116015649A (zh) * 2022-12-27 2023-04-25 美的集团股份有限公司 密钥更新方法、装置、电子设备和计算机可读存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104901798A (zh) * 2014-03-05 2015-09-09 罗伯特·博世有限公司 用于撤销证书组的方法
CN104917787A (zh) * 2014-03-11 2015-09-16 中国电信股份有限公司 基于群组密钥的文件安全共享方法和系统
CN105933345A (zh) * 2016-06-28 2016-09-07 电子科技大学 一种基于线性秘密共享的可验证外包属性基加密方法
CN107135062A (zh) * 2017-05-08 2017-09-05 桂林电子科技大学 一种改进的大文件的加密方法

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101626370B (zh) * 2008-07-07 2012-06-20 华为技术有限公司 节点间密钥的分配方法、系统及设备
CN104219663A (zh) * 2013-05-30 2014-12-17 江苏大学 一种对车辆身份进行认证的方法和系统
CN106998252B (zh) * 2017-05-18 2019-10-25 西安电子科技大学 基于云数据库的轻量级rfid群组标签认证方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104901798A (zh) * 2014-03-05 2015-09-09 罗伯特·博世有限公司 用于撤销证书组的方法
CN104917787A (zh) * 2014-03-11 2015-09-16 中国电信股份有限公司 基于群组密钥的文件安全共享方法和系统
CN105933345A (zh) * 2016-06-28 2016-09-07 电子科技大学 一种基于线性秘密共享的可验证外包属性基加密方法
CN107135062A (zh) * 2017-05-08 2017-09-05 桂林电子科技大学 一种改进的大文件的加密方法

Also Published As

Publication number Publication date
CN111418181A (zh) 2020-07-14
WO2019184027A1 (zh) 2019-10-03

Similar Documents

Publication Publication Date Title
US10084788B2 (en) Peer to peer enterprise file sharing
US9882909B2 (en) System and method for application usage controls through policy enforcement
RU2595904C2 (ru) Способы и устройство для крупномасштабного распространения электронных клиентов доступа
US9602474B2 (en) Controlling mobile device access to secure data
US10015665B2 (en) Methods for provisioning universal integrated circuit cards
KR102231948B1 (ko) 프로파일 관리서버의 업데이트 방법 및 장치
US20180139612A1 (en) A method for controlling remotely the permissions and rights of a target secure element
US20130067232A1 (en) METHOD AND SYSTEM FOR CREDENTIAL MANAGEMENT AND DATA ENCRYPTION FOR iOS BASED DEVICES
US9524380B2 (en) Secure element-centric digital rights management
US20130227279A1 (en) Method of operating a computing device, computing device and computer program
CN104903861B (zh) 剪贴板管理
US9584508B2 (en) Peer to peer enterprise file sharing
US9571288B2 (en) Peer to peer enterprise file sharing
CN112425130A (zh) 使用与装置相关联的身份数据来将通信引导至另一装置
US10896263B2 (en) Method and system for securely controlling access to data
KR102014108B1 (ko) eUICC 기기에 SIM 프로파일을 제공하기 위한 방법 및 RSP 서버 장치
CN107852603A (zh) 终端认证的方法及设备
CN111418181B (zh) 共享数据处理方法、通信装置及通信设备
WO2014169802A1 (zh) 终端、网络侧设备、终端应用控制方法及系统
CN110392076B (zh) 一种车辆到任意v2x通信的方法、装置及存储介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant