发明内容
本发明实施例中提供了一种数据共享的方法及装置,以解决现有技术中用户不能安全方便的访问云端服务器上的数据的技术问题。
为了解决上述技术问题,本发明实施例公开了如下技术方案:
第一方面提供了一种数据共享的方法,包括:
接收第二用户通过统一资源定位符URL请求第一用户的共享文件的用户密钥,其中,所述第二用户为所述第一用户通过信任中心授权访问所述共享文件的合法用户;所述共享文件为利用所述用户密钥加密后的共享文件;
根据所述URL从云端服务器中获取对应的所述共享文件的文件描述;其中,所述文件描述为利用所述信任中心的公钥加密所述用户密钥后的文件描述;
利用所述信任中心的所述公钥对应的私钥解密所述文件描述,得到所述第一用户的所述用户密钥;
将所述用户密钥发送给所述第二用户。
在第一方面的第一种可能的实现方式中,所述根据所述URL从云端服务器中获取所述共享文件的文件描述,还包括:
获取与所述URL对应的所述共享文件;
利用所述用户密钥解密获取的所述共享文件,得到所述第一用户的原共享文件;
利用临时密钥加密所述原共享文件,得到临时文件;
将所述临时文件上传到所述云端服务器中,并获得所述云端服务器下发的与所述临时文件对应的临时URL;
所述将用户密钥发送给所述第二用户,具体包括:
将所述临时URL及临时密钥发送给所述第二用户。
第二方面提供了一种数据共享的方法,所述方法包括:
利用用户密钥对要上传到云端服务器的文件进行加密,得到加密后的共享文件,并使用信任中心的公钥对所述用户密钥进行加密,并将加密后的用户密钥作为文件描述;
将加密后的所述共享文件和文件描述上传到所述云端服务器;
接收所述云端服务器发送的所述共享文件对应的统一资源定位符URL;
通过所述信任中心授权第二用户访问所述共享文件;
将所述URL发送给所述第二用户;以便于所述第二用户根据所述URL获取所述用户密钥;并利用所述用户密钥解密所述共享文件。
在第二方面的第一种可能的实现方式中,
所述第二用户根据所述URL获取所述共享文件以及所述用户密钥;并利用所述用户密钥解密所述共享文件,具体包括:
所述第二用户根据所述URL从所述信任中心获取所述共享文件的所述用户密钥,以及从所述云端服务器获取所述共享文件,并利用所述用户密钥解密所述共享文件。
结合第二方面或第二方面第一种可能的实现方式,在第二种可能的实现方式中,
所述第二用户根据所述URL获取所述共享文件以及所述用户密钥;并利用所述用户密钥解密所述共享文件,具体包括:
所述第二用户向所述信任中心请求所述URL对应的所述共享文件的所述用户密钥;
接收所述信任中心响应所述请求发送的临时URL和临时密钥;其中,所述临时密钥是信任中心对获得的所述共享文件解密后进行重新加密的密钥,所述临时URL是云端服务器返回临时文件对应的URL,其中,所述临时文件为所述信任中心利用所述临时密钥对获得所述共享文件解密后重新加密后的文件;
向云端服务器获取所述临时URL对应的临时文件;
利用所述临时密钥对所述临时文件进行解密。
第三方面提供了一种数据共享的方法,所述方法包括:
接收第一用户发送的共享文件及对应的文件描述;其中,所述共享文件为利用第一用户的用户密钥加密后的共享文件;所述文件描述为利用信任中心的公钥加密用户密钥后的文件描述;
存储所述共享文件及对应的文件描述;
向所述第一用户发送存储所述共享文件对应的统一资源定位符URL;
接收信任中心发送的获取所述URL对应的文件描述的请求;
向所述信任中心发送包括所述文件描述的响应;以便于所述信任中心利用所述公钥对应的私钥解密所述文件描述,得到所述用户密钥,以及所述信任中心将所述用户密钥发送给第二用户;
接收第二用户发送请求所述URL对应的共享文件;所述第二用户为所述第一用户通过所述信任中心授权访问所述共享文件的用户;
向所述第二用户发送所述URL对应的共享文件,以便于所述第二用户根据接收到的所述用户密钥解密所述共享文件。
第四方面提供了一种数据共享的方法,所述方法包括:
接收第一用户发送的共享文件及对应的文件描述;其中,所述共享文件为利用第一用户的用户密钥加密后的共享文件;所述文件描述为利用信任中心的公钥加密用户密钥后的文件描述;
存储所述共享文件及对应的文件描述;
向所述第一用户发送存储所述共享文件和对应的文件描述对应的统一资源定位符URL;
接收信任中心发送的获取所述URL对应的共享文件和文件描述的请求;
向所述信任中心发送包括所述共享文件和文件描述的响应;以便于所述信任中心利用所述公钥对应的私钥解密所述文件描述,得到所述用户密钥,并利用所述用户密钥解密所述共享文件后利用临时密钥重新加密,得到临时文件;
接收所述信任中心发送的临时文件;
存储所述临时文件;
向所述信任中心发送存储所述临时文件对应的临时URL;以便于所述信任中心将所述临时密钥和临时URL发送给第二用户;
接收所述第二用户发送的获取所述临时URL对应的临时文件的请求;
向所述第二用户发送包括所述临时文件的响应,以便于所述第二用户根据所述临时密钥解密所述临时文件。
第五方面提供了一种数据共享的装置,包括:
第一接收单元,用于接收第二用户通过统一资源定位符URL请求第一用户的共享文件的用户密钥,其中,所述第二用户为所述第一用户通过信任中心授权访问所述共享文件的合法用户;所述共享文件为利用所述第一用户的用户密钥加密后的共享文件;
获取单元,用于根据所述URL从云端服务器中获取对应的所述共享文件的文件描述;其中,所述文件描述为利用所述信任中心的公钥加密所述用户密钥后的文件描述;
第一解密单元,用于利用所述信任中心的所述公钥对应的私钥解密所述文件描述,得到所述第一用户的用户密钥;
第一发送单元,用于将所述用户密钥发送给所述第二用户。
在第五方面的第一种可能的实现方式中,
所述获取单元还用于:在根据所述URL从云端服务器中获取所述共享文件的文件描述时,还获取与所述URL对应的所述共享文件;所述装置还包括:
第二解密单元,用于利用所述第一解密单元得到的所述用户密钥解密获取的所述共享文件,得到第一用户的原共享文件;
加密单元,用于利用临时密钥加密所述原共享文件,得到临时文件;
第二发送单元,用于将所述临时文件上传到所述云端服务器中;
第二接收单元,用于所述云端服务器下发的与所述临时文件对应的临时URL;
所述第一发送单元,还用于将所述临时URL及临时密钥发送给所述第二用户。
第六方面提供了一种数据共享的装置,包括:
加密单元,用于利用用户密钥对要上传到云端服务器的文件进行加密,得到加密后的共享文件,并使用信任中心的公钥对所述用户密钥进行加密,并将加密后的用户密钥作为文件描述;
第一发送单元,用于将加密后的所述共享文件和文件描述上传到所述云端服务器;
第一接收单元,用于接收所述云端服务器发送的所述共享文件对应的统一资源定位符URL;
授权单元,用于通过所述信任中心授权第二用户访问所述共享文件;
第二发送单元,用于将所述URL发送给所述第二用户;以便于所述第二用户根据所述URL获取所述共享文件以及所述用户密钥;并利用所述用户密钥解密所述共享文件。
第七方面提供了一种数据共享的装置,包括:
第一接收单元,用于接收第一用户发送的共享文件及对应的文件描述;其中,所述共享文件为利用第一用户的用户密钥加密后的共享文件;所述文件描述为利用信任中心的公钥加密用户密钥后的文件描述;
存储单元,用于存储所述共享文件及对应的文件描述;
第一发送单元,用于向所述第一用户发送存储所述共享文件对应的统一资源定位符URL;
第二接收单元,用于接收信任中心发送的获取所述URL对应的文件描述的请求;
第二发送单元,用于向所述信任中心发送包括所述文件描述的响应;以便于所述信任中心利用所述公钥对应的私钥解密所述文件描述,得到所述用户密钥,以及所述信任中心将所述用户密钥发送给第二用户;
第三接收单元,用于接收第二用户发送请求所述URL对应的共享文件;所述第二用户为所述第一用户通过所述信任中心授权访问所述共享文件的用户;
第三发送单元,用于向所述第二用户发送所述URL对应的共享文件,以便于所述第二用户根据接收到的所述用户密钥解密所述共享文件。
第八方面提供了一种数据共享的装置,包括:
第一接收单元,用于接收第一用户发送的共享文件及对应的文件描述;其中,所述共享文件为利用第一用户的用户密钥加密后的共享文件;所述文件描述为利用信任中心的公钥加密用户密钥后的文件描述;
第一存储单元,用于存储所述共享文件及对应的文件描述;
第一发送单元,用于向所述第一用户发送存储所述共享文件和文件描述对应的统一资源定位符URL;
第二接收单元,用于接收信任中心发送的获取所述URL对应的共享文件和文件描述的请求;
第二发送单元,用于向所述信任中心发送包括所述共享文件和文件描述的响应;以便于所述信任中心利用所述公钥对应的私钥解密所述文件描述,得到所述用户密钥,并利用所述用户密钥解密所述共享文件后利用临时密钥重新加密,得到临时文件;
第三接收单元,用于接收所述信任中心发送的临时文件;
第二存储单元,用于存储所述临时文件;
第三发送单元,用于向所述信任中心发送存储所述临时文件对应的临时URL;以便于所述信任中心将所述临时密钥和临时URL发送给第二用户;
第四接收单元,用于接收所述第二用户发送的获取所述临时URL对应的临时文件的请求;
第四发送单元,用于向所述第二用户发送包括所述临时文件的响应,以便于所述第二用户根据所述临时密钥解密所述临时文件。
由上述技方案可知,本发明实施例中,通过对用户数据(即共享文件)在上传到云端服务器之前进行加密,并且,通过信任中心对第一用户授权其他用户访问上传到云端的用户数据进行鉴权,解决了共享云端服务器上的共享文件的安全问题,提升了用户终端对于云安全的信心,并且用户可以方便的共享存储在云端服务器的共享数据。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整的描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
请参阅图1,图1为本发明实施例提供的一种数据共享的方法的流程图;在该实施例中,在用户终端(消费者)和云端服务器(云端服务提供商的服务器)之间引入了信任中心(即第三方),在该实施例中,假定云端服务提供商不可信。其中,信任中心包括证书授权中心(Certificate Authority,CA)和密钥分发中心(Key Distribution Center,KDC),在该实施例中,通常默认用户终端和信任中心之间的通信信道是安全的,所以用户终端和信任中心之间的密钥协商过程也是安全的。所述方法包括:
步骤101:接收第二用户通过统一资源定位符URL请求第一用户的共享文件的用户密钥,其中,所述第二用户为所述第一用户通过信任中心授权访问所述共享文件的合法用户;所述共享文件为利用所述第一用户的用户密钥加密后的共享文件;
在该步骤中,第一用户先使用自身的用户密钥对要上传的共享文件进行加密,得到加密后的共享文件,以及使用信任中心自身的公钥对所述用户密钥进行加密,并将加密后的用户密钥作为所述共享文件的文件描述,然后,第一用户将所述文件描述和加密后的共享文件上传到云端服务器上,并接收到所述云端服务器反馈的与所述共享文件对应的统一资源定位符(URL),之后,第一用户通过所述信任中心授权第二用户访问加密后所述共享文件的URL,并通过信任中心验证所述第二用户为合法用户后,将所述URL发送给第二用户。
之后,信任中心就接收到所述第二用户请求获取所述URL对应的共享文件的用户密钥。
步骤102:根据所述URL从云端服务器中获取所述共享文件的文件描述;其中,所述文件描述为利用信任中心的公钥加密所述用户密钥后的文件描述;
在该步骤101的基础上,信任中心向云端服务器请求获取所述URL对应的文件描述,以及接收到所述云端服务器反馈的所述文件描述。
步骤103:利用信任中心的所述公钥对应的私钥解密所述文件描述,得到第一用户的用户密钥;
在该步骤中,由于信任中心在接收到所述URL对应的文件描述后,利用所述公钥对应的私钥对所述文件描述进行解密,得到第一用户的用户密钥。
步骤104:将所述用户密钥发送给所述第二用户,以便于所述第二用户利用所述用户密钥解密获取到的所述共享文件,得到第一用户的原共享文件。
在该步骤中,信任中心可以通过安全通道将所述用户密钥发送给第二用户,第二用户先根据所述URL从云端服务器中获取到对应的共享文件,然后,再利用所述用户密钥对获取到的所述共享文件进行解密,得到第一用户的原共享文件。
本发明实施例中,通过对用户数据(即共享文件)在上传到云端服务器之前进行加密,并且,通过信任中心对第一用户授权其他用户访问上传到云端的用户数据进行鉴权,解决了共享云端服务器上的共享文件的安全问题,提升了用户终端对于云安全的信心,并且用户可以方便的共享存储在云端服务器的共享数据。
可选的,在另一实施例中,该实施例在上述实施例的基础上,还可以包括:信任中心在根据所述URL从云端服务器中获取所述共享文件的文件描述的同时,还获取与所述URL对应的所述共享文件;然后,利用所述用户密钥对获取到的所述共享文件进行解密,得到第一用户的原共享文件;之后,利用临时密钥加密所述第一用户的原共享文件,得到临时文件;以及将所述临时文件存储到所述云端服务器中,并获得所述云端服务器下发的与临时文件对应的临时URL;
所述将用户密钥发送给所述第二用户,以便于所述第二用户利用所述用户密钥解密获取到的所述共享文件,得到第一用户的原共享文件具体为:将所述临时URL及临时密钥发送给所述第二用户,以便于所述第二用户利用所述临时密钥解密获取到的所述临时文件,得到第一用户的原共享文件。
也就是说,该实施例中,信任中心在获取到其他用户访问的共享文件和文件描述后,利用所述公钥对应的私钥对文件描述进行解密,得到对应的用户密钥,然后利用用户密钥对所述共享文件进行解密,得到原共享文件,然后,对所述原共享文件进行重新加密,以及将重新加密后的共享文件(即临时文件)重新上传到云端服务器,并得到云端服务器下发对应的临时URL,然后,将其临时URL和临时密钥发送给第二用户,以便于第二用户根据临时URL获取到对应的临时文件,以及利用临时密钥对所述临时文件进行解密,得到第一用户的原共享文件。
本发明实施例中,信任中心对获取的原共享文件重新加密,并且重新上传到云端服务器上,以便于对第一用户授权其他用户访问上传到云端的用户数据进行鉴权,解决了共享云端服务器上的共享文件的安全问题,同时也方便用户共享存储在云端服务器的共享数据。
还请参阅图2,为本发明实施例提供的一种数据共享的方法的另一流程,所述方法包括:
步骤201:利用用户密钥对要上传到云端服务器的文件进行加密,得到加密后的共享文件,并使用信任中心的公钥对用户密钥进行加密,并将加密后的用户密钥作为文件描述;
在该步骤中,上传共享文件的用户(即第一用户)在上传共享文件前,先利用自身的密钥(即用户密钥)对共享文件进行加密,之后,利用信任中心的自身公钥对用户密钥进行加密,并将加密后的用户密钥作为该共享文件的文件描述。
步骤202:将所述共享文件和文件描述上传到所述云端服务器上;
在该步骤中,第一用户通过安全通道将加密后的共享文件和文件描述上传云端服务器上,通常情况,默认用户和云端服务器之间是安全的。
步骤203:接收所述云端服务器发送的所述共享文件对应的统一资源定位符URL,即URL1;
在该步骤中,第一用户通过安全通道接收所述云端服务器发送的与所述共享文件对应的URL(即URL1)。
步骤204:通过信任中心授权第二用户访问所述共享文件的URL;
第一用户通过信任中心先要对授权的第二用户的身份进行鉴权,即判断第二用户是否为合法用户,如果第二用户为合法用户,才会执行步骤205;
步骤205:将所述URL发送给所述第二用户;以便于所述第二用户根据所述URL获取所述共享文件以及所述用户密钥;并利用所述用户密钥解密所述共享文件,得到第一用户的原共享文件。
在该步骤中,第二用户得到第一用户的原共享文件的过程主要包括两种情况:
一种情况是,所述第二用户根据所述URL从所述信任中心获取所述共享文件的用户密钥,以及从云端服务器获取所述共享文件,并利用所述用户密钥解密所述共享文件,得到第一用户的原共享文件。
另一种情况是,所述第二用户向信任中心请求所述URL对应的所述共享文件的用户密钥;所述第二用户接收所述信任中心响应所述请求发送的临时URL和临时密钥;其中,所述临时密钥是信任中心对获得的所述共享文件的原文件进行重新加密的密钥,所述临时URL是云端服务器返回临时文件对应的URL,其中,所述临时文件为所述信任中心利用所述临时密钥对获得所述共享文件的原文件重新加密后的文件;所述第二用户向云端服务器获取所述临时URL对应的临时文件;并利用所述临时密钥对所述临时文件进行解密,得到所述第一用户的原共享文件。
还请参阅图3,为本发明实施例提供的一种数据共享的方法的又一流程图,其特征在于,包括:
步骤301:接收第一用户发送的共享文件及对应的文件描述;其中,所述共享文件为利用第一用户的用户密钥加密后的共享文件;所述文件描述为利用信任中心的公钥加密所述用户密钥后的文件描述;
云端服务器(或云端服务提供商的服务器)对接收到用户发送的共享文件及对应的文件描述进行存储,以及向用户反馈对应共享文件的统一资源定位符URL,即步骤302。
步骤302:存储所述共享文件及对应的文件描述;
步骤303:向所述第一用户发送存储所述共享文件对应的统一资源定位符URL;
云端服务器通过安全通道将所述共享文件的URL发送给对应的第一用户。之后,第一用户可以通过信任中心授权第二用户访问所述共享文件的URL,在信任中心验证所述第二用户为合法用户时,第一用户将所述共享文件的URL发送给第二用户,之后,第二用户根据URL向信任中心请求所述共享文件的用户密钥,所述信任中心根据所述URL向云端服务器请求对应的文件描述。
步骤304:接收信任中心发送的获取所述URL对应的文件描述的请求;
云端服务器通过安全信道接收信任中心发送的获取与所述URL对应的文件描述的请求。
步骤305:向所述信任中心发送包括所述文件描述的响应;以便于信任中心利用所述公钥对应的私钥解密所述文件描述,得到用户密钥,以及所述信任中心将所述用户密钥发送给第二用户;
云端服务器通过安全信道向所述信任中心发送所述文件描述。
步骤306:接收第二用户发送请求所述URL对应的共享文件;所述第二用户为第一用户通过信任中心授权访问所述共享文件的用户;
步骤307:向所述第二用户发送所述URL对应的共享文件,以便于所述第二用户根据接收到的用户密钥解密所述共享文件,得到第一用户的原共享文件。
还请参阅图4,为本发明实施例提供的一种数据共享的方法的又一流程图,所述方法包括:
步骤401:接收第一用户发送的共享文件及对应的文件描述;其中,所述共享文件为利用第一用户的用户密钥加密后的共享文件;所述文件描述为利用信任中心的公钥加密用户密钥后的文件描述;
云端服务器通过安全通道接收第一用户发送的共享文件及对应的文件描述。
步骤402:存储所述共享文件及对应的文件描述;
步骤403:向所述第一用户发送存储所述共享文件对应的统一资源定位符URL;
云端服务器通过安全通道将所述共享文件对应的URL发送给第一用户。
步骤404:接收信任中心发送的获取所述URL对应的共享文件和文件描述的请求;
步骤405:向所述信任中心发送包括所述共享文件和文件描述的响应;以便于信任中心利用所述公钥对应的私钥解密所述文件描述,得到用户密钥,并利用所述用户密钥解密所述共享文件,得到原文件;以及所述信任中心利用临时密钥对所述原文件进行加密,得到临时文件;
也就是说,云端服务器,文件描述和共享文件发送给信任中心,信任中心根据所述公钥对应的私钥对文件描述进行解密,得到用户密钥,然后,利用用户密钥对共享文件进行解密,得到原共享文件,并且,在得到所述第一用户的原共享文件后,重新对该原共享文件进行加密,得到临时文件。
步骤406:接收所述信任中心发送的临时文件;
步骤407:向所述信任中心发送所述临时文件对应的临时URL;以便于信任中心将所述临时密钥和临时URL发送给第二用户;
其中,信任中心将重新加密后的临时文件上传到云端服务器上,得到云端服务器下发临时文件对应的临时URL,之后,信任中心将所述临时密钥和临时URL发送给第二用户。
步骤408:接收所述第二用户发送的获取所述临时URL对应的临时文件的请求;
步骤409:向所述第二用户发送包括所述临时文件的响应,以便于所述第二用户根据所述临时密钥解密所述临时文件,得到原共享文件。
还请参阅图5,为本发明实施例提供的一种数据共享的方法的又一流程图,所述方法包括:
步骤501:接收信任中心发送的密钥,以及鉴权证书;
第一用户接收到信任中心通过安全通道发送的密钥以及,对用户进行身份认证的鉴权证书。
步骤502:利用所述密钥对将要上传的共享文件进行加密,得到加密后的第一共享文件;
第一用户利用密钥对要上传的共享文件进行加密,得到加密后的第一共享文件之后,执行步骤503;
步骤503:将所述第一共享文件发送到云端服务器上;以便于所述云端服务器将所述第一共享文件作为第一用户的源文件;
步骤504:利用临时密钥对所述共享文件进行加密,得到加密后的第二共享文件;
步骤505:将所述第二共享文件发送到云端服务器上;以便于所述云端服务器将所述第二共享文件作为第一用户的临时文件;
步骤506:接收云端服务器发送的所述第二共享文件对应的统一资源定位符URL;
步骤507:通过所述鉴权证书确认第二用户为合法用户后,将所述URL和临时密钥发送给第二用户;以便于所述第二用户请求所述URL对应的第二共享文件,并利用所述临时密钥解密所述第二共享文件,得到第一用户的原共享文件。
还请参阅图6,为本发明实施例提供的一种数据共享的方法的又一流程图,所述方法包括:
步骤601:接收第一用户发送的第一共享文件,所述第一共享文件为利用信任中心下发的密钥加密的文件;并将所述第一共享文件作为第一用户的源文件;
步骤602:接收所述第一用户发送的第二共享文件,所述第二共享文件为利用临时密钥加密的文件;并将所述第二共享文件作为所述第一用户的临时文件;
步骤603:存储第一共享文件和第二共享文件;
在该步骤中,云端服务器可以将第一共享文件和第二共享文件存储到一个URL,也可以存储在不同的URL下,本实施例不作限制。
步骤604:向所述第一用户发送存储所述第二共享文件对应的统一资源定位符URL;
步骤605:接收第二用户发送获取所述URL对应的第二共享文件,所述第二用户为所述第一用户经过鉴权认证的用户;并且接收到所述第一用户发送的临时密钥和所述URL;
步骤606:向所述第二用户发送所述第二共享文件,以便于所述第二用户根据所述临时密钥解密所述第二共享文件,得到第一用户的原共享文件。
基于上述方法的实现过程,本发明实施例还提供一种数据共享的装置,其结构示意图如图7所示,所述装置包括:第一接收单元71,获取单元72,第一解密单元73和第一发送单元74,其中,所述第一接收单元71,用于接收第二用户通过统一资源定位符URL请求第一用户的共享文件的用户密钥,其中,所述第二用户为所述第一用户通过信任中心授权访问所述共享文件的合法用户;所述共享文件为利用第一用户的用户密钥加密后的共享文件;所述获取单元72,用于根据所述URL从云端服务器中获取对应的所述共享文件的文件描述;其中,所述文件描述为利用信任中心的公钥加密所述用户密钥后的文件描述;所述第一解密单元73,用于利用所述公钥对应的私钥解密所述文件描述,得到第一用户的用户密钥;所述第一发送单元74,用于将所述用户密钥发送给所述第二用户,以便于所述第二用户利用所述用户密钥解密获取到的所述共享文件,得到第一用户的原共享文件。
可选的,所述获取单元还可以用于:在根据所述URL从云端服务器中获取所述共享文件的文件描述的同时,还获取与所述URL对应的所述共享文件;所述装置还可以包括:第二解密单元,加密单元,第二发送单元和第二接收单元,其中,
所述第二解密单元,用于利用所述第一解密单元得到的用户密钥解密获取的所述共享文件,得到第一用户的原共享文件;所述加密单元,用于利用临时密钥加密所述第一用户的原共享文件,得到临时文件;所述第二发送单元,用于将所述临时文件上传到所述云端服务器中;所述第二接收单元,用于所述云端服务器下发的与所述临时文件对应的临时URL;所述第一发送单元,还用于将所述临时URL及临时密钥发送给所述第二用户,以便于所述第二用户利用所述临时密钥解密获取到的所述临时文件,得到第一用户的原共享文件。
所述装置可以集成在信任中心中,也可以独立部署,本实施例不作限制。
所述装置中各个单元的功能和作用的实现过程详见上述方法中对应的实现过程,在此不再赘述。
还请参阅图8,为本发明实施例提供的一种数据共享的装置的另一结构示意图,所述装置包括:加密单元81,第一发送单元82,第一接收单元83,授权单元84和第二发送单元85,其中,
所述加密单元81,用于利用用户密钥对要上传到云端服务器的文件进行加密,得到加密后的共享文件,并使用信任中心的公钥对用户密钥进行加密,并将加密后的用户密钥作为文件描述;所述第一发送单元82,用于将加密后的所述共享文件和文件描述上传到所述云端服务器上;所述第一接收单元83,用于接收所述云端服务器发送的所述共享文件对应的统一资源定位符URL;所述授权单元84,用于通过信任中心授权第二用户访问所述共享文件的URL;所述第二发送单元85,用于将所述URL发送给所述第二用户;以便于所述第二用户根据所述URL获取所述共享文件以及所述用户密钥;并利用所述用户密钥解密所述共享文件,得到第一用户的原共享文件。
所述装置可以集成在用户终端中。
所述装置中各个单元的功能和作用的实现过程详见上述方法中对应的实现过程,在此不再赘述。
还请参阅图9,为本发明实施例提供的一种数据共享的装置的又一结构示意图,所述装置包括:第一接收单元91,存储单元92,第一发送单元93,第二接收单元94,第二发送单元95,第三接收单元96和第三发送单元97,其中,
所述第一接收单元91,用于接收第一用户发送的共享文件及对应的文件描述;其中,所述共享文件为利用第一用户的用户密钥加密后的共享文件;所述文件描述为利用信任中心的公钥加密用户密钥后的文件描述;所述存储单元92,用于存储所述共享文件及对应的文件描述;所述第一发送单元93,用于向所述第一用户发送存储所述共享文件对应的统一资源定位符URL;所述第二接收单元94,用于接收信任中心发送的获取所述URL对应的文件描述的请求;所述第二发送单元95,用于向所述信任中心发送包括所述文件描述的响应;以便于所述信任中心利用所述公钥对应的私钥解密所述文件描述,得到用户密钥,以及所述信任中心将所述用户密钥发送给第二用户;所述第三接收单元96,用于接收第二用户发送请求所述URL对应的共享文件;所述第二用户为第一用户通过信任中心授权访问所述共享文件的用户;所述第三发送单元97,用于向所述第二用户发送所述URL对应的共享文件,以便于所述第二用户根据接收到的用户密钥解密所述共享文件,得到第一用户的原共享文件。
所述装置可以集成在云端服务器中,也可以独立部署,本实施例不作限制。
所述装置中各个单元的功能和作用的实现过程详见上述方法中对应的实现过程,在此不再赘述。
还请参与图10,为本发明实施例提供的一种数据共享的装置的又一结构示意图,所述装置包括:第一接收单元11,第一存储单元12,第一发送单元13,第二接收单元14,第二发送单元15,第三接收单元16,第二存储单元17,第三发送单元18,第四接收单元19和第四发送单元120,其中,
所述第一接收单元11,用于接收第一用户发送的共享文件及对应的文件描述;其中,所述共享文件为利用第一用户的用户密钥加密后的共享文件;所述文件描述为利用信任中心的公钥加密用户密钥后的文件描述;所述第一存储单元12,用于存储所述共享文件及对应的文件描述;所述第一发送单元13,用于向所述第一用户发送存储所述共享文件和文件描述对应的统一资源定位符URL;所述第二接收单元14,用于接收信任中心发送的获取所述URL对应的共享文件和文件描述的请求;所述第二发送单元15,用于向所述信任中心发送包括所述共享文件和文件描述的响应;以便于信任中心利用所述公钥对应的私钥解密所述文件描述,得到用户密钥,并利用所述用户密钥解密所述共享文件,得到原文件;以及所述信任中心利用临时密钥对所述原文件进行加密,得到临时文件;所述第三接收单元16,用于接收所述信任中心发送的临时文件;所述第二存储单元17,用于存储所述临时文件;所述第三发送单元18,用于向所述信任中心发送存储所述临时文件对应的临时URL;以便于信任中心将所述临时密钥和临时URL发送给第二用户;所述第四接收单元19,用于接收所述第二用户发送的获取所述临时URL对应的临时文件的请求;所述第四发送单元120,向所述第二用户发送包括所述临时文件的响应,以便于所述第二用户根据所述临时密钥解密所述临时文件,得到原共享文件。
所述装置可以集成在云端服务器中,也可以独立部署,本实施例不作限制。
所述装置中各个单元的功能和作用的实现过程详见上述方法中对应的实现过程,在此不再赘述。
还请参阅图11,为本发明实施例提供的一种数据共享的装置的又一结构示意图,所述装置包括:第一接收单元111,第一加密单元112,第一发送单元113,第二加密单元114,第二发送单元115,第二接收单元116和第三发送单元117,其中,
所述第一接收单元111,用于接收信任中心发送的密钥,以及鉴权证书;所述第一加密单元112,用于利用所述密钥对将要上传的共享文件进行加密,得到加密后的第一共享文件;所述第一发送单元113,用于将所述第一共享文件发送到云端服务器上;以便于所述云端服务器将所述第一共享文件作为第一用户的源文件;所述第二加密单元114,用于利用临时密钥对所述共享文件进行加密,得到加密后的第二共享文件;所述第二发送单元115,用于将所述第二共享文件发送到云端服务器上;以便于所述云端服务器将所述第二共享文件作为第一用户的临时文件;所述第二接收单元116,用于接收云端服务器发送的所述第二共享文件对应的临时统一资源定位符URL;所述第三发送单元117,用于在通过所述鉴权证书确认第二用户为合法用户后,将所述临时URL和临时密钥发送给第二用户;以便于所述第二用户请求所述临时URL对应的第二共享文件,并利用所述临时密钥解密所述第二共享文件,得到第一用户的原共享文件。
所述装置可以集成在用户终端。
所述装置中各个单元的功能和作用的实现过程详见上述方法中对应的实现过程,在此不再赘述。
还请参阅图12,为本发明实施例提供的一种数据共享的装置的又一结构示意图,所述装置包括:第一接收单元121,第二接收单元122,存储单元123,第一发送单元124,第三接收单元125和第二发送单元126,其中,
所述第一接收单元121,用于接收第一用户发送的第一共享文件,所述第一共享文件为利用信任中心下发的密钥加密的文件;并将所述第一共享文件作为第一用户的源文件;所述第二接收单元122,用于接收所述第一用户发送的第二共享文件,所述第二共享文件为利用临时密钥加密的文件;并将所述第二共享文件作为所述第一用户的临时文件;所述存储单元123,用于分别存储第一共享文件和第二共享文件;所述第一发送单元124,用于向所述第一用户发送存储所述第二共享文件对应的临时统一资源定位符URL;所述第三接收单元125,用于接收第二用户发送的获取所述临时URL对应的第二共享文件,所述第二用户为所述第一用户经过鉴权认证的用户;并且接收到所述第一用户发送的临时密钥和所述临时URL;所述第二发送单元126,用于向所述第二用户发送所述第二共享文件,以便于所述第二用户根据所述临时密钥解密所述第二共享文件,得到第一用户的原共享文件。
所述装置可以集成在云端服务器上,也可以独立部署,本实施例不作限制。
所述装置中各个单元的功能和作用的实现过程详见上述方法中对应的实现过程,在此不再赘述。
为了便于本领域技术人员的理解,下面以具体的应用实例来说明。
实施例一
请参阅图13,图13为本发明实施例提供的一种数据共享的方法的第一应用实例图,该实施例应用于在云环境下实现用户数据共享,所述方法包括:
步骤1301:用户A使用自己的用户密钥key1加密将要上传到云端服务器的共享文件,并使用信任中心的公钥加密用户密钥key1作为文件描述。
其中,用户A使用信任中心的公钥,是通过第三方机构查询信任中心得到的。
步骤1302:用户A将已加密的所述共享文件和文件描述上传到云端服务器上。
步骤1303:云端服务器向用户A返回已上传共享文件所对应的统一资源定位符URL。
步骤1304:用户A通过信任中心授权用户B访问该共享文件的URL。
步骤1305:用户A发送云端服务器返回的共享文件的URL给用户B。
步骤1306:信任中心对用户B进行身份鉴权,并在鉴权通过后,执行步骤1307。
也就是说,信任中心验证用户B是否为合法的用户,即对用户B的身份进行认证。
步骤1307:用户B通过所述URL向信任中心请求所述共享文件的用户密钥(即key1)。即用户B向信任中心请求URL对应所述共享文件的用户密钥。
步骤1308:信任中心根据用户B请求中的URL,向云端服务器请求其对应的文件描述。
步骤1309:云端服务器向信任中心返回所述URL对应的文件描述。
步骤1310:信任中心使用所述公钥对应的私钥(即与用户A使用的信任中心的公钥对应的私钥)解密文件描述,获得用户A的用户密钥key1。
步骤1311:信任中心将用户A的用户密钥key1发送给用户B,在该步骤中,可以通过信任中心与用户B之间的安全通道,也可以通过其他通道,本实施例中不作限制。
步骤1312:用户B向云端服务器请求所述URL对应的共享文件。
步骤1313:云端服务器向用户B返回所述URL对应的共享文件。
步骤1314:用户B使用接收到的所述用户A的用户密钥key1解密接收到的共享文件,获得用户A的原共享文件。
本发明实施例中,通过对用户数据在上传到云端服务器之前进行加密操作,并且在信任中心授权的用户才可以访问上传到云端服务器上的数据,解决了共享云端文件的安全问题。提升了用户对于云安全的信心,并且使得用户可以方便的共享存储在云端的数据。
实施例二
请参阅图14,图14为本发明实施例提供的一种数据共享的方法的第二应用实例图,该实施例应用于在云环境下实现用户数据共享,所述方法包括:
步骤1401:用户A使用自己的用户密钥key1加密将要上传到云端服务器的共享文件,并使用信任中心的公钥加密用户密钥key1作为文件描述。
步骤1402:用户A将已加密的共享文件和文件描述上传到云端服务器。
步骤1403:云端服务器向用户A返回已上传的共享文件所对应的URL,为了便于描述,本实施例定义为URL1。
步骤1404:用户A通过信任中心授权的用户B访问该共享文件的URL1。
步骤1405:用户A向用户B发送所述共享文件的URL1。
步骤1406:信任中心对用户B进行身份鉴权,并在鉴权通过后,执行步骤1407;
其中,用户B通过信任中心实现身份认证。
步骤1407:用户B通过所述URL1向信任中心请求所述共享文件的用户密钥(即key1)。
步骤1408:信任中心根据用户B请求中的URL1,向云端服务器请求用户A上传的共享文件和文件描述。
步骤1409:云端服务器向所述信任中心返回用户A上传的共享文件和文件描述。
步骤1410:信任中心使用所述公钥对应的私钥对所述文件描述进行解密,获得用户A的用户密钥key1,并使用key1解密所述共享文件,获得用户A的原共享文件;
步骤1411:信任中心使用临时密钥key2加密原共享文件,得到临时文件file2。
步骤1412:信任中心将所述临时文件file2上传到云端服务器。
步骤1413:云端服务器向信任中心返回临时文件file2对应的临时URL,为了便于描述,本实施例定义URL2。
步骤1414:信任中心通过安全信道向用户B发送所述URL2和临时密钥key2。
步骤1415:用户B向云端服务器请求所述URL2对应的临时文件file2。
步骤1416:云端服务器向用户B返回所述URL2对应的临时文件file2。
步骤1417:用户B接收所述临时文件file2,并使用信任中心返回的临时密钥key2解密接收到的临时文件file2,获得用户A的原共享文件。
本发明实施例中,通过对用户数据在上传到云端服务器之前进行加密操作,并且在信任中心在获取到原共享文件后,对该原共享文件进行重新加密,以及将重新加密后的共享文件上传到云端服务器,以便于授权的用户访问上传到云端服务器上的数据,解决了共享云端文件的安全问题。提升了用户对于云安全的信心,并且使得用户可以方便的共享存储在云端的数据。
实施例三
请参阅图15,图15为本发明实施例提供的一种数据共享的方法的第三应用实例图,该实施例应用于在云环境下实现用户数据共享,所述方法包括:
步骤1501:信任中心向用户A分发密钥key1。
其中,可以通过安全信道向用户A分发密钥key1。
步骤1502:用户A使用所述密钥key1加密将要上传到云端服务器上的文件,得到加密后的文件file1。
步骤1503:用户A将已加密的文件file1上传到云端服务器上。
步骤1504:云端服务器存储接收到的文件file1,并将文件file1作为用户A的源文件。
步骤1505:用户A随机选择临时密钥key2,并使用临时密钥key2加密所述文件,获得文件file2。
其中,步骤1504和步骤1505在时间上不分先后顺序,也可以同时进行。
步骤1506:用户A将已加密的文件file2上传到云端服务器上。
步骤1507:云端服务器存储接收到的文件file2,并将文件file2作为用户A的临时文件,即称为临时文件file2。
步骤1508:云端服务器向用户A发送所述临时文件file2对应的临时URL;
步骤1509:用户A通过信任中心颁发的鉴权证书对用户B进行鉴权(认证),并在确认对方为合法用户后,执行步骤1510;
其中,步骤1508和步骤1509在时间上没有先后顺序,也可以同时进行,本实施例不作限制。
步骤1510:用户A将所述临时URL和临时密钥key2发送给用户B。
步骤1511:用户B向云端服务器请求临时URL对应的临时文件file2。
步骤1512:云端服务器向用户B返回所述临时URL对应的临时文件file2。
步骤1513:用户B接收到临时文件file2,并使用临时密钥key2解密所述临时文件file2,获得用户A的原共享文件。
本发明实施例,用户预先接收到信任中心的密钥,并通过该密钥对要共享的文件进行加密,得到file1,并将file1上传到云端服务器,云端服务器会将该文件作为该用户的源文件,之后,该用户会用临时密钥对要共享的该文件进行加密,得到file2,并将file2也上传到云端服务器,云端服务器会将该file2作为临时文件,并将该临时文件作为其他授权用户访问的文件,解决了共享云端文件的安全问题,同时也方便授权用户共享存储在云端服务器上的数据。
本发明实施例还提供一种信任中心,所述信任中心包括:收发器和处理器,其中,
所述收发器,用于接收第二用户通过统一资源定位符URL请求第一用户的共享文件的用户密钥,其中,所述第二用户为所述第一用户通过信任中心授权访问所述共享文件的合法用户;所述共享文件为利用所述用户密钥加密后的共享文件;以及根据所述URL从云端服务器中获取对应的所述共享文件的文件描述;其中,所述文件描述为利用所述信任中心的公钥加密所述用户密钥后的文件描述;
所述处理器,利用所述信任中心的所述公钥对应的私钥解密所述文件描述,得到所述第一用户的所述用户密钥;
所述收发器,还用于将所述用户密钥发送给所述第二用户。
可选的,在另一实施例中,该实施例在上述实施例中,所述收发器根据所述URL从云端服务器中获取所述共享文件的文件描述,还包括:获取与所述URL对应的所述共享文件;
所述处理器,还用于利用所述用户密钥解密获取的所述共享文件,得到所述第一用户的原共享文件;以及利用临时密钥加密所述原共享文件,得到临时文件;
所述收发器,还用于将所述临时文件上传到所述云端服务器中,并获得所述云端服务器下发的与所述临时文件对应的临时URL;
所述收发器将用户密钥发送给所述第二用户,具体包括:将所述临时URL及临时密钥发送给所述第二用户。
其中,所述信任中心包括的收发器和处理器的功能和作用的实现过程,详见上述方法中对应的实现过程,在此不再赘述。
本发明实施例还提提供一种用户终端,包括:收发器和处理器,其中,
所述处理器,用于利用用户密钥对要上传到云端服务器的文件进行加密,得到加密后的共享文件,并使用信任中心的公钥对所述用户密钥进行加密,并将加密后的用户密钥作为文件描述;
所述收发器,用于将加密后的所述共享文件和文件描述上传到所述云端服务器;以及接收所述云端服务器发送的所述共享文件对应的统一资源定位符URL;
所述处理器,用于通过所述信任中心授权第二用户访问所述共享文件;
所述收发器,还用于将所述URL发送给所述第二用户;以便于所述第二用户根据所述URL获取所述用户密钥;并利用所述用户密钥解密所述共享文件。
其中,所述用户终端包括的收发器和处理器的功能和作用的实现过程,详见上述方法中对应的实现过程,在此不再赘述。
本发明实施例还提供一种云端服务器,包括:收发器和存储器,其中,
所述收发器,用于接收第一用户发送的共享文件及对应的文件描述;其中,所述共享文件为利用第一用户的用户密钥加密后的共享文件;所述文件描述为利用信任中心的公钥加密用户密钥后的文件描述;
所述存储器,用于存储所述共享文件及对应的文件描述;
所述收发器,还用于向所述第一用户发送存储所述共享文件对应的统一资源定位符URL;接收信任中心发送的获取所述URL对应的文件描述的请求;向所述信任中心发送包括所述文件描述的响应;以便于所述信任中心利用所述公钥对应的私钥解密所述文件描述,得到所述用户密钥,以及所述信任中心将所述用户密钥发送给第二用户;接收第二用户发送请求所述URL对应的共享文件;所述第二用户为所述第一用户通过所述信任中心授权访问所述共享文件的用户;向所述第二用户发送所述URL对应的共享文件,以便于所述第二用户根据接收到的所述用户密钥解密所述共享文件。
其中,所述云端服务器包括的收发器和存储器的功能和作用的实现过程,详见上述方法中对应的实现过程,在此不再赘述。
本发明实施例还提供一种云端服务器,包括:收发器和存储器,其中,
所述收发器,用于接收第一用户发送的共享文件及对应的文件描述;其中,所述共享文件为利用第一用户的用户密钥加密后的共享文件;所述文件描述为利用信任中心的公钥加密用户密钥后的文件描述;
所述存储器,用于存储所述共享文件及对应的文件描述;
所述收发器,还用于向所述第一用户发送存储所述共享文件和对应的文件描述对应的统一资源定位符URL;接收信任中心发送的获取所述URL对应的共享文件和文件描述的请求;向所述信任中心发送包括所述共享文件和文件描述的响应;以便于所述信任中心利用所述公钥对应的私钥解密所述文件描述,得到所述用户密钥,并利用所述用户密钥解密所述共享文件后利用临时密钥重新加密,得到临时文件;接收所述信任中心发送的临时文件;
所述存储器,还用于存储所述临时文件;
所述收发器,还用于向所述信任中心发送存储所述临时文件对应的临时URL;以便于所述信任中心将所述临时密钥和临时URL发送给第二用户;接收所述第二用户发送的获取所述临时URL对应的临时文件的请求;向所述第二用户发送包括所述临时文件的响应,以便于所述第二用户根据所述临时密钥解密所述临时文件。
其中,所述云端服务器包括的收发器和存储器的功能和作用的实现过程,详见上述方法中对应的实现过程,在此不再赘述。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到本发明可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例或者实施例的某些部分所述的方法。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以作出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。