当前位置: 首页 > 专利查询>中山大学专利>正文

一种利用分层树结构控制访问的数据存储系统技术方案

技术编号:18397930 阅读:20 留言:0更新日期:2018-07-08 19:05
本发明专利技术利用了分层树结构设计了一个数据存储系统,包括系统建立模块、口令生成模块、口令分配模块、数据查询模块以及系统更新模块。本发明专利技术的系统结合多项式插值秘密共享方案,通过访问口令的派生、分配与计算实现了不同用户对不同数据的分级控制访问,能够有效应用于存在管理员的、要求细粒度访问控制的多人共享数据存储的场景。整个系统架构清晰,功能完善,操作简单,效率高而且符合实际生活需要。

【技术实现步骤摘要】
一种利用分层树结构控制访问的数据存储系统
本专利技术属于数据存储领域,特别涉及了一种高效的、利用分层树结构控制访问的数据存储系统。
技术介绍
现实生活中,我们经常会碰到一群人共享某些存储数据的场景,诸如一群学生共同使用图书馆资源、档案室资料,或者公司员工共享使用存储公司内部资料的公共电脑等等。一个性能优越的数据存储系统能够给这个团队的工作效率带来很大的提升。通常,这个数据存储系统以文件夹系统的形式展示给团体成员,数据首先按照日期、类型、内容、大小等等属性划分,随后存储到相应的文件夹之中,供日后查询使用。这群人之中一般会存在一个管理员,拥有对数据和用户的双重控制,既可以对系统中的数据进行增删修改操作,也可以控制不同用户对数据的访问权限等等。对于一个共享的数据存储系统而言,不仅需要将非法用户拒之门外,同时也要对合法的用户进行细粒度的访问控制,也就是说,存储数据是具有访问等级的,某一用户能查看哪些数据是根据这个用户的身份来确定的。然而我们目前所应用的的诸多数据存储系统,均没有实现细粒度的访问控制,仅通过简单的管理员账号密码与用户账号密码来区别系统登录者,而普通用户进入系统之后,所能查看到的数据是一致的,这与我们实际生活中的要求细粒度访问控制的应用场景严重不符。树状结构是计算机存储时常用的数据结构,对于一棵树而言,如果自顶向下所有结点满足一定的排序关系的话,我们则可以称其为分层树,也就是说这棵树的每一层拥有相同的等级或者类似的属性圈,我们计算机中常用的文件夹系统其实就是一种树结构,某个具体的文件夹对应树中的某一结点,其中的文件夹相当于此结点的子结点,存储的数据则对应结点的存储空间,为这个文件夹设置一个访问口令即对此结点做出了访问控制。树结构具有增删结点灵活、架构清晰、管理方便等优点。基于以上
技术介绍
,我们希望能够克服现有技术的缺点,结合分层树的特点,设计专利技术一种细粒度访问控制的多人共享数据存储系统。
技术实现思路
本专利技术要解决的技术问题是,提供一种数据存储系统及方法,可以实现数据的分级控制访问,能够有效应用于要求细粒度访问控制的多人共享数据存储的场景。为了解决上述问题,本专利技术公开了一种利用分层树结构控制访问的数据存储系统,包括系统建立模块、口令生成模块、口令分配模块、数据查询模块。其中:所述系统建立模块,为所有共享数据基于他们的访问等级和属性集信息生成分层树,之后将所有数据按分层树结构存储到所述分层树的结点中;所述分层树为一个N(N≥2)层的多叉树,每个结点拥有独立的访问等级、属性集信息、一个唯一整数编号index与一个门限值k。所述访问等级是指所有共享数据与用户的访问权限的属性,从高级向低级表示为(lv1,...,lvN),所述分层树的根结点所存储数据的访问等级为lv1,自根结点向下每层结点所存储数据的访问等级逐步递减。所述属性集信息指所有共享数据的属性标签,表示为(attr1,...,attrM),包括数据的内容、类型等区别于其他数据的属性信息,几个不同访问级别的数据可以拥有同等的属性集信息,基于所述访问等级和属性集信息,某一数据会确定其在分层树中的唯一存储位置。所述分层树的建立过程具体为:首先确认所有数据的由高到低的访问等级(lv1,...,lvN)和属性集信息(attr1,...,attrM),建立一个N层的满M叉树,其中N为访问等级的总数,M为全部属性集信息的个数,从根结点开始向下,从根结点作为第1层开始向下,第n层的结点存储所有访问级别为lvn的数据,其中1≤n≤N,任一结点的子结点的属性集信息各不相同,数据按访问等级和属性集信息存放到对应的结点中去,之后删除未存储数据的结点;从根结点开始顺次为每个结点分配一个唯一整数编号index和门限值k,某一结点门限值k是这么确定的:假定用户拥有至少k个子结点的访问权限才能向上访问非叶子结点的话,那么所述非叶子结点的门限值就为k;即k为一个不超过其子结点个数的正整数,叶子结点由于没有子结点,规定他们的k取1;由某一结点可以进而访问到其子结点,但是由其子结点向上访问此结点时需满足门限要求,即至少能访问到此结点的k个子结点才能访问到此结点。所述口令生成模块从所述分层树的根结点开始为每个结点生成相互独立的访问口令,并用访问口令为结点中存储数据加密。所述访问口令为一个整数形式的访问密码,每个结点的访问口令相互独立,输入正确的访问口令才能够访问到此结点中存储的数据,其生成方法具体如下:(a)为根结点分配一个随机整数s作为根结点的访问口令,以根结点作为父结点;(b)假设父结点的门限值为k,以父结点访问口令作为常系数A并随机选取(k-1)个整数系数{a1,a2...ak-1}构造多项式f(x)=A+a1x+...+ak-1xk-1,对于其编号为index的子结点,取f(index)作为所述子结点的访问口令,从而得到父结点所有子结点的访问口令;(c)然后对所有非叶子结点作为父结点按照步骤(b)生成对应的所有子结点的访问口令;其中,自变量x代表子结点的唯一整数编号index。具体到根结点root的多项式为对于编号为index的子结点取froot(index)作为访问口令;随后,对于所有结点,用上述步骤生成的访问口令为其中存储的数据加密。所述口令分配模块,在所述口令生成模块为每个结点生成访问口令之后,将全部结点的访问等级、属性集信息、唯一整数编号index、门限值k以及分层树中若干个叶子结点的访问口令,按照用户访问等级分发给不同用户。所分配访问口令的结点符合被分配用户的访问等级,且均能被此用户访问,而且相对来说,访问等级高、属性集信息范围大的用户所分配到的不同叶子结点的访问口令数量多于访问等级低、属性集信息范围小的用户所分配到的不同叶子结点的访问口令数量。所述数据查询模块,在用户输入所分配的访问口令后,触发查询所需数据的操作。用户需要查询本系统中的数据时,根据所有结点的门限值k和所分配的叶子结点的访问口令,确定所有可访问结点,具体为:自底向上地(从叶子结点开始),确认所有下层的可访问结点,然后判断是否有下层结点的集合满足他们的父结点的门限值k,如果满足则将其父结点也纳入可访问结点列表中。若计算出所需数据不在可访问结点中,则查询结束。用户随机访问一个可访问的叶子结点,基于所需数据的属性确定其所在的存储层级和结点,计算出一条由此结点到目标层级和结点的先向上、后向下的路径。向下访问时,可以跳过访问口令直接访问并解密结点存储数据;向上访问时,则需要输入父结点的访问口令,如果用户满足父结点的门限k的要求,则能通过k个同级结点的访问口令,利用拉格朗日插值方法计算出父结点的访问口令,输入正确口令即可向上一层访问;重复此步骤直到查询到所需数据为止。较佳的,上述数据存储系统还包括系统更新模块,所述系统更新模块触发对所述数据存储系统进行一系列更新操作,包括对所述共享数据的更新和对所述分层树结构的更新。当需要更新数据时,直接进入到数据所在结点进行更新。对分层树结构的更新具体包括增加或删除某一结点i的子结点。当树中某一结点i需要增加子结点i',而i的门限值ki保持不变时,首先为i'分配所述唯一整数编号index',假设i的多项式为fi(x),直接置i'的访问口令为f(index')即可;若其门限本文档来自技高网
...

【技术保护点】
1.一种利用分层树结构控制访问的数据存储系统,其特征在于所述系统包括:系统建立模块、口令生成模块、口令分配模块、数据查询模块,其中:所述系统建立模块,为所有共享数据生成分层树,并将所有数据按分层树结构存储到所述分层树的结点中;所述分层树为一个多叉树,每个结点拥有独立的访问等级、属性集信息、一个唯一整数编号index与一个门限值k;所述口令生成模块从所述分层树的根结点开始为每个结点生成相互独立的访问口令,并用访问口令为结点中存储数据加密;所述口令分配模块,在所述口令生成模块为每个结点生成访问口令之后,将全部结点的访问等级、属性集信息、唯一整数编号index、门限值k以及分层树中若干个叶子结点的访问口令,按照用户访问等级分发给不同用户;所述数据查询模块,在用户输入所分配的访问口令后,触发查询所需数据的操作;用户查询所需数据的具体操作为:当所述用户需要查询所述系统中的数据时,根据所有结点的门限值k和所分配的叶子结点的访问口令,确定所有可访问结点,如果所需数据在可访问结点中,则随机进入一个可访问叶子结点,确定到达目标结点的路径,向上或向下访问直至目标结点;若所需数据不在可访问结点中,则查询结束...

【技术特征摘要】
1.一种利用分层树结构控制访问的数据存储系统,其特征在于所述系统包括:系统建立模块、口令生成模块、口令分配模块、数据查询模块,其中:所述系统建立模块,为所有共享数据生成分层树,并将所有数据按分层树结构存储到所述分层树的结点中;所述分层树为一个多叉树,每个结点拥有独立的访问等级、属性集信息、一个唯一整数编号index与一个门限值k;所述口令生成模块从所述分层树的根结点开始为每个结点生成相互独立的访问口令,并用访问口令为结点中存储数据加密;所述口令分配模块,在所述口令生成模块为每个结点生成访问口令之后,将全部结点的访问等级、属性集信息、唯一整数编号index、门限值k以及分层树中若干个叶子结点的访问口令,按照用户访问等级分发给不同用户;所述数据查询模块,在用户输入所分配的访问口令后,触发查询所需数据的操作;用户查询所需数据的具体操作为:当所述用户需要查询所述系统中的数据时,根据所有结点的门限值k和所分配的叶子结点的访问口令,确定所有可访问结点,如果所需数据在可访问结点中,则随机进入一个可访问叶子结点,确定到达目标结点的路径,向上或向下访问直至目标结点;若所需数据不在可访问结点中,则查询结束。2.根据权利要求1所述的一种利用分层树结构控制访问的数据存储系统,其特征在于所述生成分层树的具体过程为:首先确认所有数据由高到低的访问等级lv1,...,lvN和属性集信息attr1,...,attrM,建立一个N层的满M叉树,其中N为访问等级的总数,M为全部属性集信息的个数;从根结点作为第1层开始向下,第n层的结点存储所有访问级别为lvn的数据,其中1≤n≤N;任一结点的子结点的属性集信息各不相同,数据按访问等级和属性集信息存放到对应的结点中去,之后删除未存储数据的结点;从根结点开始顺次为每个结点分配一个唯一整数编号index和门限值k,由某一结点能够进而访问到其子结点,但是由其子结点向上访问此结点时需满足门限要求。3.根据权利要求2所述的一种利用分层树结构控制访问的数据存储系统,其特征在于:所述门限值k的确定方法具体为:假定用户拥有至少k个子结点的访问权限才能向上访问到非叶子结点的话,那么所述非叶子结点的门限值就为k,k为一个不超过其子结点个数的正整数;叶子结点由于没有子结点,规定他们的k取1。4.根据权利要求1所述的一种利用分层树结构控制访问的数据存储系统,其特征在于:所述访问口令的生成方法具体如下:(a)为根结点分配一个随机整数s作为根结点的访问口令,以根结点作为父结点;(b)假设父结点的门限值为k,以父结点访问口令作为常系数A并随机选取(k-1)个整数系数{a1,a2...ak-1}构造多项式f(x)=A+a1x+...+ak-1xk-1,自变量x代表子结点的唯一整数编号index,对于其编号为in...

【专利技术属性】
技术研发人员:刘翔宇张方国
申请(专利权)人:中山大学
类型:发明
国别省市:广东,44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1