CN108600169B - 一种基于加密技术的HBase细粒度访问控制方法 - Google Patents

一种基于加密技术的HBase细粒度访问控制方法 Download PDF

Info

Publication number
CN108600169B
CN108600169B CN201810226644.0A CN201810226644A CN108600169B CN 108600169 B CN108600169 B CN 108600169B CN 201810226644 A CN201810226644 A CN 201810226644A CN 108600169 B CN108600169 B CN 108600169B
Authority
CN
China
Prior art keywords
user
data
hbase
encryption
level
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
CN201810226644.0A
Other languages
English (en)
Other versions
CN108600169A (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.)
Sun Yat Sen University
Original Assignee
Sun Yat Sen University
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 Sun Yat Sen University filed Critical Sun Yat Sen University
Priority to CN201810226644.0A priority Critical patent/CN108600169B/zh
Publication of CN108600169A publication Critical patent/CN108600169A/zh
Application granted granted Critical
Publication of CN108600169B publication Critical patent/CN108600169B/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
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • H04L63/045Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload wherein the sending and receiving network entities apply hybrid encryption, i.e. combination of symmetric and asymmetric encryption
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/10Network architectures or network communication protocols for network security for controlling access to devices or network resources
    • H04L63/105Multiple levels of security
    • 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/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/0618Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
    • H04L9/0631Substitution permutation network [SPN], i.e. cipher composed of a number of stages or rounds each involving linear and nonlinear transformations, e.g. AES algorithms
    • 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
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0869Generation of secret information including derivation or calculation of cryptographic keys or passwords involving random numbers or seeds

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Storage Device Security (AREA)

Abstract

本发明属于访问控制技术领域中的细粒度访问控制策略的设计,具体涉及一种基于加密技术的HBase细粒度访问控制方法。本发明利用HBase构建了一种以个人用户ID为主键进行存储的数据结构表;用户将个人数据分为三个安全等级进行存储,并针对不同的安全等级设计不同的加密算法;本发明设计了一种用户对于个人数据实现细粒度访问控制的方法,细粒度精确到cell级;同时本发明支持用户个人数据安全等级的动态更新。本发明充分考虑了个人数据存储和访问对数据主权明确、细粒度访问控制、动态更新安全级别等方面的要求。方法采用了现有的加密和访问技术,简单明了,具有很强的实用性。

Description

