CN104168320B - 一种用户数据分享的方法和系统 - Google Patents
一种用户数据分享的方法和系统 Download PDFInfo
- Publication number
- CN104168320B CN104168320B CN201410410526.7A CN201410410526A CN104168320B CN 104168320 B CN104168320 B CN 104168320B CN 201410410526 A CN201410410526 A CN 201410410526A CN 104168320 B CN104168320 B CN 104168320B
- Authority
- CN
- China
- Prior art keywords
- key
- feature code
- encryption key
- time sequence
- sequence feature
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 68
- 230000002123 temporal effect Effects 0.000 claims abstract 6
- 230000004044 response Effects 0.000 claims description 20
- 238000011084 recovery Methods 0.000 claims description 9
- 230000008569 process Effects 0.000 claims description 6
- 239000011159 matrix material Substances 0.000 description 5
- 230000008901 benefit Effects 0.000 description 3
- 238000010586 diagram Methods 0.000 description 2
- 230000010354 integration Effects 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000005065 mining Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
Landscapes
- Storage Device Security (AREA)
- Computer And Data Communications (AREA)
Abstract
本申请公开了一种用户数据分享的方法和系统,由内容提供方客户端为各订阅用户组配置加密密钥和加密密钥时序特征码,实现以订阅用户组为单位的密钥管理;对于各订阅用户组,利用本组的加密密钥加密订阅文件,并将密文上传至服务器;为各订阅用户配置个人令牌,根据加密密钥与本组全体订阅用户的个人令牌计算公开令牌,同时基于加密密钥时序特征码确定相应的公开令牌时序特征码,并将公开令牌和公开令牌时序特征码通知给服务器;对于所下载的加密文件,内容请求方客户端可以利用本客户端的个人令牌以及从所述服务器上获取的公开令牌,得到加密文件的加密密钥,实现对加密文件的解密。采用本发明可以确保文件密文的安全性,提高数据分享效率。
Description
技术领域
本发明涉及计算机网络技术,特别是涉及一种网络中用户数据分享的方法和系统。
背景技术
云计算大数据时代,互联网正时刻释放出海量数据,随着产生、存储、分析的数据量越来越大,无论是围绕企业销售,还是个人消费习惯、身份特征等,都变成了以各种形式存储的数据。海量数据背后隐藏着巨大的经济与政治利益,尤其是通过数据整合、分析与挖掘,其所表现出的数据整合与控制力量已经远超以往。大数据如同一把双刃剑,社会因大数据使用而获益匪浅,但个人隐私也无处遁形。目前已经有多起侵犯个人隐私案件发生,如谷歌泄露个人隐私事件、盛大云数据丢失事件等,这些严重侵犯了用户的合法权益。因此,需要提供一种安全、可靠的云服务器上数据分享方法,既能实现上传用户与下载用户之间的数据分享,同时又能够保护用户的隐私不被非法泄露。
目前,实现互联网中用户数据分享的方案主要有两种,一类是由服务器对用户分享的数据文件进行加密,如Yahoo相册、百度云、微软云存储等;另一类是由提供数据的用户客户端对需分享的数据文件进行加密,如SpiderOak,LastPass等。
上述第一类由服务器负责文件加密的数据分享方案中,密钥是由服务器负责生成、管理,这样,就会存在数据安全隐患问题。一方面服务器运营商可以直接获取其用户上传的任何数据,包括个人敏感信息、图片或视频多媒体文件、银行卡密码等,从而会导致用户隐私存在巨大安全隐患;另一方面,海量数据的集中存储与管理使云服务器更容易成为黑客攻击的目标,一旦站点服务器被非法控制,黑客可以像服务器管理员一样读取用户存储的任何信息。
上述第二类由用户客户端负责文件加密的数据分享方案中,密钥由用户客户端负责生成、管理;用户客户端为一个或若干文件生成一个密钥,对其加密后上传至服务器,被授权读取加密文件的用户客户端可以从服务器中下载该加密文件,并利用从上传加密文件的用户客户端处获得的密钥对其进行解密。如此,通过由用户客户端负责生成、管理文件的加密密钥,可以防止云管理员和黑客非法获取用户的存储数据,但是,该类方案中,不同的加密文件所使用的密钥可能会不同,这样,下载文件的用户每次进行文件解密时都需要向上传文件的用户索取密钥,因此,会存在数据分享效率较低的问题。另外,上传文件用户的本地加密密钥一旦丢失也将面临密钥无法被恢复的问题。
发明内容
有鉴于此,本发明的主要目的在于提供一种用户数据分享的方法和系统,可以提高数据分享效率并确保用户数据的安全性。
为了达到上述目的,本发明提出的技术方案为:
一种用户数据分享的方法,包括:
内容提供方客户端为每个订阅用户组分别配置加密密钥和加密密钥时序特征码;对于每个所述订阅用户组,利用本组的所述加密密钥对本组的可订阅文件进行加密,将本组的所述加密密钥时序特征码作为所述加密文件的密文时序特征码,将所述加密后的加密文件和其密文时序特征码存储至服务器;
当所述内容提供方客户端接受内容请求方客户端的订阅请求时,为所述内容请求方客户端配置个人令牌;为所述内容请求方所属订阅用户组,利用本组当前的所述加密密钥和所有订阅用户的个人令牌,更新本组的公开令牌,并将本组当前的加密密钥时序特征码作为其公开令牌时序特征码,将更新后的公开令牌和公开令牌时序特征码通知给所述服务器;
所述内容请求方客户端在所述订阅请求被接受后,从所述服务器上下载所订阅文件的加密文件,利用本客户端的所述个人令牌以及从所述服务器上获取的本客户端所对应订阅用户组的公开令牌、公开令牌时序特征码和所下载加密文件的密文时序特征码,对所述加密文件进行解密。
一种用户数据分享的系统,包括:内容提供方客户端、内容请求方客户端和服务器,其中,
所述内容提供方客户端,用于为每个订阅用户组分别配置加密密钥和加密密钥时序特征码;对于每个所述订阅用户组,利用本组的所述加密密钥对本组的可订阅文件进行加密,将本组的所述加密密钥时序特征码作为所述加密文件的密文时序特征码,将所述加密后的加密文件和其密文时序特征码存储至服务器;在接受内容请求方客户端的订阅请求时,为所述内容请求方客户端配置个人令牌;为所述内容请求方所属订阅用户组,利用本组当前的所述加密密钥和所有订阅用户的个人令牌,更新本组的公开令牌,并将本组当前的加密密钥时序特征码作为其公开令牌时序特征码,将更新后的公开令牌和所述公开令牌时序特征码通知给所述服务器;
所述内容请求方客户端,用于在所述订阅请求被接受后,从所述服务器上下载所订阅文件的加密文件,利用本客户端的所述个人令牌以及从所述服务器上获取的本客户端所对应订阅用户组的公开令牌、公开令牌时序特征码和所下载加密文件的密文时序特征码,对所述加密文件进行解密。
综上所述,本发明提出的用户数据分享的方法和系统,由内容提供方客户端为本地的各订阅用户组配置不同的加密密钥和加密密钥时序特征码,实现以订阅用户组为单位进行密钥管理;并对于每个所述订阅用户组,利用本组的加密密钥对本组的可订阅文件加密,并将文件密文上传到服务器上;为各订阅用户配置个人令牌,并根据加密密钥与本组全体订阅用户的个人令牌计算公开令牌,同时基于加密密钥时序特征码确定相应的公开令牌时序特征码,将更新后的公开令牌和所述公开令牌时序特征码通知给所述服务器;对于所下载的订阅文件的加密文件,内容请求方客户端可以利用本客户端的个人令牌以及从所述服务器上获取的本客户端所对应订阅用户组的公开令牌,得到所述加密文件的加密密钥,从而实现对所述加密文件进行解密。如此,一方面,由内容提供方客户端实现对加密密钥的管理,可以确保文件密文的安全性,另一方面,订阅用户在每次对所下载的订阅文件进行解密时,不需要向上传文件的用户索取密钥,因此,可以提高数据分享效率。
附图说明
图1为本发明实施例一用户数据分享方法的流程示意图;
图2为本发明实施例一用户数据分享系统的结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图及具体实施例对本发明作进一步地详细描述。
本发明的核心思想是:内容提供方客户端以用户组为单位进行密钥管理,使得对任一订阅用户组访问权限内的文件密文,该订阅组内的订阅用户共享其加密密钥,而其它订阅组的成员不能获得该加密密钥,这样,一方面,可以确保文件密文的安全性,另一方面,订阅用户对其访问权限内的任一文件进行解密时不需要每次都与内容提供方进行密钥交换,从而提高数据分享效率。
图1为本发明实施例一的流程示意图,如图1所示,该实施例主要包括:
步骤101、内容提供方客户端为每个订阅用户组分别配置加密密钥和加密密钥时序特征码;对于每个所述订阅用户组,利用本组的所述加密密钥对本组的可订阅文件加密,将本组的所述加密密钥时序特征码作为所述加密文件的密文时序特征码,将所述加密后的加密文件和其密文时序特征码存储至服务器。
本步骤中,内容提供方客户端为每个订阅用户组分别配置加密密钥,这样,可以确保不同订阅用户组使用不同的加密密钥。另外,内容提供方客户端与内容请求方客户端协商好密钥生成与密钥重构方式,使得可以只在订阅用户组范围内实现加密密钥的共享,这样订阅用户在每次对所下载的订阅文件进行解密时,不需要向上传文件的用户索取密钥,因此,可以提高数据分享效率。
本步骤中是由内容提供方客户端而不是服务器负责订阅文件的加密,因此,可以防止管理员和黑客非法获取用户的存储数据,从而可以确保文件密文的安全性。
较佳地,本步骤中可以采用下述方法将所述加密文件和其密文时序特征码存储至服务器:
服务器在收到内容提供方客户端发送的加密文件和其密文时序特征码后,判断当前是否存在与所述加密文件同名的文件,如果存在,则通知所述内容提供方客户端确认是否同意覆盖旧文件;如果不存在,则直接进行所述加密文件和其密文时序特征码的存储,并更新相应的文件索引表;
如果所述内容提供方客户端同意覆盖旧文件,则所述服务器对所述加密文件和其密文时序特征码进行存储并更新相应的文件索引表,向所述内容提供方客户端发送文件存储成功消息;否则,向所述内容提供方客户端发送文件存储失败消息。
在实际应用中,所述服务器可以为英特网上的公开站点,如云服务器等。
本步骤中,每配置一个加密密钥,同时还需要为该加密密钥生成一个加密密钥时序特征码,该加密密钥时序特征码用于区别同一订阅用户组的不同加密密钥的生成时间顺序。
在实际应用中,为了确保加密密钥的前向安全性,生成的加密密钥序列为单向序列,并且,在进行加密密钥配置时,按照加密密钥配置的顺序与密钥生成的顺序相反的原则进行,这样,在后配置的加密密钥为在前配置的加密密钥的种子,从而使得:在已知在后配置的加密密钥的情况下,采用相同的密钥生成方法,可得到在前配置的加密密钥。具体地,可以采用下述方法进行加密密钥的配置:
所述内容提供方客户端预先为每个订阅用户组分别生成一个密钥序列,每次为所述订阅用户组配置加密密钥时,从其密钥序列的尾部取出一个密钥作为当前所配置的加密密钥,并将所取出的密钥从所述密钥序列的尾部删除。
上述方法中密钥序列是由一系列按照生成顺序排列的密钥组成,序列头部的密钥为最早生成的密钥,序列尾部的密钥则为最易通生成的密钥,每次配置时需要从尾部取出一个,即按照先生成后配置的原则进行加密密钥的配置。具体的密钥生成和相应的加密密钥时序特征码的生成可采用现有方法实现。例如,可以采用下述方法进行密钥的生成:
首先,初始化密钥生成器。该密钥生成器是一种运行了具备单向性的密钥生成方法的示范性装置。
在有限域ZN *上随机选取密钥K0作为初始密钥,以K0为种子计算单向哈希链K-Chain,并基于K-Chain构造密钥矩阵(K-Box)。具体过程如下:
a)随机选择两个安全素数p和q(安全素数p是满足p=2p’+1形式的一类数,其中p’=(p-1)/2也是素数),计算N=pq,公开N;
b)在有限域ZN *上随机选取初始密钥:K0;
c)生成单向哈希链K-Chain,密钥K0为哈希链K-Chain的种子:
其中n表示哈希链长度,且:
d)构造n×1矩阵作为密钥矩阵(K-Box)如下:
然后,基于上述密钥矩阵(K-Box),可生成每次的加密密钥,对于一订阅用户组第s次配置的加密密钥,可将密钥生成器输出密钥矩阵的第s行元素K0 (s)作为加密密钥,该元素为单向哈希链中第n-s+1个节点K0 (n-s+1)。
为了提供本发明中加密密钥的前向安全性,上述方法中用于生成加密密钥的密钥生成方法具有如下特点:
基于第x次配置的加密密钥和所述密钥生成方法的逆过程,仅可获得第x次和在此之前配置的加密密钥,而无法获得第x次之后配置的加密密钥,这样,可以确保订阅用户取消订阅后,无法获知之后该订阅用户组配置的加密密钥,其中,0<x<n。
步骤102、当所述内容提供方客户端接受内容请求方客户端的订阅请求时,为所述内容请求方客户端配置个人令牌;为所述内容请求方所属订阅用户组,利用本组当前的所述加密密钥和所有订阅用户的个人令牌,更新本组的公开令牌,并将本组当前的加密密钥时序特征码作为其公开令牌时序特征码,将更新后的公开令牌和所述公开令牌时序特征码通知给所述服务器。
在实际应用中,同现有系统一样,当内容请求方客户端有获取数据的需求时,需要向相应的内容提供方客户端发送订阅请求,该内容提供方客户端接收到订阅请求后将根据预设的订阅策略判断是否接受该内容请求方客户端的订阅请求,如果接受,则将通知内容请求方客户端订阅成功,并确定其所属订阅用户组,否则,通知内容请求方客户端订阅失败。
与现有系统所不同的是:在内容提供方客户端接收到内容请求方客户端的订阅请求时,为了在订阅用户组范围内实现加密密钥的共享,需要为该订阅用户分配一个个人令牌,并且需要基于当前订阅用户组所有订阅用户的个人令牌得到订阅用户组的公开令牌。其中,个人令牌将在生成后通知给订阅用户的客户端即内容请求方客户端,而公开令牌则需要上传至服务器,由服务器进行存储维护。利用公开令牌可以控制只有订阅用户组的有效订阅用户才可以共享该组的加密密钥。因为,当内容请求方客户端对订阅的加密文件进行文件解密时,需要从服务器中下载所属订阅用户组的公开令牌,利用该公开令牌和本地保存的个人令牌获取用于解密的加密密码。这样,由于公开令牌是由组内当前有效的所有订阅用户的个人令牌确定的,而已取消订阅的用户即使是从服务器中下载到该公开令牌,也无法确定出用于密文解密的加密密码,从而可以实现在订阅用户组范围内的加密密钥共享,进而实现在订阅用户组范围内的密文数据共享。
较佳地,本步骤中可以采用下述方法进行所述个人令牌的配置:
所述内容提供方客户端为所述内容请求方客户端生成响应令牌,并发送给所述内容请求方客户端。所述内容提供方客户端和所述内容请求方客户端各自根据所述响应令牌和所述内容请求方客户端生成的用户参考码,生成所述内容请求方客户端的个人令牌。
在实际应用中,所述用户参考码可以在所述内容请求方客户端发送所述订阅请求时或在收到内容提供方客户端发送的响应令牌后,由所述内容请求方客户端发送给所述内容提供方客户端。该用户参考码可以采用客户端随机生成或用户输入等方法实现,在此不再赘述。
所述个人令牌的具体生成方法可以采用现有技术实现,为本领域技术人员所掌握。例如,假设内容提供方客户端与内容请求方客户端之间的传输采用加密的方式实现,内容提供方客户端在有限域ZN *上为内容请求方(记作Uj)生成公钥证书与响应令牌
内容提供方客户端向内容请求方客户端发送内容提供方证书CertGM、订阅用户公钥证书和用加密后的响应令牌其中,表示对应的公钥;
内容请求方客户端在有限域ZN *上选择随机数作为用户参考码并用Pub_KeyGM加密后发送给内容提供方客户端;其中,Pub_KeyGM表示CertGM对应的公钥;
内容提供方客户端和内容请求方客户端分别在本地计算订阅用户Uj的个人令牌其中,hash()为哈希函数。
上述个人令牌的配置方法仅为一种可以提高个人令牌安全性的较佳实施例,该方法中,个人令牌是由内容提供方客户端和内容请求方客户端分别采用相同的方法进行计算得到的。在实际应用中并不限于此,例如,内容提供方客户端可以不需要内容请求方客户端生成的用户参考码直接生成个人令牌然后通知给内容请求方客户端。
步骤102中在生成一新的公开令牌时,需要生成该公开令牌的公开令牌时序特征码。该公开令牌时序特征码即为订阅用户组当前的加密密钥时序特征码。这样,由于加密文件的密文时序特征码和进行加密的加密密钥的加密密钥时序特征码相同,因此,同一加密密钥对应的公开令牌时序特征码和密文时序特征码将会相同。基于此,在后续过程中对加密文件进行解密时,可以通过将密文时序特征码与公开令牌时序特征码相比较,来获知利用公开令牌所得到的加密密钥是否为获得加密文件时所使用的加密密钥。
在实际应用中,公开令牌的具体生成可采用现有方法实现。例如,可以采用拉格朗日插值多项式的方式实现,即利用订阅用户组当前的加密密钥和组内所有用户的个人令牌构建得到一个t阶拉格朗日插值多项式,t为组内的订阅用户数,在该拉格朗日插值多项式上随机选择t个不同的平面坐标点,将该t个点的坐标值作为公开令牌即可。这样利用拉格朗日插值多项式的特点,利用任一用户的个人令牌和所述公开令牌,即可得到相应的所述加密密钥。具体地,基于步骤101中给出的密钥生成器,以上述个人令牌为例,可采用下述方法进行公开令牌的生成:
对于一订阅用户组第s次生成的加密密钥K0 (n-s+1),确定同时经过平面坐标点(0,K0 (n-s+1))和t个平面坐标点的t阶拉格朗日插值多项式h(s)(x);其中t为订阅用户组中成员个数,为订阅用户组中成员的个人令牌确定的平面坐标点;该多项式的具体形式为:其中,由拉格朗日插值法的原理可知,经过二维平面上t+1个点可确定出唯一的t阶拉格朗日插值多项式,因此,上述h(s)(x)是唯一的,具体h(s)(x)的系数的计算方式如下:
内容提供方客户端102在拉格朗日插值多项式h(s)(x)上随机选择t个不同的平面坐标点并将该t个点的坐标值作为公开令牌(pub_points_messs),该公开令牌(pub_points_messs)的公开令牌时序特征码即为该加密密钥K0 (n-s+1)的加密密钥时序特征码。
步骤103、所述内容请求方客户端在所述订阅请求被接受后,从所述服务器上下载所订阅文件的加密文件,利用本客户端的所述个人令牌以及从所述服务器上获取的本客户端所对应订阅用户组的公开令牌、公开令牌时序特征码和所下载加密文件的密文时序特征码,对所述加密文件进行解密。
本步骤用于实现对订阅文件的解密,以最终实现数据的分享。本步骤中订阅用户在对所下载的订阅文件进行解密时,不需要向上传文件的用户即内容提供方客户端索取密钥,因此,可以有效提高数据分享效率。
较佳地,可以采用下述步骤实现对加密文件的解密:
步骤x1、所述内容请求方客户端判断本地是否已经保存所下载加密文件所属订阅用户组的公开令牌,如果是,则执行步骤x2,否则,执行步骤x3。
这里需要说明的是,进行解密时需要先获取加密密钥,即进行加密密钥的重构,在重构时需要利用所属订阅用户组的公开令牌和个人令牌,其中,个人令牌已为内容请求方客户端在请求订阅时获得,而对于公开令牌,如果是首次解密则不会保存,因此,这里需要先判断是否已保存公开令牌。
在实际应用中,为了使密钥重构后可以直接或通过调整得到密文的加密密钥,需要确保进行密钥重构时所使用的公开令牌不早于密文生成的时间。因此,本步骤中如果本地已经保存所下载加密文件所属订阅用户组的公开令牌,则需要执行步骤x2判断是否需要对本地的公开令牌进行更新,如果没有保存,则直接执行步骤x3进行最新公开令牌以及对应的公开令牌时序特征码的下载即可。
步骤x2、判断本地保存的所述公开令牌的公开令牌时序特征码是否小于所下载加密文件的密文时序特征码,如果是,则执行步骤x3,否则,执行步骤x4。
这里,如果公开令牌时序特征码较小,说明公开令牌时序较早,则需要进入步骤x3,通过下载最新的公开令牌以及对应的公开令牌时序特征码,对本地的公开令牌以及相应的公开令牌时序特征码进行更新,以供密钥重构;如果密文时序特征码较小,说明公开令牌时序较晚,不需要再下载最新的公开令牌以及对应的公开令牌时序特征码,直接进入步骤x4执行密钥的重构。
步骤x3、从所述服务器上获取所下载加密文件所属订阅用户组的最新公开令牌以及对应的公开令牌时序特征码,并对本地保存的该订阅用户组的公开令牌以及相应的公开令牌时序特征码进行更新。
需要说明的是,利用上述步骤x1~x3,只在本地没有保存公开令牌时或者公开令牌的时序早于加密文件时才进行公开令牌的下载,以供后续密钥重构时使用,如此,可以最大程度地减少与服务器的交互次数,避免了每次密钥重构时都要从服务器中获取公开令牌,从而可以提高密钥重构的效率,进而可以提高密文解密的效率。
步骤x4、利用本地当前保存的所下载加密文件所属订阅用户组的公开令牌和本客户端的所述个人令牌,进行密钥重构,得到一个加密密钥。
本步骤中,利用公开令牌重构得到的加密密钥即为生成该公开令牌时所使用的加密密钥。
所述密钥重构的具体方法为本领域技术人员所掌握,在此不再赘述。
步骤x5、判断所下载加密文件所属订阅用户组的公开令牌时序特征码与所下载加密文件的密文时序特征码是否相等,如果是,则执行步骤x6,否则执行步骤x7。
本步骤,用于判断重构后所得到的加密密钥是否是用于生成加密文件的加密密钥,这里,如果进行重构时使用的公开令牌时序特征码与所下载加密文件的密文时序特征码相同,说明该加密文件是用重构后所得的加密密钥进行加密的,因此,可以进入步骤x6直接进行相应的密文解密即可得到相应的明文。如果进行重构时使用的公开令牌时序特征码与所下载加密文件的密文时序特征码不同,则需要执行步骤x7对重构后的密钥进行调整,获得所下载加密文件对应的加密密钥。
步骤x6、利用所述重构后得到的所述加密密钥,对所下载的所述加密文件进行解密,结束所述解密过程。
步骤x7、以重构后得到的所述加密密钥作为种子,采用M次迭代的方式进行密钥生成,利用第M次生成的密钥对所下载的所述加密文件进行解密,其中,第m次密钥生成的结果为第m+1次密钥生成的种子,所述M为所下载加密文件所属订阅用户组的公开令牌时序特征码与所下载加密文件的密文时序特征码的差,0<m<M;所述密钥生成的方法与所述内容提供方客户端为所述加密文件所属订阅用户组预先生成的所述密钥序列的生成方法相同。
本步骤中,需要通过迭代的方式,以重构后得到的所述加密密钥作为初始种子进行密钥的反复生成,最终获得所下载加密文件对应的加密密钥。即,以x4中得到的加密密钥为种子,生成输出密钥;然后再以该输出的密钥为种子,再生成输出密钥……该过程重复的次数M等于公开令牌的时序特征码与密文时序特征码之差,最后一次输出的密钥,即为密文的解密密钥。
较佳地,为了确保加密密钥的安全性,可以在有用户取消订阅时或加密密钥的预设生命周期结束时,对其进行更新,根据密钥预生成方法,更新后的密钥是生成当前密钥的种子,因此根据更新后密钥可以确定出当前密钥。当步骤101中利用预设的密钥序列配置加密密钥时,这里具体可以采用下述方法实现上述密钥更新的目的:
当所述内容提供方客户端的订阅用户取消订阅时,所述内容提供方客户端为该取消订阅的订阅用户所属订阅用户组配置新的加密密钥以及对应的加密密钥时序特征码,所述新的加密密钥为该订阅用户组当前的加密密钥在其所属密钥序列中的前一相邻密钥,利用该订阅用户组当前的所有订阅用户的个人令牌和所述新的加密密钥,对该订阅用户组的公开令牌进行更新,并将所述新的加密密钥的加密密钥时序特征码作为更新后的所述公开令牌的公开令牌时序特征码;将更新后的公开令牌和对应的公开令牌时序特征码通知给所述服务器。
这里,所配置的新的加密密钥为该订阅用户组当前的加密密钥在其所属密钥序列中的前一相邻密钥,根据密钥预生成方法,该新的密钥就是生成该订阅用户组当前的加密密钥的种子。
当所述订阅用户组当前的加密密钥过期时,所述内容提供方客户端为该过期的加密密钥所属订阅用户组配置新的加密密钥,所述新的加密密钥为该订阅用户组当前的加密密钥在其所属密钥序列中的前一相邻密钥,利用该订阅用户组当前的所有订阅用户的个人令牌和所述新的加密密钥,对该订阅用户组的公开令牌进行更新,并将所述新的加密密钥的加密密钥时序特征码作为更新后的所述公开令牌的公开令牌时序特征码;将更新后的公开令牌和对应的公开令牌时序特征码通知给所述服务器。
较佳地,为了提高加密密钥的可维护性,在内容提供方客户端本地保存的加密密钥丢失时,可以采用下述步骤使内容提供方客户端重新获得所丢失的加密密钥:
y1、当所述内容提供方客户端本地保存的所述内容请求方所属订阅用户组的加密密钥丢失时,向所述内容请求方客户端发送密钥恢复协助请求。
y2、所述内容请求方客户端根据所述密钥恢复协助请求,从所述服务器上获取所述内容请求方所属订阅用户组对应的最新公开令牌和公开令牌时序特征码。
y3、所述内容请求方客户端根据所述最新公开令牌和本客户端的所述个人令牌,进行密钥重构,得到一个加密密钥,将所述最新公开令牌的公开令牌时序特征码作为该加密密钥的加密密钥时序特征码;并将该加密密钥和其加密密钥时序特征码发送给所述内容提供方客户端。
本步骤中,内容请求方客户端通过密钥重构,得到生成所述最新公开令牌时所使用的加密密钥,该加密密钥的加密密钥时序特征码即为该最新公开令牌的公开令牌时序特征码。这里,由于最新公开令牌对应的加密密钥是最新配置的,而在进行加密密钥配置时,是按密钥生成的倒序配置的,即,在后配置的加密密钥为在前配置的加密密钥的种子,因此,在已知最新配置的加密密钥的情况下,采用相同的密钥生成方法,可得到之前配置的加密密钥。基于此,本步骤中内容请求方客户端需要将重构得到的加密密钥和其加密密钥时序特征码发送给所述内容提供方客户端,以供其进行密钥恢复。
y4、所述内容提供方客户端从所述服务器上获取所述内容请求方所属订阅用户组对应的最早的密文时序特征码;以所述内容请求方客户端发送的所述加密密钥作为密钥生成的种子,以所述最早的密文时序特征码作为对应的时序特征码生成的种子,采用K次迭代的方式进行密钥和对应时序特征码的生成,将所述内容请求方客户端发送的所述加密密钥与按照所述生成的正序排列的所述密钥组合得到一密钥重构序列,所述内容请求方客户端发送的所述加密密钥位于所述密钥重构序列的头部,将按照所述生成的反序排列的所述时序特征码与所述最早的密文时序特征码进行组合得到一时序特征码序列,将所述密钥重构序列中的密钥与所述时序特征码序列中的时序特征码建立一一对应关系;其中,所述密钥生成的方法与所述内容提供方客户端为所述内容请求方所属订阅用户组预先生成的所述密钥序列的生成方法相同;第k次密钥生成的结果为第k+1次密钥生成的种子,第k次时序特征码生成的结果为第k+1次时序特征码生成的种子,所述K为所述内容请求方客户端发送的所述加密密钥的时序特征码与所述最早的密文时序特征码的差,0<k<K。
本步骤与前述步骤x7相似,采用迭代的方式生成一系列的加密密钥,最后生成的一个加密密钥即为所述最早的密文时序特征码对应的加密密钥。这样,通过迭代生成所获得的密钥和所述内容请求方客户端发送的加密密钥即为所述内容请求方客户端能够帮助恢复的所属订阅用户组的加密密钥集合。
y5、所述内容提供方客户端将所述生成得到的所有密钥和所述内容请求方客户端发送的所述加密密钥,确定为所述丢失的加密密钥。
进一步地,为了提高订阅用户组可订阅文件的可维护性,在有新的订阅文件增加时,利用该组当前最新的加密密钥对其进行加密,并将相应的加密密钥时序特征码作为所述加密文件的密文时序特征码,然后将密文和密文时序特征码上传给服务器即可,这样,可以使每次对订阅文件进行加密时使用的加密密钥都为所属订阅用户组当前最新的加密密钥,而进行密钥更新时也不需要对之前已加密的文件进行重新更新和上传。具体采用下述方法实现这一目的:
对于每个所述订阅用户组,当本组增加了新的可订阅文件时,所述内容提供方客户端利用本组最新的加密密钥对本组的可订阅文件进行加密得到加密文件,将本组最新的所述加密密钥时序特征码作为所述加密文件的密文时序特征码,并将所述加密文件和其密文时序特征码存储至服务器。
图2为与上述方法实施例相对应的系统的结构示意图,如图2所示,该系统包括:内容提供方客户端、内容请求方客户端和服务器,其中:
所述内容提供方客户端,用于为每个订阅用户组分别配置加密密钥和加密密钥时序特征码;对于每个所述订阅用户组,利用本组的所述加密密钥对本组的可订阅文件进行加密,将本组的所述加密密钥时序特征码作为所述加密文件的密文时序特征码,将所述加密后的加密文件和其密文时序特征码存储至服务器;在接受内容请求方客户端的订阅请求时,为所述内容请求方客户端配置个人令牌;为所述内容请求方所属订阅用户组,利用本组当前的所述加密密钥和所有订阅用户的个人令牌,更新本组的公开令牌,并将本组当前的加密密钥时序特征码作为其公开令牌时序特征码,将更新后的公开令牌和所述公开令牌时序特征码通知给所述服务器;
所述内容请求方客户端,用于在所述订阅请求被接受后,从所述服务器上下载所订阅文件的加密文件,利用本客户端的所述个人令牌以及从所述服务器上获取的本客户端所对应订阅用户组的公开令牌、公开令牌时序特征码和所下载加密文件的密文时序特征码,对所述加密文件进行解密。
较佳地,所述内容提供方客户端包括密钥配置单元,所述密钥配置单元用于预先为每个订阅用户组分别生成一个密钥序列,每次为所述订阅用户组配置加密密钥时,从其密钥序列的尾部取出一个密钥作为当前所配置的加密密钥,并将所取出的密钥从所述密钥序列的尾部删除。
较佳地,所述服务器,用于在接收到来自所述内容提供方客户端的所述加密文件和其密文时序特征码后,判断当前是否存在与所述加密文件同名的文件,如果存在,则通知所述内容提供方客户端确认是否同意覆盖旧文件;在所述确认的反馈信息为同意覆盖时,对所述加密文件和其密文时序特征码进行存储并更新相应的文件索引表,向所述内容提供方客户端发送文件存储成功消息;在所述确认的反馈信息为不同意覆盖时,向所述内容提供方客户端发送文件存储失败消息。
较佳地,所述内容提供方客户端包括个人令牌配置单元,所述个人令牌配置单元,用于为所述内容请求方客户端生成响应令牌,并发送给所述内容请求方客户端;根据所述响应令牌和所述内容请求方客户端生成的用户参考码,生成所述内容请求方客户端的个人令牌;
所述内容请求方客户端包括个人令牌生成单元,所述个人令牌生成单元用于生成所述用户参考码,并在发送所述订阅请求时或收到所述响应令牌后,发送给所述内容提供方客户端,根据所述响应令牌和所述内容请求方客户端生成的用户参考码,生成所述内容请求方客户端的个人令牌。
较佳地,所述内容请求方客户端包括解密单元,所述解密单元用于判断本地是否已经保存所下载加密文件所属订阅用户组的公开令牌,如果未保存,则从所述服务器上获取所下载加密文件所属订阅用户组的最新公开令牌以及对应的公开令牌时序特征码;如果已保存,则判断本地保存的所述公开令牌的公开令牌时序特征码是否小于所下载加密文件的密文时序特征码,如果是,从所述服务器上获取所下载加密文件所属订阅用户组的最新公开令牌以及对应的公开令牌时序特征码,并对本地保存的该订阅用户组的公开令牌以及相应的公开令牌时序特征码进行更新;利用本地当前保存的所下载加密文件所属订阅用户组的公开令牌和本客户端的所述个人令牌,进行密钥重构,得到一个加密密钥;判断所下载加密文件所属订阅用户组的公开令牌时序特征码与所下载加密文件的密文时序特征码是否相等,如果是,则利用所述重构后得到的所述加密密钥,对所下载的所述加密文件进行解密,否则,以重构后得到的所述加密密钥作为种子,采用M次迭代的方式进行密钥生成,利用第M次生成的密钥对所下载的所述加密文件进行解密,其中,第m次密钥生成的结果为第m+1次密钥生成的种子,所述M为所下载加密文件所属订阅用户组的公开令牌时序特征码与所下载加密文件的密文时序特征码的差,0<m<M;所述密钥生成的方法与所述内容提供方客户端为所述加密文件所属订阅用户组预先生成的所述密钥序列的生成方法相同。
较佳地,所述内容提供方客户端,进一步用于当所述内容提供方客户端的订阅用户取消订阅时,为该取消订阅的订阅用户所属订阅用户组配置新的加密密钥以及对应的加密密钥时序特征码,所述新的加密密钥为该订阅用户组当前的加密密钥在其所属密钥序列中的前一相邻密钥,利用该订阅用户组当前的所有订阅用户的个人令牌和所述新的加密密钥,对该订阅用户组的公开令牌进行更新,并将所述新的加密密钥的加密密钥时序特征码作为更新后的所述公开令牌的公开令牌时序特征码;将更新后的公开令牌和对应的公开令牌时序特征码通知给所述服务器。
较佳地,所述内容提供方客户端进一步用于:当所述订阅用户组当前的加密密钥过期时,为该过期的加密密钥所属订阅用户组配置新的加密密钥,所述新的加密密钥为该订阅用户组当前的加密密钥在其所属密钥序列中的前一相邻密钥,利用该订阅用户组当前的所有订阅用户的个人令牌和所述新的加密密钥,对该订阅用户组的公开令牌进行更新,并将所述新的加密密钥的加密密钥时序特征码作为更新后的所述公开令牌的公开令牌时序特征码;将更新后的公开令牌和对应的公开令牌时序特征码通知给所述服务器。
较佳地,所述内容提供方客户端进一步用于:当所述内容提供方客户端本地保存的所述内容请求方所属订阅用户组的加密密钥丢失时,向所述内容请求方客户端发送密钥恢复协助请求;从所述服务器上获取所述内容请求方所属订阅用户组对应的最早的密文时序特征码;以所述内容请求方客户端发送的所述加密密钥作为密钥生成的种子,以所述最早的密文时序特征码作为对应的时序特征码生成的种子,采用K次迭代的方式进行密钥和对应时序特征码的生成,将所述内容请求方客户端发送的所述加密密钥与按照所述生成的正序排列的所述密钥组合得到一密钥重构序列,所述内容请求方客户端发送的所述加密密钥位于所述密钥重构序列的头部,将按照所述生成的反序排列的所述时序特征码与所述最早的密文时序特征码进行组合得到一时序特征码序列,将所述密钥重构序列中的密钥与所述时序特征码序列中的时序特征码建立一一对应关系;其中,所述密钥生成的方法与所述内容提供方客户端为所述内容请求方所属订阅用户组预先生成的所述密钥序列的生成方法相同;第k次密钥生成的结果为第k+1次密钥生成的种子,第k次时序特征码生成的结果为第k+1次时序特征码生成的种子,所述K为所述内容请求方客户端发送的所述加密密钥的时序特征码与所述最早的密文时序特征码的差,0<k<K;将所述生成得到的所有密钥和所述内容请求方客户端发送的所述加密密钥,确定为所述丢失的加密密钥。
所述内容请求方客户端进一步用于:根据所述密钥恢复协助请求,从所述服务器上获取所述内容请求方所属订阅用户组对应的最新公开令牌和公开令牌时序特征码;根据所述最新公开令牌和本客户端的所述个人令牌,进行密钥重构,得到一个加密密钥,将所述最新公开令牌的公开令牌时序特征码作为该加密密钥的加密密钥时序特征码;并将该加密密钥和其加密密钥时序特征码发送给所述内容提供方客户端。
较佳地,所述内容提供方客户端进一步用于:对于每个所述订阅用户组,当本组增加了新的可订阅文件时,利用本组最新的加密密钥对本组的可订阅文件进行加密得到加密文件,将本组最新的所述加密密钥时序特征码作为所述加密文件的密文时序特征码,并将所述加密文件和其密文时序特征码存储至服务器。
综上所述,以上仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (18)
1.一种用户数据分享的方法,其特征在于,包括:
内容提供方客户端为每个订阅用户组分别配置加密密钥和加密密钥时序特征码;对于每个所述订阅用户组,利用本组的所述加密密钥对本组的可订阅文件进行加密,将本组的所述加密密钥时序特征码作为所述加密文件的密文时序特征码,将所述加密后的加密文件和其密文时序特征码存储至服务器;
当所述内容提供方客户端接受内容请求方客户端的订阅请求时,为所述内容请求方客户端配置个人令牌;为所述内容请求方所属订阅用户组,利用本组当前的所述加密密钥和所有订阅用户的个人令牌,更新本组的公开令牌,并将本组当前的加密密钥时序特征码作为其公开令牌时序特征码,将更新后的公开令牌和公开令牌时序特征码通知给所述服务器;
所述内容请求方客户端在所述订阅请求被接受后,从所述服务器上下载所订阅文件的加密文件,利用本客户端的所述个人令牌以及从所述服务器上获取的本客户端所对应订阅用户组的公开令牌、公开令牌时序特征码和所下载加密文件的密文时序特征码,对所述加密文件进行解密。
2.根据权利要求1所述的方法,其特征在于,所述配置加密密钥包括:
所述内容提供方客户端预先为每个订阅用户组分别生成一个密钥序列,每次为所述订阅用户组配置加密密钥时,从其密钥序列的尾部取出一个密钥作为当前所配置的加密密钥,并将所取出的密钥从所述密钥序列的尾部删除。
3.根据权利要求1所述的方法,其特征在于,将所述加密文件和其密文时序特征码存储至服务器包括:
所述服务器判断当前是否存在与所述加密文件同名的文件,如果存在,则通知所述内容提供方客户端确认是否同意覆盖旧文件;
如果所述确认的反馈信息为同意覆盖,则所述服务器对所述加密文件和其密文时序特征码进行存储并更新相应的文件索引表,向所述内容提供方客户端发送文件存储成功消息;否则,向所述内容提供方客户端发送文件存储失败消息。
4.根据权利要求1所述的方法,其特征在于,所述配置个人令牌包括:
所述内容提供方客户端为所述内容请求方客户端生成响应令牌,并发送给所述内容请求方客户端;
所述内容提供方客户端和所述内容请求方客户端各自根据所述响应令牌和所述内容请求方客户端生成的用户参考码,生成所述内容请求方客户端的个人令牌;
其中,所述用户参考码由所述内容请求方客户端在发送所述订阅请求时或收到所述响应令牌后,由所述内容请求方客户端发送给所述内容提供方客户端。
5.根据权利要求2所述的方法,其特征在于,对所述加密文件进行解密包括:
x1、所述内容请求方客户端判断本地是否已经保存所下载加密文件所属订阅用户组的公开令牌,如果是,则执行步骤x2,否则,执行步骤x3;
x2、判断本地保存的所述公开令牌的公开令牌时序特征码是否小于所下载加密文件的密文时序特征码,如果是,则执行步骤x3,否则,执行步骤x4;
x3、从所述服务器上获取所下载加密文件所属订阅用户组的最新公开令牌以及对应的公开令牌时序特征码,并对本地保存的该订阅用户组的公开令牌以及相应的公开令牌时序特征码进行更新;
x4、利用本地当前保存的所下载加密文件所属订阅用户组的公开令牌和本客户端的所述个人令牌,进行密钥重构,得到一个加密密钥;
x5、判断所下载加密文件所属订阅用户组的公开令牌时序特征码与所下载加密文件的密文时序特征码是否相等,如果是,则执行步骤x6,否则执行步骤x7;
x6、利用所述重构后得到的所述加密密钥,对所下载的所述加密文件进行解密,结束所述解密过程;
x7、以重构后得到的所述加密密钥作为种子,采用M次迭代的方式进行密钥生成,利用第M次生成的密钥对所下载的所述加密文件进行解密,其中,第m次密钥生成的结果为第m+1次密钥生成的种子,所述M为所下载加密文件所属订阅用户组的公开令牌时序特征码与所下载加密文件的密文时序特征码的差,0<m<M;所述密钥生成的方法与所述内容提供方客户端为所述加密文件所属订阅用户组预先生成的所述密钥序列的生成方法相同。
6.根据权利要求2所述的方法,其特征在于,所述方法进一步包括:
当所述内容提供方客户端的订阅用户取消订阅时,所述内容提供方客户端为该取消订阅的订阅用户所属订阅用户组配置新的加密密钥以及对应的加密密钥时序特征码,所述新的加密密钥为该订阅用户组当前的加密密钥在其所属密钥序列中的前一相邻密钥,利用该订阅用户组当前的所有订阅用户的个人令牌和所述新的加密密钥,对该订阅用户组的公开令牌进行更新,并将所述新的加密密钥的加密密钥时序特征码作为更新后的所述公开令牌的公开令牌时序特征码;将更新后的公开令牌和对应的公开令牌时序特征码通知给所述服务器。
7.根据权利要求2所述的方法,其特征在于,所述方法进一步包括:
当所述订阅用户组当前的加密密钥过期时,所述内容提供方客户端为该过期的加密密钥所属订阅用户组配置新的加密密钥,所述新的加密密钥为该订阅用户组当前的加密密钥在其所属密钥序列中的前一相邻密钥,利用该订阅用户组当前的所有订阅用户的个人令牌和所述新的加密密钥,对该订阅用户组的公开令牌进行更新,并将所述新的加密密钥的加密密钥时序特征码作为更新后的所述公开令牌的公开令牌时序特征码;将更新后的公开令牌和对应的公开令牌时序特征码通知给所述服务器。
8.根据权利要求2所述的方法,其特征在于,所述方法进一步包括:
y1、当所述内容提供方客户端本地保存的所述内容请求方所属订阅用户组的加密密钥丢失时,向所述内容请求方客户端发送密钥恢复协助请求;
y2、所述内容请求方客户端根据所述密钥恢复协助请求,从所述服务器上获取所述内容请求方所属订阅用户组对应的最新公开令牌和公开令牌时序特征码;
y3、所述内容请求方客户端根据所述最新公开令牌和本客户端的所述个人令牌,进行密钥重构,得到一个加密密钥,将所述最新公开令牌的公开令牌时序特征码作为该加密密钥的加密密钥时序特征码;并将该加密密钥和其加密密钥时序特征码发送给所述内容提供方客户端;
y4、所述内容提供方客户端从所述服务器上获取所述内容请求方所属订阅用户组对应的最早的密文时序特征码;以所述内容请求方客户端发送的所述加密密钥作为密钥生成的种子,以所述最早的密文时序特征码作为对应的时序特征码生成的种子,采用K次迭代的方式进行密钥和对应时序特征码的生成,将所述内容请求方客户端发送的所述加密密钥与按照生成的正序排列的所述密钥组合得到一密钥重构序列,所述内容请求方客户端发送的所述加密密钥位于所述密钥重构序列的头部,将按照生成的反序排列的所述时序特征码与所述最早的密文时序特征码进行组合得到一时序特征码序列,将所述密钥重构序列中的密钥与所述时序特征码序列中的时序特征码建立一一对应关系;其中,所述密钥生成的方法与所述内容提供方客户端为所述内容请求方所属订阅用户组预先生成的所述密钥序列的生成方法相同;第k次密钥生成的结果为第k+1次密钥生成的种子,第k次时序特征码生成的结果为第k+1次时序特征码生成的种子,所述K为所述内容请求方客户端发送的所述加密密钥的时序特征码与所述最早的密文时序特征码的差,0<k<K;
y5、所述内容提供方客户端将所述生成得到的所有密钥和所述内容请求方客户端发送的所述加密密钥,确定为所述丢失的加密密钥。
9.根据权利要求1所述的方法,其特征在于,所述方法进一步包括:对于每个所述订阅用户组,当本组增加了新的可订阅文件时,所述内容提供方客户端利用本组最新的加密密钥对本组的可订阅文件进行加密得到加密文件,将本组最新的所述加密密钥时序特征码作为所述加密文件的密文时序特征码,并将所述加密文件和其密文时序特征码存储至服务器。
10.一种用户数据分享的系统,其特征在于,包括:内容提供方客户端、内容请求方客户端和服务器,其中,
所述内容提供方客户端,用于为每个订阅用户组分别配置加密密钥和加密密钥时序特征码;对于每个所述订阅用户组,利用本组的所述加密密钥对本组的可订阅文件进行加密,将本组的所述加密密钥时序特征码作为所述加密文件的密文时序特征码,将所述加密后的加密文件和其密文时序特征码存储至服务器;在接受内容请求方客户端的订阅请求时,为所述内容请求方客户端配置个人令牌;为所述内容请求方所属订阅用户组,利用本组当前的所述加密密钥和所有订阅用户的个人令牌,更新本组的公开令牌,并将本组当前的加密密钥时序特征码作为其公开令牌时序特征码,将更新后的公开令牌和所述公开令牌时序特征码通知给所述服务器;
所述内容请求方客户端,用于在所述订阅请求被接受后,从所述服务器上下载所订阅文件的加密文件,利用本客户端的所述个人令牌以及从所述服务器上获取的本客户端所对应订阅用户组的公开令牌、公开令牌时序特征码和所下载加密文件的密文时序特征码,对所述加密文件进行解密。
11.根据权利要求10所述的系统,其特征在于,所述内容提供方客户端包括密钥配置单元,所述密钥配置单元用于预先为每个订阅用户组分别生成一个密钥序列,每次为所述订阅用户组配置加密密钥时,从其密钥序列的尾部取出一个密钥作为当前所配置的加密密钥,并将所取出的密钥从所述密钥序列的尾部删除。
12.根据权利要求10所述的系统,其特征在于,所述服务器,用于在接收到来自所述内容提供方客户端的所述加密文件和其密文时序特征码后,判断当前是否存在与所述加密文件同名的文件,如果存在,则通知所述内容提供方客户端确认是否同意覆盖旧文件;在所述确认的反馈信息为同意覆盖时,对所述加密文件和其密文时序特征码进行存储并更新相应的文件索引表,向所述内容提供方客户端发送文件存储成功消息;在所述确认的反馈信息为不同意覆盖时,向所述内容提供方客户端发送文件存储失败消息。
13.根据权利要求10所述的系统,其特征在于,所述内容提供方客户端包括个人令牌配置单元,所述个人令牌配置单元,用于为所述内容请求方客户端生成响应令牌,并发送给所述内容请求方客户端;根据所述响应令牌和所述内容请求方客户端生成的用户参考码,生成所述内容请求方客户端的个人令牌;
所述内容请求方客户端包括个人令牌生成单元,所述个人令牌生成单元用于生成所述用户参考码,并在发送所述订阅请求时或收到所述响应令牌后,发送给所述内容提供方客户端,根据所述响应令牌和所述内容请求方客户端生成的用户参考码,生成所述内容请求方客户端的个人令牌。
14.根据权利要求11所述的系统,其特征在于,所述内容请求方客户端包括解密单元,所述解密单元用于判断本地是否已经保存所下载加密文件所属订阅用户组的公开令牌,如果未保存,则从所述服务器上获取所下载加密文件所属订阅用户组的最新公开令牌以及对应的公开令牌时序特征码;如果已保存,则判断本地保存的所述公开令牌的公开令牌时序特征码是否小于所下载加密文件的密文时序特征码,如果是,从所述服务器上获取所下载加密文件所属订阅用户组的最新公开令牌以及对应的公开令牌时序特征码,并对本地保存的该订阅用户组的公开令牌以及相应的公开令牌时序特征码进行更新;利用本地当前保存的所下载加密文件所属订阅用户组的公开令牌和本客户端的所述个人令牌,进行密钥重构,得到一个加密密钥;判断所下载加密文件所属订阅用户组的公开令牌时序特征码与所下载加密文件的密文时序特征码是否相等,如果是,则利用所述重构后得到的所述加密密钥,对所下载的所述加密文件进行解密,否则,以重构后得到的所述加密密钥作为种子,采用M次迭代的方式进行密钥生成,利用第M次生成的密钥对所下载的所述加密文件进行解密,其中,第m次密钥生成的结果为第m+1次密钥生成的种子,所述M为所下载加密文件所属订阅用户组的公开令牌时序特征码与所下载加密文件的密文时序特征码的差,0<m<M;所述密钥生成的方法与所述内容提供方客户端为所述加密文件所属订阅用户组预先生成的所述密钥序列的生成方法相同。
15.根据权利要求11所述的系统,其特征在于,所述内容提供方客户端,进一步用于当所述内容提供方客户端的订阅用户取消订阅时,为该取消订阅的订阅用户所属订阅用户组配置新的加密密钥以及对应的加密密钥时序特征码,所述新的加密密钥为该订阅用户组当前的加密密钥在其所属密钥序列中的前一相邻密钥,利用该订阅用户组当前的所有订阅用户的个人令牌和所述新的加密密钥,对该订阅用户组的公开令牌进行更新,并将所述新的加密密钥的加密密钥时序特征码作为更新后的所述公开令牌的公开令牌时序特征码;将更新后的公开令牌和对应的公开令牌时序特征码通知给所述服务器。
16.根据权利要求11所述的系统,其特征在于,所述内容提供方客户端进一步用于:当所述订阅用户组当前的加密密钥过期时,为该过期的加密密钥所属订阅用户组配置新的加密密钥,所述新的加密密钥为该订阅用户组当前的加密密钥在其所属密钥序列中的前一相邻密钥,利用该订阅用户组当前的所有订阅用户的个人令牌和所述新的加密密钥,对该订阅用户组的公开令牌进行更新,并将所述新的加密密钥的加密密钥时序特征码作为更新后的所述公开令牌的公开令牌时序特征码;将更新后的公开令牌和对应的公开令牌时序特征码通知给所述服务器。
17.根据权利要求11所述的系统,其特征在于,所述内容提供方客户端进一步用于:当所述内容提供方客户端本地保存的所述内容请求方所属订阅用户组的加密密钥丢失时,向所述内容请求方客户端发送密钥恢复协助请求;从所述服务器上获取所述内容请求方所属订阅用户组对应的最早的密文时序特征码;以所述内容请求方客户端发送的所述加密密钥作为密钥生成的种子,以所述最早的密文时序特征码作为对应的时序特征码生成的种子,采用K次迭代的方式进行密钥和对应时序特征码的生成,将所述内容请求方客户端发送的所述加密密钥与按照生成的正序排列的所述密钥组合得到一密钥重构序列,所述内容请求方客户端发送的所述加密密钥位于所述密钥重构序列的头部,将按照生成的反序排列的所述时序特征码与所述最早的密文时序特征码进行组合得到一时序特征码序列,将所述密钥重构序列中的密钥与所述时序特征码序列中的时序特征码建立一一对应关系;其中,所述密钥生成的方法与所述内容提供方客户端为所述内容请求方所属订阅用户组预先生成的所述密钥序列的生成方法相同;第k次密钥生成的结果为第k+1次密钥生成的种子,第k次时序特征码生成的结果为第k+1次时序特征码生成的种子,所述K为所述内容请求方客户端发送的所述加密密钥的时序特征码与所述最早的密文时序特征码的差,0<k<K;将所述生成得到的所有密钥和所述内容请求方客户端发送的所述加密密钥,确定为所述丢失的加密密钥;
所述内容请求方客户端进一步用于:根据所述密钥恢复协助请求,从所述服务器上获取所述内容请求方所属订阅用户组对应的最新公开令牌和公开令牌时序特征码;根据所述最新公开令牌和本客户端的所述个人令牌,进行密钥重构,得到一个加密密钥,将所述最新公开令牌的公开令牌时序特征码作为该加密密钥的加密密钥时序特征码;并将该加密密钥和其加密密钥时序特征码发送给所述内容提供方客户端。
18.根据权利要求10所述的系统,其特征在于,所述内容提供方客户端进一步用于:对于每个所述订阅用户组,当本组增加了新的可订阅文件时,利用本组最新的加密密钥对本组的可订阅文件进行加密得到加密文件,将本组最新的所述加密密钥时序特征码作为所述加密文件的密文时序特征码,并将所述加密文件和其密文时序特征码存储至服务器。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410410526.7A CN104168320B (zh) | 2014-08-19 | 2014-08-19 | 一种用户数据分享的方法和系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410410526.7A CN104168320B (zh) | 2014-08-19 | 2014-08-19 | 一种用户数据分享的方法和系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104168320A CN104168320A (zh) | 2014-11-26 |
CN104168320B true CN104168320B (zh) | 2018-01-26 |
Family
ID=51911941
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410410526.7A Active CN104168320B (zh) | 2014-08-19 | 2014-08-19 | 一种用户数据分享的方法和系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104168320B (zh) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106487761B (zh) * | 2015-08-28 | 2020-03-10 | 华为终端有限公司 | 一种消息传输方法和网络设备 |
CN105282143B (zh) * | 2015-09-09 | 2018-06-01 | 北京航空航天大学 | 消息访问控制方法、装置和系统 |
CN105897784B (zh) * | 2016-07-01 | 2019-03-26 | 三星电子(中国)研发中心 | 物联网终端设备加密通信方法和装置 |
CN106570322B (zh) * | 2016-10-26 | 2019-05-03 | 张景飞 | 一种基于移动互联网技术建立心理测评档案的系统 |
CN110012048B (zh) | 2018-11-22 | 2021-11-12 | 创新先进技术有限公司 | 信息识别码生成方法、装置、电子设备及计算机存储介质 |
CN111049726B (zh) * | 2019-11-13 | 2023-06-30 | 北京达佳互联信息技术有限公司 | 文件分享方法、装置、系统、客户端、服务器及存储介质 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103561034A (zh) * | 2013-11-11 | 2014-02-05 | 武汉理工大学 | 一种安全文件共享系统 |
CN103957101A (zh) * | 2014-05-15 | 2014-07-30 | 三星电子(中国)研发中心 | 一种群组通信中的组密钥建立方法 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN100342687C (zh) * | 2003-07-22 | 2007-10-10 | 华为技术有限公司 | 一种多播/广播业务群组共享密钥的更新方法 |
US7412063B2 (en) * | 2004-03-31 | 2008-08-12 | International Business Machines Corporation | Controlling delivery of broadcast encryption content for a network cluster from a content server outside the cluster |
CN101282211B (zh) * | 2008-05-09 | 2011-07-06 | 西安西电捷通无线网络通信股份有限公司 | 一种密钥分配方法 |
CN101951602A (zh) * | 2010-10-13 | 2011-01-19 | 上海电力学院 | 一种可自愈并带头节点撤销的密钥分发方法 |
CN103825885A (zh) * | 2014-01-23 | 2014-05-28 | 广东顺德中山大学卡内基梅隆大学国际联合研究院 | 一种互联网内容加密发布方法及系统 |
-
2014
- 2014-08-19 CN CN201410410526.7A patent/CN104168320B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103561034A (zh) * | 2013-11-11 | 2014-02-05 | 武汉理工大学 | 一种安全文件共享系统 |
CN103957101A (zh) * | 2014-05-15 | 2014-07-30 | 三星电子(中国)研发中心 | 一种群组通信中的组密钥建立方法 |
Non-Patent Citations (1)
Title |
---|
公共云存储服务数据安全及隐私保护技术综述;李晖等;《计算机研究与发展 2014年》;20140731(第7期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN104168320A (zh) | 2014-11-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11146391B2 (en) | Orthogonal access control for groups via multi-hop transform encryption | |
US9922207B2 (en) | Storing user data in a service provider cloud without exposing user-specific secrets to the service provider | |
JP4855940B2 (ja) | 暗号用鍵の世代の効率的な管理 | |
CN106254324B (zh) | 一种存储文件的加密方法及装置 | |
CN103731432B (zh) | 一种支持多用户的可搜索加密方法 | |
CN111523133B (zh) | 一种区块链与云端数据协同共享方法 | |
CN104168320B (zh) | 一种用户数据分享的方法和系统 | |
JP6363032B2 (ja) | 鍵付替え方向制御システムおよび鍵付替え方向制御方法 | |
CN111526197B (zh) | 一种云端数据安全共享方法 | |
CN108989026A (zh) | 一种发布/订阅环境下用户属性可撤销的方法 | |
Madhumala et al. | Secure file storage & sharing on cloud using cryptography | |
Qinlong et al. | Improving security and efciency for encrypted data sharing in online social networks | |
KR101140576B1 (ko) | 암호화 문서에 대한 다자간 검색 시스템 및 그 방법 | |
Ramachandran et al. | Secure and efficient data forwarding in untrusted cloud environment | |
Kanimozhi et al. | Secure sharing of IOT data in cloud environment using attribute-based encryption | |
Ma et al. | A secure and efficient data deduplication scheme with dynamic ownership management in cloud computing | |
CN109412788B (zh) | 基于公共密钥池的抗量子计算代理云存储安全控制方法和系统 | |
CN111541731B (zh) | 一种基于区块链和知悉范围加密的电子文件访问控制方法 | |
Chuang et al. | An Efficient GDPR-Compliant Data Management for IoHT Applications | |
JP2001209306A (ja) | メッセージ符号化方法 | |
Nusrat et al. | Simplified FADE with sharing feature (SFADE+): A overlay approach for cloud storage system | |
Elumalai et al. | Secure and efficient data storage with Rivest Shamir Adleman algorithm in cloud environment | |
CN112865968B (zh) | 数据密文托管方法、系统、计算机设备及存储介质 | |
Kim et al. | Secure and efficient storage of video data in a cctv environment | |
JP2006227411A (ja) | 通信システム、暗号化装置、鍵生成装置、鍵生成方法、復元装置、通信方法、暗号化方法、暗号復元方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |