一种多用户环境下基于公钥加密的文件分类方法和系统与流程

文档序号:11407354阅读:265来源:国知局
一种多用户环境下基于公钥加密的文件分类方法和系统与流程

本发明涉及云计算安全技术领域,具体涉及一种多用户环境下基于公钥加密的文件分类方法和文件分类系统。



背景技术:

随着云计算的飞速发展,越来越多的文件被外包到云上以减少用户端的存储负担,但有的时候为了更好地管理文件,需要根据文件的一些属性对文件进行分类,比如每个文件都有相应的关键词,根据关键词对文件进行分类。如果这些都要依靠手工来完成的话,会消耗大量的人力物力,并且可能导致一些不必要的信息泄露。所以我们把这些工作交给云服务器来完成,但是,因为云服务器是一个公共的平台,数据的安全会受到威胁,为了不泄露数据的隐私,要将数据加密后外包存储在云服务器。

传统的文件分类方法大多数都是根据明文进行分类,没有考虑数据的隐私,这样数据的安全性不能得到保证,所以需要一种安全可靠的文件分类方法。在实施本发明的过程中,我们对文件内容进行加密,对文件关键词密文进行分类,进而可以解决文件分类安全的问题。

文件的分类可以理解成在文件中搜索相应的关键词,把搜索到的相同关键词的文件归为一类。然而,传统的密文搜索方法大多只适合在单用户环境,无法应用到多用户环境中,也就是说只能对单个用户的文件进行关键词搜索分类。而在实际应用中,比如一个公司,要对公司的所有文件进行整理分类,不同的部门,不同的职位都保存有相应的文件,这就是一个多用户的场景,因此,在实施本发明的过程中,我们考虑多用户环境,每个用户都加密他们的文件,并存储外包到云服务器,云服务器根据用户和文件管理者的授权将他们加密的文件依据关键词或者其他一些分类的标准进行分类,实现保护文件的分类和对文件内容的隐私保护。



技术实现要素:

本发明的目的在于克服现有的不足,在保护文件数据隐私的前提下,提供一种多用户环境下基于公钥加密的文件分类方法和文件分类系统。

为此,本发明一方面提供了一种多用户环境下基于公钥加密的文件分类方法,包括以下步骤:(1)系统初始化,生成公开参数;(2)为系统中文件管理者和每个用户生成一对公/私钥对;(3)加密文件的关键词和文件内容,并将加密的关键词和内容密文外包存储至云服务器;(4)用户和文件管理者分别生成陷门授权给云服务器,让云服务器拥有执行关键词等值匹配的权利;(5)云服务器执行关键词等值匹配,将文件按照关键词类别分类整理。

进一步地,所述步骤(1)的具体过程为:

系统(指可信权威机构),应用双线性群产生算法g是群g的生成元,g1是群g1的生成元;选择安全的哈希函数l1和l2分别表示g和zp中元素的长度;则系统公开参数(publicparameter,pp)为pp=(p,e,g,g1,gt,g,g1,h1,h2,h3)。其中,p为一个素数,zp为模p构成的有限域。算法输入一个安全参数1λ,输出一个阶为p的双线性群(e,g,g1,gt)满足e:g×g1→gt。

进一步地,所述步骤(2)的具体过程为:

(21)为文件管理者生成一对公/私钥对(pkf,skf),随机选择并计算和skf=(xf,yf);

(22)为每个用户生成一对公/私钥对:假设系统中有n个用户{u1,u2,…,un},为每个用户ui(1≤i≤n)生成一对公/私钥对(pki,ski),随机选择并计算其中i=1,2,...,n;对于每个用户ui,接收者ui的公钥和私钥分别为:和ski=(xi,yi)。

进一步地,所述步骤(3)的具体过程为:

用户ui利用其公钥pki对文件mi及其关键词wi进行加密。

(31)首先,对文件mi加密我们使用对称加密算法,密文为ek(mi),具体细节不再阐述,然后使用公钥加密算法对关键词wi进行加密,随机选择并计算,ci,4||wi||ri,1),生成密文为:ci=(ci,1,ci,2,ci,3,ci,4,ci,5)。

(32)文件管理者也会利用其公钥pkf对指定的分类标准,比如关键词进行加密,假设这里所有需要分类关键词是l个(w1,w2,…,wl)使用上述公钥加密算法进行加密,密文用cf表示。

进一步地,所述步骤(4)的具体过程为:

(41)用户陷门生成:利用用户的私钥,为用户ui生成授权陷门tdi=yi。

(42)文件管理者陷门生成:利用文件管理者的私钥,为文件管理者生成授权陷门tdf=yf。

进一步地,所述步骤(5)的具体过程为:

云服务器将一个用户加密的关键词密文和文件管理者加密的关键词密文进行相等性判断,按关键词对文件进行分类。

为了比较用户ui和文件管理者的密文对应的文件关键词是否相等,云服务器首先需要接收到ui和文件管理者发送的陷门,运行test(ci,tdi,cf,tdf)计算如果h3(mi)=h3(mf),则表示用户ui的密文对应的关键词和文件管理者的密文对应的关键词相等,归为一类。要比较ui的所有文件的关键词密文需要将其密文与文件管理者生成的关键词密文进行一一比较。

根据本发明的另一方面,提供了一种多用户环境下基于公钥加密的文件分类系统,包括可信的授权机构、多个用户、文件管理者、以及云服务器,其中,所述可信的授权机构上存储有系统程序,该系统程序在执行时实现以下步骤:系统初始化,生成公开参数;以及为系统中文件管理者和每个用户生成一对公/私钥对;所述多个用户上存储有客户端程序,该客户端程序在执行时实行以下步骤:用户对文件的关键词和文件内容进行加密,并将加密的关键词和内容密文外包存储至云服务器;以及用户生成陷门授权给云服务器;所述文件管理上存储有管理端程序,该管理端程序在执行时实现以下步骤:管理者按关键词分类规则,一一将关键词用自己的公钥加密后外包存储至云服务器;当需要将用户上传的文件进行分类时,管理者发送一个授权陷门给云服务器,让云服务器拥有执行关键词等值匹配的权利;以及所述云服务器上存储有分类整理程序,该分类整理程序在执行时实现以下步骤:云服务器执行关键词等值匹配,将文件按照关键词类别分类整理。

本发明的优点是:让云服务器完成按关键词对文件的分类,减少了人力的消耗;对分类文件内容进行了加密,很好地保护了数据的隐私,并且云服务器在分类过程中得不到任何关于分类标准关键词和文件内容的信息;适用于多用户环境,可以在多用户环境下使用分类算法来判断文件该分为哪一类,符合实际需求。

除了上面所描述的目的、特征和优点之外,本发明还有其它的目的、特征和优点。下面将参照图,对本发明作进一步详细的说明。

附图说明

构成本申请的一部分的说明书附图用来提供对本发明的进一步理解,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:

图1是根据本发明的多用户环境下基于公钥加密的文件分类方法的整体流程图;以及

图2是根据本发明的多用户环境下基于公钥加密的文件分类方法的系统模型图。

具体实施方式

需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本发明。

为便于进一步理解本发明,以下首先就本发明的技术术语进行解释和说明:

系统:指可信的授权机构。初始化公开参数,并为文件管理者和用户生成一对公/私钥对。

用户:系统中存储文件的一方。使用公钥加密系统,通常是使用用户的公钥将文件关键词加密以及使用对称加密算法对文件的内容加密,之后将两个密文一起外包存储在云服务器上。在本发明中,用户加密文件及其关键词外包至云服务器,如果需要将文件分类,用户需要发送一个授权陷门给云服务器。

文件管理者:按照制定的分类规则,比如按关键词分类,一一将关键词用自己的公钥加密后外包存储至云服务器,当需要将用户上传的文件进行分类时,发送一个授权陷门给云服务器。让云服务器在其密文和用户密文间进行关键词等值比较,将用户的文件按其标准进行分类。

云服务器:文件的存储方。主要工作是将用户发来的授权陷门和密文与文件管理者存储在云上的密文进行相等性匹配,从而将文件进行很好的分类,而云服务器不会知道任何关于分类关键词以及文件内容的信息。

如图1所示,本发明的在云环境下一种多用户环境下基于公钥加密的文件分类方法,其过程主要如下:

(1)系统初始化,生成公开参数;

(2)为系统中文件管理者和每个用户生成一对公/私钥对;

(3)加密文件的关键词和文件内容,并将加密的关键词和内容密文外包存储至云服务器;

(4)用户和文件管理者分别生成陷门授权给云服务器,让云服务器拥有执行关键词等值匹配的权利;

(5)云服务器执行关键词等值匹配,将文件按照关键词类别分类整理。

实施例1:

如图2所示,本实施例适用于云计算环境中,在这个云计算系统环境中,有4个实体:可信的授权机构、半可信的云服务器、可信的文件管理者以及用户。其中半可信的云服务器指云服务器会诚实地按照既定的协议提供存储与计算服务。

本实施例的具体步骤如下:

步骤(1)的具体实施过程如下:

系统(指可信权威机构),应用双线性群产生算法g是群g的生成元,g1是群g1的生成元;选择安全的哈希函数l1和l2分别表示g和zp中元素的长度;则系统公开参数(publicparameter,pp)为pp=(p,e,g,g1,gt,g,g1,h1,h2,h3)。其中,p为一个素数,zp为模p构成的有限域。算法输入一个安全参数1λ,输出一个阶为p的双线性群(e,g,g1,gt)满足e:g×g1→gt。

步骤(2)的具体实施过程如下:

(21)为文件管理者生成一对公/私钥对(pkf,skf),随机选择并计算和skf=(xf,yf);

(22)为每个用户生成一对公/私钥对:假设系统中有n个用户{u1,u2,…,un},为每个用户ui(1≤i≤n)生成一对公/私钥对(pki,ski),随机选择并计算其中i=1,2,...,n;对于每个用户ui,接收者ui的公钥和私钥分别为:和ski=(xi,yi)。

步骤(3)的具体实施过程如下:

用户ui利用其公钥pki对文件mi及其关键词wi进行加密。

(31)首先,对文件mi加密我们使用对称加密算法,密文为ek(mi),具体细节不再阐述,然后使用公钥加密算法对关键词wi进行加密,随机选择并计算,ci,4||wi||ri,1),生成密文为:ci=(ci,1,ci,2,ci,3,ci,4,ci,5)。

(32)文件管理者也会利用其公钥pkf对指定的分类标准,比如关键词进行加密,假设这里所有需要分类关键词是l个(w1,w2,…,wl)使用上述公钥加密算法进行加密,密文用cf表示。

步骤(4)的具体实施过程如下:

(41)用户陷门生成:利用用户的私钥,为用户ui生成授权陷门tdi=yi。

(42)文件管理者陷门生成:利用文件管理者的私钥,为文件管理者生成授权陷门tdf=yf。

步骤(5)的具体实施过程如下:

云服务器将一个用户加密的关键词密文和文件管理者加密的关键词密文进行相等性判断,按关键词对文件进行分类。

为了比较用户ui和文件管理者的密文对应的文件关键词是否相等,云服务器首先需要接收到ui和文件管理者发送的陷门,运行test(ci,tdi,cf,tdf)计算如果h3(mi)=h3(mf),则表示用户ui的密文对应的关键词和文件管理者的密文对应的关键词相等,归为一类。要比较ui的所有文件的关键词密文需要将其密文与文件管理者生成的关键词密文进行一一比较。

由实施例可以看出,发明可以对加密的文件按照既定的规则进行分类存储,并且在存储分类的过程保护了数据的隐私,增加了文件存储的可靠性。

本发明能实现对加密的文件数据存储和分类的功能,并且在此过程中能很好地保护文件内容的隐私,同时,不仅仅是在用户和文件管理者之间能进行关键词等值匹配,可以在两个任意用户的密文间进行关键词密文的等值匹配,这可以扩展到其他的应用场景,比如邮件管理系统,emrs等,具有灵活性。

需要指出的是,执行关键词等值匹配时,云服务器只有当收到用户和文件管理者发送的授权陷门时,才能开始进行关键词匹配分类。当不需要进行文件管理分类时,该系统也可以看做一个云存储系统,减少用户端的存储代价。

以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1