一种基于加密技术的HBase细粒度访问控制方法
技术领域
本发明属于访问控制技术领域中的细粒度访问控制策略的设计,更具体地,涉及一种基于加密技术的HBase细粒度访问控制方法。
背景技术
随着互联网以及信息技术的不断发展,人们迎来了海量数据化的时代,各种各样的信息都被数据化,其中个人数据是移动互联网时代呈现指数增长的数据资产。然而在这种趋势下,个人数据已不再仅仅关系型数据库模型下的结构化的数据,大量的图片、音频、视频等非结构化的数据涌现出来。
现有的主流数据库管理技术主要为关系型数据库管理技术,操作的对象都是二维表,其结构简单,处理的都是结构化的数据。然而在处理新形势下不断涌现的结构化与非结构并存的个人数据时,现有的关系型数据库管理方式就暴露出了弊端。同时现有的数据管理技术基本存在着数据主权边界不明确、数据流动散乱以及数据安全等问题。要想改变现有数据管理技术存在的这些缺点,必须使用新型的非关系型数据库技术。
解决个人数据中结构化数据与非结构化数据并存时关系型数据库难以管理的最有效措施就是使用非关系型数据库。非关系型数据库中如今发展最成熟、应用最广的便是HBase数据库。HBase数据库是一种构建在HDFS文件存储上的分布式、面向列和稀疏存储的数据存储系统,该技术最早出现于Google的一篇论文“Bigtable:A Distributed StorageSystem”中,它的存储不同于传统关系型数据库的按行存储,它以列为对象进行存储,具有线性扩展、面向列存储、字典排序、高可靠性和优质缓存等优点。然而在细粒度访问控制方面,传统的访问控制技术不能很好的适应HBase数据库。
传统的访问控制技术主要有自主访问控制,强制访问控制和基于角色的访问控制。自主访问控制(discretionary access control,DAC)是由客体的属于者对自己的客体进行管理,由属于者决定是否将客体的访问权或部分访问权授予其他主体,这种控制方式是自主的,以保护属于者的个人资源的安全为目标。强制访问控制(mandatory accesscontrol,MAC)对访问主体和受控对象标识两个安全标签,一个是具有偏序关系的安全等级标签,另一个是非等级分类标签,他们是实施强制访问控制的依据,通过比较主体和客体的访问标签来决定一个主体是否能够访问某个个体。基于角色的访问控制(role-basedaccess control,RBAC)在主体和客体之间引入了角色的概念。所谓角色,就是一个或一群用户在组织内可执行的操作的集合,系统管理员根据需要定义各种角色,并分配合适的访问权限,而用户根据职责和任务的不同对应于不同的角色,实现了用户与访问边界的逻辑分离。
在上述访问控制方法中,DAC难以适用于高安全等级的信息系统;MAC能够应用于高安全等级的信息系统,但无法做到细粒度的访问控制;RBAC满足了设计复杂信息系统的访问控制策略,但是在RBAC引入细粒度访问控制将会极大的降低资源访问的实时性,而且三种访问控制方法的安全性缺乏加密的保障。
发明内容
本发明的目的在于克服现有技术的不足,提供一种基于加密技术的HBase细粒度访问控制方法,实现了在新型非关系型数据HBase中,对细粒度访问、数据的安全性、数据主权明确等多方面要求的个人数据的存储和访问控制。
为解决上述问题,本发明提供的技术方案为:一种基于加密技术的HBase细粒度访问控制方法,其特征在于,包括以下步骤:
S1.以用户ID为HBase的主键,将用户的个人数据分为三个安全等级L1,L2和L3;安全等级L1,L2和L3的安全强度为L1<L2<L3,L1代表个人可以给访问者公开的数据,L2代表个人可以授权给访问者的数据,L3代表个人不予访问的数据;用户ID为HBase数据库中个人身份的唯一标识;主键为HBase数据库中一行记录的唯一标识,也是用户个人数据的唯一标识;
S2.根据L1,L2和L3的个人数据的安全等级确定选择不同的加密算法进行加密,将L1等级的所有个人数据存储在V1列族中,将L2等级的所有个人数据存储在V2列族中,将L3等级的所有个人数据存储在V3列族中;
S3.用户A设置可访问自己数据的可访问权限列表,并将列表信息存储在HBase中;
S4.根据用户A设置的可访问权限列表,用户B访问用户A的L1等级的数据;
S5.用户A将自己L2等级的特定数据授权给用户B访问,使用自己的密钥eA解密数据,使用用户B的公钥(NB,KB)加密数据,以此单独授权给用户B。
进一步地,所述的S2步骤中不同的加密算法包括对称加密算法和非对称加密算法。
进一步地,所述的S2步骤中以不同的加密算法进行加密具体包括:对于L1等级的数据,不进行任何加密;对于L2等级的数据,使用AES加密算法加密;对于L3等级的数据,使用RSA加密算法加密。
进一步地,所述的AES加密算法加密具体过程包括:用户A选择AES加密的密钥长度m;根据用户A的密码随机生成一个密钥序列;根据密钥序列生成一个密钥长度m的密钥eA,在生成了密钥eA之后,使用eA和AES的加密公式加密明文信息MA,生成密文信息DA;其中,随机生成一个密钥序列是根据用户A的密码生成安全随机数序列,只要用户A的密码不变,生成的安全随机数序列就一样,密钥序列用来生成密钥;AES的加密公式为DA=E(eA,MA),E为AES的加密函数。
进一步地,RSA加密算法加密具体过程包括:
用户A随机选择两个大质数P和Q,求得两个大质数的乘积为模NA
求取所有能与NA互质的数的总个数,记为
Figure GDA0002553655130000031
计算公式为:
Figure GDA0002553655130000032
Figure GDA0002553655130000039
选择一个与
Figure GDA0002553655130000033
互质的整数KA,计算出用户A的私钥SA,计算公式为:
Figure GDA0002553655130000034
Figure GDA0002553655130000035
是KA关于模NA的倒数;(NA,KA)是用户A的公钥,(NA,SA)是用户A的私钥,其中,选择与
Figure GDA0002553655130000036
互质的整数KA的条件为:
Figure GDA0002553655130000037
使用用户A的公钥(NA,KA)对一段明文信息MA进行加密,得到加密后的密文DA;其中,对明文信息MA进行加密的公式为:
Figure GDA0002553655130000038
进一步地,所述的S3步骤中用户A设置可访问自己数据的可访问权限列表具体包括:用户A查询自己的可访问权限列表TA,搜索可访问权限列表中是否有授权用户B的用户ID,如果没有,将用户B的用户ID加入可访问权限列表TA中;其中,查询自己的可访问权限列表TA基于调用HBase的API接口实现。
进一步地,所述的S4步骤中用户B访问用户A的L1等级的数据具体过程包括:搜索用户A的可访问权限列表中是否有用户B的用户ID,如果有用户B的用户ID,返回用户A在HBase中V1列族的个人数据给用户B;其中,返回用户A在HBase中V1列族的个人数据采用HBase的API接口实现。
进一步地,所述的S5步骤中用户A将自己L2等级的特定数据授权给用户B访问具体过程包括:
用户A选择自己V2列族中的特定数据Item,Item经过用户A的密钥eA加密;
使用用户A自己的密钥eA解密数据Item得到ItemA,AES解密公式为:ItemA=D(eA,Item),D为AES的解密函数;
使用用户B的公钥(NB,KB)和RSA加密算法加密数据ItemA得到ItemB,公式为:
Figure GDA0002553655130000041
将数据ItemB临时复制一份至用户A的V1列族中,单独授权给用户B访问。
其中,在将数据ItemB临时复制一份至用户A的V1列族中,HBase的存储是可以扩展的,在用户A的V1列族中新增一个列,存储数据ItemB
进一步地,所述的单独授权给用户B访问的具体过程包括:在用户A将ItemB存入了V1列族之后,可访问用户A的用户皆可以访问数据ItemB,用户B使用自己的私钥(NB,SB)解密ItemB,得出明文信息ItemA,其他用户使用自己的私钥解密出一串字符乱码;解密公式为:
Figure GDA0002553655130000042
进一步地,用户A还能够更改自己数据的安全等级权限,包括用户A将低安全等级的数据更改为高安全等级的数据和将高安全等级的数据更改为低安全等级的数据;其中:
用户A将低安全等级的数据更改为高安全等级的数据具体过程包括:对于L1等级数据更改为L2或L3等级的数据,用户A只需对L1等级的数据进行AES加密或RSA加密,存入到HBase的V2或V3列族中,同时删除V1列族中该数据;对于L2安全等级的数据更改为L3安全等级的数据,用户A需先将数据用密钥eA和AES进行解密,然后使用公钥(NA,KA)和RSA进行加密,存入到HBase的V3列族中,同时删除V2列族中该数据;
用户A将高安全等级的数据更改为低安全等级的数据具体过程包括:对于L2或L3等级的数据更改为L1等级的数据,用户A只需对L2或L3等级的数据进行AES解密或RSA解密,存入到HBase的V1列族中,同时删除V2或V3中的该数据;对于L3安全等级的数据更改为L2安全等级的数据,用户A需先将数据用私钥(NA,SA)进行解密,然后使用密钥eA和AES进行加密,存入到HBase的V2列族中,同时删除V3列族中该数据。
与现有技术相比,有益效果是:
1.本发明所设计的方法利用对称加密算法AES、非对称加密算法RSA和访问控制技术进行HBase下细粒度的访问控制和存储,更加细化了访问控制的粒度,使得个人用户能对自己的个人数据有非常好的控制权;
2.本发明对个人数据的存储以用户ID为对象,有效的划清了数据的边界,明确了个人数据的主权;
3.本发明设置了对称加密和非对称加密技术,保证了个人数据的安全性;
4.本发明支持用户动态更新自己数据的安全等级权限,达到了用户对自己数据有效的控制;
5.本发明支持用户动态更新可访问自己数据的用户的可访问权限列表,达到了以用户ID为精度的细粒度访问控制。
附图说明
图1为本发明方法流程图。
图2为本发明的HBase中个人数据存储结构的逻辑视图。
图3为本发明的授权用户访问权限流程图。
图4为本发明的单独授权用户数据权限流程图。
图5为本发明的HBase中可访问权限列表逻辑视图。
图6为本发明的访问控制流程图。
具体实施方式
下面结合实施例1,对本发明实施例中的技术方法进行完整性的描述。如图1所示,本发明基于对称加密算法、非对称加密算法、访问控制、HBase数据存储等技术,设计了一种基于加密技术的HBase细粒度访问控制方法,实现了HBase数据库中对有细粒度访问控制、安全性要求、主权明确等多方面要求的个人数据的访问控制和存储。在本方法中,个人数据分三个安全等级,方便用户管理个人的数据;使用访问控制技术,使得用户可以设置可访问自己数据的其他用户,其他用户必须有访问权限才能访问数据,防止个人数据被偷窃;使用基于密码学的加密技术加密个人数据,保护了个人数据的安全性,即使有越权访问,也无法成功解密个人数据。本发明可分为个人数据存储和加密阶段、个人授权访问控制两个阶段,参见实施例1,具体流程如下所示:
实施例1
假设在一个自然人口数据库中,个人数据具有{Name,Age,Sex,Height,Weight,Major}这6个属性,其中默认{Name,Age,Sex}为可公开等级的数据,{Height,Weight}为可授权访问等级的数据,{Major}为不予公开安全等级的数据。
使用HBase作为个人数据存储的数据库,对称加密算法使用效率最高的AES加密算法,非对称加密算法使用最安全的RSA加密算法。用户A为个人数据的所有者,用户B为访问用户。
符号说明:
δ 本例中使用的AES加密算法,即对称加密算法
Figure GDA0002553655130000061
本例中使用的RSA加密算法,即非对称加密算法
eA 本例中用户A的AES加密算法的密钥
(NA,KA) 本例中用户A的RSA加密算法的公钥
(NA,SA) 本例中用户A的RSA加密算法的私钥
(NB,KB) 本例中用户B的RSA加密算法的公钥
(NB,SB) 本例中用户B的RSA加密算法的私钥
L1,L2,L3 本例中三个安全等级,其中L1<L2<L3
V1,V2,V3 本例中HBase中三个列族,对应关系{V1:L1,V2:L2,V3:L3}
M1,M2,M3 本例中HBase中三个列族的数据,对应关系{M1:V1,M2:V2,M3:V3}
1.个人数据存储和加密阶段
S11.如图2所示,用户A将{Name,Age,Sex}属性归入到L1,将{Height,Weight}属性归入到L2,将{Major}归入到L3;
S12.用户A选择δ的密钥长度,根据自己的用户密码生成密钥序列,然后生成δ的密钥eA;用户A随机选择两个大质数P和Q,求得模NA,求取所有能与NA互质的数的总个数
Figure GDA0002553655130000071
选择一个与
Figure GDA0002553655130000072
互质的整数KA,计算出用户A的私钥SA,(NA,KA)是用户A的公钥,(NA,SA)是用户A的私钥;用户B进行与用户A同样的步骤,(NB,KB)是用户B的公钥,(NB,SB)是用户B的私钥;
S13.对于L1等级的数据,用户A直接将数据存入到HBase的V1列族中;对于L2等级的数据M2,用户A使用eA和δ对其进行加密,加密得到δ.Enc(eA,M2),将其存入到HBase的V2列族中;对于L3等级的数据M3,用户A使用(NA,KA)和
Figure GDA0002553655130000073
对其进行加密,加密得到
Figure GDA0002553655130000074
将其存入HBase的V3列族中;
2.个人授权访问控制阶段
S21.如图3所示,用户A搜索自己的可访问权限列表中是否有用户B的用户ID,如果没有,用户A修改自己的可访问权限列表,将用户B加入至用户A的可访问权限列表中,如图5所示;
S22.如图6所示,用户B访问用户A的L1等级的数据时,查询用户B的用户ID是否在用户A的可访问权限列表中,如果在可访问权限列表中,返回用户A的V1列族的数据给用户B;
S23.如图4所示,用户A单独授权L2数据给用户B时,用户A先获得L2列族中数据为δ.Enc(eA,M2),使用eA和δ对其进行解密,解密得到δ.Dec(e,δ.Enc(eA,M2)),即为M2明文信息,然后使用(NB,KB)和
Figure GDA0002553655130000075
对其进行加密,加密得到
Figure GDA0002553655130000076
Figure GDA0002553655130000077
放入V1列族中;
S24.用户B访问用户A中L1等级的数据,其中有密文
Figure GDA0002553655130000078
用户B使用自己的私钥(NB,SB)和
Figure GDA0002553655130000079
解密该数据得到
Figure GDA00025536551300000710
即解密出了M2明文信息。
3.数据权限动态更新阶段
S31.用户A想将高安全等级的数据更改为低安全等级的数据,对于L2或L3更改为L1等级,用户A取出V2或V3列族中的数据δ.Enc(eA,M2)或
Figure GDA00025536551300000711
使用eA或(NA,SA)对其进行解密,得到M2或M3,将M2或M3存入到HBase的V1列族中,同时删除V2或V3中的该数据;
S32.对于L3更改为L2等级,用户A取出V3中的数据
Figure GDA00025536551300000712
使用(NA,SA)和
Figure GDA00025536551300000713
对其进行解密,得到M3,使用eA和δ对M3进行加密,得到δ.Enc(eA,M3),将δ.Enc(eA,M3)存入到HBase的V2列族中,同时删除V3列族中的数据
Figure GDA0002553655130000081
S33.用户A想将低安全等级的数据更改为高安全等级的数据,对于L1更改为L2或L3等级,用户A取出V1列族中的数据M1,使用eA或(NA,KA)对M1进行加密,得到δ.Enc(eA,M1)或
Figure GDA0002553655130000082
将其存入到HBase的V2或V3列族中,同时删除V1列族中的M1;
S34.对于L2更改为L3等级,用户A取出V2列族中的数据δ.Enc(eA,M2),使用eA和δ对其进行解密,解密得到δ.Dec(eA,δ.Enc(eA,M2)),即为M2,然后使用(NA,KA)和
Figure GDA0002553655130000083
对M2进行加密,加密得到
Figure GDA0002553655130000084
Figure GDA0002553655130000085
存入到HBase的V3列族中,同时删除V2列族中的数据δ.Enc(eA,M2)。
显然,本发明的上述实施例仅仅是为清楚地说明本发明所作的举例,而并非是对本发明的实施方式的限定。对于所属领域的普通技术人员来说,在上述说明的基础上还可以做出其它不同形式的变化或变动。这里无需也无法对所有的实施方式予以穷举。凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明权利要求的保护范围之内。

Claims (10)

1.一种基于加密技术的HBase细粒度访问控制方法,其特征在于,包括以下步骤:
S1.以用户ID为HBase的主键,将用户的个人数据分为三个安全等级L1,L2和L3;安全等级L1,L2和L3的安全强度为L1<L2<L3,L1代表个人可以给访问者公开的数据,L2代表个人可以授权给访问者的数据,L3代表个人不予访问的数据;
S2.根据L1,L2和L3的个人数据的安全等级确定选择不同的加密算法进行加密,将L1等级的所有个人数据存储在V1列族中,将L2等级的所有个人数据存储在V2列族中,将L3等级的所有个人数据存储在V3列族中;
S3.用户A设置可访问自己数据的可访问权限列表,并将列表信息存储在HBase中;
S4.根据用户A设置的可访问权限列表,用户B访问用户A的L1等级的数据;
S5.用户A将自己L2等级的特定数据授权给用户B访问,使用自己的密钥eA解密数据,使用用户B的公钥(NB,KB)加密数据,以此单独授权给用户B。
2.根据权利要求1所述的一种基于加密技术的HBase细粒度访问控制方法,其特征在于,所述的S2步骤中不同的加密算法包括对称加密算法和非对称加密算法。
3.根据权利要求2所述的一种基于加密技术的HBase细粒度访问控制方法,其特征在于,所述的S2步骤中以不同的加密算法进行加密具体包括:对于L1等级的数据,不进行任何加密;对于L2等级的数据,使用AES加密算法加密;对于L3等级的数据,使用RSA加密算法加密。
4.根据权利要求3所述的一种基于加密技术的HBase细粒度访问控制方法,其特征在于,所述的AES加密算法加密具体过程包括:用户A选择AES加密的密钥长度m;根据用户A的密码随机生成一个密钥序列;根据密钥序列生成一个密钥长度m的密钥eA,在生成了密钥eA之后,使用eA和AES的加密公式加密明文信息MA,生成密文信息DA;其中,随机生成一个密钥序列是根据用户A的密码生成安全随机数序列,只要用户A的密码不变,生成的安全随机数序列就一样,密钥序列用来生成密钥;AES的加密公式为DA=E(eA,MA),E为AES的加密函数。
5.根据权利要求3所述的一种基于加密技术的HBase细粒度访问控制方法,其特征在于,RSA加密算法加密具体过程包括:
用户A随机选择两个大质数P和Q,求得两个大质数的乘积为模NA
求取所有能与NA互质的数的总个数,记为
Figure FDA0002553655120000021
计算公式为:
Figure FDA0002553655120000022
Figure FDA0002553655120000023
选择一个与
Figure FDA0002553655120000024
互质的整数KA,计算出用户A的私钥SA,计算公式为:
Figure FDA0002553655120000025
Figure FDA0002553655120000026
是KA关于模NA的倒数;(NA,KA)是用户A的公钥,(NA,SA)是用户A的私钥,其中,选择与
Figure FDA0002553655120000027
互质的整数KA的条件为:
Figure FDA0002553655120000028
使用用户A的公钥(NA,KA)对一段明文信息MA进行加密,得到加密后的密文DA;其中,对明文信息MA进行加密的公式为:
Figure FDA0002553655120000029
6.根据权利要求1所述的一种基于加密技术的HBase细粒度访问控制方法,其特征在于,所述的S3步骤中用户A设置可访问自己数据的可访问权限列表具体包括:用户A查询自己的可访问权限列表TA,搜索可访问权限列表中是否有授权用户B的用户ID,如果没有,将用户B的用户ID加入可访问权限列表TA中;其中,查询自己的可访问权限列表TA基于调用HBase的API接口实现。
7.根据权利要求1所述的一种基于加密技术的HBase细粒度访问控制方法,其特征在于,所述的S4步骤中用户B访问用户A的L1等级的数据具体过程包括:搜索用户A的可访问权限列表中是否有用户B的用户ID,如果有用户B的用户ID,返回用户A在HBase中V1列族的个人数据给用户B;其中,返回用户A在HBase中V1列族的个人数据采用HBase的API接口实现。
8.根据权利要求1所述的一种基于加密技术的HBase细粒度访问控制方法,其特征在于,所述的S5步骤中用户A将自己L2等级的特定数据授权给用户B访问具体过程包括:
用户A选择自己V2列族中的特定数据Item,Item经过用户A的密钥eA加密;
使用用户A自己的密钥eA解密数据Item得到ItemA,AES解密公式为:ItemA=D(eA,Item),D为AES的解密函数;
使用用户B的公钥(NB,KB)和RSA加密算法加密数据ItemA得到ItemB,公式为:
Figure FDA0002553655120000031
将数据ItemB临时复制一份至用户A的V1列族中,单独授权给用户B访问。
9.根据权利要求8所述的一种基于加密技术的HBase细粒度访问控制方法,其特征在于,所述的单独授权给用户B访问的具体过程包括:在用户A将ItemB存入了V1列族之后,可访问用户A的用户皆可以访问数据ItemB,用户B使用自己的私钥(NB,SB)解密ItemB,得出明文信息ItemA,其他用户使用自己的私钥解密出一串字符乱码;解密公式为:
Figure FDA0002553655120000032
10.根据权利要求1至9任一项所述的一种基于加密技术的HBase细粒度访问控制方法,其特征在于,用户A还能够更改自己数据的安全等级权限,包括用户A将低安全等级的数据更改为高安全等级的数据和将高安全等级的数据更改为低安全等级的数据;其中:
用户A将低安全等级的数据更改为高安全等级的数据具体过程包括:对于L1等级数据更改为L2或L3等级的数据,用户A只需对L1等级的数据进行AES加密或RSA加密,存入到HBase的V2或V3列族中,同时删除V1列族中该数据;对于L2安全等级的数据更改为L3安全等级的数据,用户A需先将数据用密钥eA和AES进行解密,然后使用公钥(NA,KA)和RSA进行加密,存入到HBase的V3列族中,同时删除V2列族中该数据;
用户A将高安全等级的数据更改为低安全等级的数据具体过程包括:对于L2或L3等级的数据更改为L1等级的数据,用户A只需对L2或L3等级的数据进行AES解密或RSA解密,存入到HBase的V1列族中,同时删除V2或V3中的该数据;对于L3安全等级的数据更改为L2安全等级的数据,用户A需先将数据用私钥(NA,SA)进行解密,然后使用密钥eA和AES进行加密,存入到HBase的V2列族中,同时删除V3列族中该数据。
CN201810226644.0A 2018-03-19 2018-03-19 一种基于加密技术的HBase细粒度访问控制方法 Active CN108600169B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810226644.0A CN108600169B (zh) 2018-03-19 2018-03-19 一种基于加密技术的HBase细粒度访问控制方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810226644.0A CN108600169B (zh) 2018-03-19 2018-03-19 一种基于加密技术的HBase细粒度访问控制方法

Publications (2)

Publication Number Publication Date
CN108600169A CN108600169A (zh) 2018-09-28
CN108600169B true CN108600169B (zh) 2020-11-17

Family

ID=63626671

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810226644.0A Active CN108600169B (zh) 2018-03-19 2018-03-19 一种基于加密技术的HBase细粒度访问控制方法

Country Status (1)

Country Link
CN (1) CN108600169B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114513533B (zh) * 2021-12-24 2023-06-27 北京理工大学 一种分类分级健身健康大数据共享系统及方法
CN114615040A (zh) * 2022-03-02 2022-06-10 中国人民解放军国防科技大学 一种知识图谱本体数据分级分类安全访问控制方法及应用

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102075542A (zh) * 2011-01-26 2011-05-25 中国科学院软件研究所 一种云计算数据安全支撑平台
WO2012154673A1 (en) * 2011-05-09 2012-11-15 Personal, Inc. Systems, methods, and mediums for secure information access
CN106936771A (zh) * 2015-12-29 2017-07-07 航天信息股份有限公司 一种基于分级加密的安全云存储方法和系统
CN106972927A (zh) * 2017-03-31 2017-07-21 杭州翼兔网络科技有限公司 一种针对不同安全等级的加密方法及系统

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150381579A1 (en) * 2014-06-26 2015-12-31 Vivalect Software Ab Method and server for handling of personal information

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102075542A (zh) * 2011-01-26 2011-05-25 中国科学院软件研究所 一种云计算数据安全支撑平台
WO2012154673A1 (en) * 2011-05-09 2012-11-15 Personal, Inc. Systems, methods, and mediums for secure information access
CN106936771A (zh) * 2015-12-29 2017-07-07 航天信息股份有限公司 一种基于分级加密的安全云存储方法和系统
CN106972927A (zh) * 2017-03-31 2017-07-21 杭州翼兔网络科技有限公司 一种针对不同安全等级的加密方法及系统

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
"A Review of Attribute based Encryption Technique for Security in Cloud Computing";Etti Mathur;《International Journal of Computer Applications》;20170228;全文 *
"基于属性加密的安全存储系统的设计与实现";潘踩云;《中国优秀硕士学位论文全文数据库》;20170315;全文 *

Also Published As

Publication number Publication date
CN108600169A (zh) 2018-09-28

Similar Documents

Publication Publication Date Title
KR101563461B1 (ko) 데이터베이스 보안 관리를 위한 방법, 서버 및 컴퓨터-프로그램
EP2731034B1 (en) Client computer for querying a database stored on a server via a network
CN104021157B (zh) 云存储中基于双线性对的关键词可搜索加密方法
CN108768951B (zh) 一种云环境下保护文件隐私的数据加密和检索方法
US8364969B2 (en) Protecting privacy of shared personal information
US20100095118A1 (en) Cryptographic key management system facilitating secure access of data portions to corresponding groups of users
US20070079386A1 (en) Transparent encryption using secure encryption device
Somu et al. Authentication service in hadoop using one time pad
CN112989375B (zh) 一种分级优化加密无损隐私保护方法
US20170262546A1 (en) Key search token for encrypted data
US20120257743A1 (en) Multiple independent encryption domains
CN109981643A (zh) 一种细粒度查询授权的可搜索加密方法及系统
CN108600169B (zh) 一种基于加密技术的HBase细粒度访问控制方法
Damiani et al. Metadata management in outsourced encrypted databases
Rao et al. R-PEKS: RBAC enabled PEKS for secure access of cloud data
Shekhawat et al. Privacy-preserving techniques for big data analysis in cloud
CN118260264A (zh) 一种用于分布式文件系统的用户友好型加密存储系统及方法
JP2022544484A (ja) 暗号化されたナレッジ・グラフ
Almarwani et al. Flexible Access Control and Confidentiality over Encrypted Data for Document-based Database.
Varri Privacy-preserving ciphertext-policy attribute-based search over encrypted data in cloud storage
Alomari et al. SecloudDB: A unified API for secure SQL and NoSQL cloud databases
Wang et al. An effective verifiable symmetric searchable encryption scheme in cloud computing
KR20160114492A (ko) 데이터베이스 보안 관리를 위한 방법, 서버 및 컴퓨터-프로그램
Wang et al. Integration of hierarchical access control and keyword search encryption in Cloud computing environment
Feng et al. Secure data sharing solution for mobile cloud storage

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