CN108632385B - 基于时间序列的多叉树数据索引结构云存储隐私保护方法 - Google Patents

基于时间序列的多叉树数据索引结构云存储隐私保护方法 Download PDF

Info

Publication number
CN108632385B
CN108632385B CN201810461549.9A CN201810461549A CN108632385B CN 108632385 B CN108632385 B CN 108632385B CN 201810461549 A CN201810461549 A CN 201810461549A CN 108632385 B CN108632385 B CN 108632385B
Authority
CN
China
Prior art keywords
data
cloud
user
center
cloud storage
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
CN201810461549.9A
Other languages
English (en)
Other versions
CN108632385A (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.)
Shanghai Maritime University
Original Assignee
Shanghai Maritime 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 Shanghai Maritime University filed Critical Shanghai Maritime University
Priority to CN201810461549.9A priority Critical patent/CN108632385B/zh
Publication of CN108632385A publication Critical patent/CN108632385A/zh
Application granted granted Critical
Publication of CN108632385B publication Critical patent/CN108632385B/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
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1097Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/083Network architectures or network communication protocols for network security for authentication of entities using passwords
    • 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
    • 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/0863Generation of secret information including derivation or calculation of cryptographic keys or passwords involving passwords or one-time passwords

Abstract

本发明公开了一种基于时间序列的多叉树数据索引结构云存储隐私保护方法,包含以下过程:通过在云可信中心上构建基于时间序列的多叉树数据存储结构(MTTS),对数据名称进行有效管理,加快检索速度。基于MTTS结构设计出密钥推导算法实现密钥的管理和分发,构建加密关键字检索算法实现对数据共享和密文检索的支持,在提出的云存储架构上分别就数据存储和数据读取两个过程设计数据隐私保护方法并结合延迟更新技术解决用户访问权限变更和数据更新问题。该云存储隐私保护方法设计能有效地保护用户的隐私,同时支持高效的数据访问。

Description

基于时间序列的多叉树数据索引结构云存储隐私保护方法
技术领域
本发明涉及信息安全领域,尤其涉及一种有效的基于时间序列的多叉树索引结构云存储隐私保护方法,通过将文档加密上传到云端来保护用户的隐私,并且通过基于构建关键字检索算法EKSA实现对数据共享和密文检索的支持,提高了加密文档的可用性。
背景技术
云存储是在云计算基础上延伸、发展出来的。与云计算系统相比,云存储可以认为是配置了大容量存储空间的一个云计算系统。在云存储的应用过程中,安全是使用者考虑的首要问题。在云存储系统中,服务提供商在很多情况下是不可信的,其可能会因为经济利益将用户存储的数据交予第三方,造成用户数据的泄露。因此,如何确保云存储系统中数据存储安全和保护用户的隐私成了云存储安全研究中的关键问题。
现有的云存储的所有软硬件都掌握在云存储的管理者手中,每位云存储使用者的数据信息对于管理者来说都是可见的,这就产生一个极大的道德风险。当人们或公司存储一些很有商业价值或者隐私的数据时,该类风险所带来的损失将会是巨大的。因此,改变云存储现有的一些模式,使得每位使用者的信息对于管理者来说是不可见的,从而达到规避该类风险的目的,便能有着极为重要的意义。
日前提出的针对云存储服务中的数据隐私保护问题研究,如:支持隐私保护的云存储方案,基于可信第三方的云存储架构,基于秘密共享策略的分布式加密方案等,依然存在着很多缺陷,例如认证过程过于繁琐,难以运用于实际、极易造成用户身份隐私泄露、机密文件暴露等问题。因此,基于以上种种问题,急需一种高效的云存储隐私保护方法。本发明提出一种基于时间序列的多叉树数据索引结构的云存储隐私保护方法,采用EKSA算法实现数据的检索,从数据存储数据读取两个过程表明,该方法的设计可以节省存储空间和在确保数据存储安全的基础上保护用户身份隐私。
发明内容
本发明的目的在于设计一种基于时间序列的多叉树数据索引结构云存储隐私保护方法,通过在基于时间序列的多叉树数据存储结构(MTTS)上设计一种高效、灵活的密钥生成算法(KGEN)和对文件、文件的关键字和检索参数加密的(EKSA)算法,进而在以上提出的云存储架构基础上分别就数据存储和数据读取两个过程设计数据隐私保护方案。最后从延迟更新技术来解决访问权限更新问题。
为了达到以上目的,本发明通过以下技术方案实现:
一种基于时间序列的多叉树数据索引结构云存储隐私保护方法,具有数据拥有者存储数据的步骤,包含:
步骤1.1:数据拥有者向云可信中心提出上传数据申请并将自己的身份信息发送给云可信中心;
步骤1.2:云可信中心验证数据拥有者是否合法,若身份认证通过,则云可信中心向数据拥有者发送确认信息,允许数据拥有者上传数据;
步骤1.3:数据拥有者将需要上传的数据的文件名发送给云可信中心;
步骤1.4:云可信中心根据发送的时间将文件名存储于以该数据拥有者为根节点的多叉树数据存储结构中,然后由密钥生成算法得到数据加密密钥;再由云可信中心计算存储认证码;最后云可信中心将数据拥有者身份信息、密钥、文件的名称及存储认证码存储在数据库中;
步骤1.5:云可信中心将文件名、密钥及认证码发送给数据拥有者,同时将文件名与认证码发送给云存储中心;
步骤1.6:数据拥有者收到云可信中心发来的信息后,用密钥对数据加密,得密文;
步骤1.7:数据拥有者将文件名、认证码及密文发送给云存储中心;
步骤1.8:云存储中心通过接收并比较数据拥有者发来的文件名和认证码与云可信中心发来的是否一致,来判断数据拥有者是否通过云可信中心认证;若一致,云存储中心保存数据。
优选地,进一步具有用户访问云端存储的数据读取的步骤,包含:
步骤2.1:用户向云可信中心提出数据访问申请,将自己的身份信息发送给云可信中心;
步骤2.2:云可信中心验证用户的身份信息,若合法,则向其发送确认信息;
步骤2.3:用户收到确认信息后,将需要访问的文件的名称发送给云可信中心;
步骤2.4:云可信中心收到后通过查询数据库,将该文件对应的存储认证码和密钥发给用户;
步骤2.5:用户收到云可信中心发来的信息后,保存好文件名称及认证码,并将文件名称及认证码发送给云存储中心;
步骤2.6:由于云存储中心的数据库中存有文件的名称和存储的认证码,云存储中心通过比较用户发来的认证码与数据库中存有的是否一致来判断用户是否通过云可信中心认证;
步骤2.7:若二者一致,则云存储中心确认用户身份合法,云存储中心将文件名称和密文发给用户;
步骤2.8:用户使用从云可信中心得到的密钥对密文进行解密,得明文。
优选地,所述步骤1.4多叉树数据存储结构是基于时间序列的多叉树数据索引结构,以每个数据拥有者为根建立多叉树,并将文件名称存储在所述多叉树中;
所述多叉树分别根据文件上传的年、月、日建立多级索引;且,叶节点对应得存储文件的名称,并在文件名称后加上根据文件存储时间生成的序列码Q1,Q2,...Qn
所述序列码生成算法如下所示:
Qf=Hash(FID,Y,M,D)(1≤f≤n) 式1
式1中,Hash表示特定散列函数,FID表示文件名称Y,M,D表示文件上传时间的年、月、日。
优选地,所述步骤1.4密钥生成算法为每一个数据拥有者生成一个根密钥,凡是由所述数据拥有者上传的数据文件的加密密钥均由所述数据拥有者的根密钥进一步生成,其步骤包含:
步骤4.1:云可信中心为每一个数据拥有者生成128位的根密钥KP
KP=r·Hash(OIDi||S) 式2
式2中,r是云可信中心随机选取的数,r∈Z*;s是云可信中心保存的私钥;OIDi是数据拥有者编号;
步骤4.2:对于名称为DataIDi的数据,云可信中心根据数据拥有者的根密钥和该数据在存储结构中索引计算其密钥Ki
Ki=Hash(KP||Yi,Mi,Di||Qi) 式3
式3中,Yi,Mi,Di表示i文件上传时间的年、月、日;Qi是序列码。
优选地,所述步骤1.4云可信中心计算存储认证码的计算方法如下:
Certi=g·Hash(DataIDi||timestamp||secret) 式4
式4中,g是由云可信中心随机选取,且g∈Z*;secret是云可信中心的秘密数据;timestamp是时间戳。
优选地,提供设计加密关键字检索算法,将文件、文件的关键字和检索参数进行进一步加密,使得云存储中心找到名字中包含数据使用者检索参数的文件;
加密关键字检索算法,包括:
关键字抽取算法,抽取出来的关键字k,通过连接其每个字符的ASCII码值,从而转换为一个十进制数kd;
关键字加密算法,为了加密kd,数据拥有者选择一个大素数p和其原根a作为公钥对外公布,且生成随机数r(r∈Z+),并计算p-1的最大因子d,接着进行如下计算;
w=(akdr(p-1)/d)modp 式5
最后将w与加密的文件一起存储到云存储中心处;
检索参数加密算法,数据使用者希望查找名字中包含关键字s的文件,首先将s转换为一个十进制数sd,然后生成一个随机数rs(rs∈Z+),将sd加密为ws并生成一个比较值c;
ws=(a-sdrs)modp 式6
c=rs d modp 式7
最后将ws和c一起发给云存储中心;
关键字检索算法,云存储中心收到请求后,首先从数据使用者的证书中提取数据使用者的访问权限,然后对该权限范围内的每个文件的关键字进行如下操作:
wws≡(akdr(p-1)/d)(a-sdrs)modp≡(akd-sdr(p-1)/drs)modp 式8
(wws)d≡(akd-sdr(p-1)/drs)d modp≡(akd-sdrs)d modp 式9
if (w×ws)d==c
then kd==sd
if (kd==sd)
then 文件是满足条件的文件
其中,wws是指将关键字加密后的密文与检索参数加密后的密文点乘。w×ws是指将关键字加密后的密文与检索参数加密后的密文叉乘。前者是矩阵点乘运算,后者是矩阵叉乘运算。
所述的关键字检索算法包括关键字加密算法和检索参数加密算法,关键字加密算法是对文件中提取的关键字进行加密,检索参数加密算法是对文件名称的关键字进行加密。
优选地,在用户访问权限变更或数据更新时,利用延迟更新技术,使云存储中心为每个数据拥有者建立一个每个元素都是一个链表的权限更新列表L,所述链表节点属性Nl和Nt分别记录了发生权限更新的数据使用者编号及更新次数;Nl记录了编号为i的数据拥有者的用户权限变化情况。
优选地,使用所述延迟更新技术给编号为i的数据拥有者修改编号为j的数据使用者的权限时,操作步骤包含:
步骤8.1:向云存储中心发送更新权限消息:
步骤8.2:数据使用者的编号为j$更新标识符($为连接数据使用者编号与更新标识符的连接符;更新标识符为1表示编号为j的数据使用者权限已经更新,更新标识符为0表示编号为j的数据使用者权限没有更新);
步骤8.3:云存储中心接到消息后查找链表L[i],看其中是否存在Nl=j的节点;如果存在则Nt++;否则创建一个Nl为j的节点,使Nt=1。
优选地,当编号为j的数据使用者向云存储中心申请数据时,云存储中心首先检查L[i]中是否有节点Nl=j;
如没有,则查找符合条件的文件并返回;
如有,则检查Nt是否等于证书中的权限更新次数NAR,如果一致则查找符合条件的文件并返回,如果不一致,则拒绝提供文件,并提醒该用户证书已经过期,需向编号为i的数据拥有者重新申请;
当用户的访问权限发生了变更,如果文件没有发生更新,数据拥有者和云存储中心不需要做任何操作。
发明优点如下:
本发明中,为了验证该基于MTTS云存储隐私框架上的隐私保护方案,可从以下几方面进行方案的安全性分析。
1)文件数据存储的安全性
在本发明设计的方案中,由于文件是由128位的密钥Ki加密,以密文形式存储,根据加密密钥的不可伪造性,非法用户是无法获得密钥对密文进行解密,因此,也就保证了数据存储的安全性。
2)密钥的不可伪造性
在密钥生成算法KGEN中,数据拥有者根密钥的生成算法为KP=r·Hash(OIDi||S),r是由可信中心随机选取的数,在产生每一个数据拥有者的根密钥时随机选取的随机数r均不同,因此,当可信中心保存的私钥s被非法用户获取,也无法生成正确的根密钥。并且,当非法用户获得了数据拥有者的根密钥,但由于其不知道数据文件名称在云可信中心的存储位置,仍不能得到密文的密钥。因此,文件的密钥只能由云可信中心生成,非法用户是无法伪造的。
3)用户身份的不可伪造性
若存在非法用户,其未通过云可信中心认证,想要通过伪造存储认证码获得云存储中心的访问权限。假设非法用户U,已经知道文件的名称DataIDi和存储认证码的生成算法,存储认证码的生成算法为,Certi=g·Hash(DataIDi||timestamp||secret)由于云可信中心的安全性极高,U,几乎不可能获得云可信中心的秘密数据secret,即使secret数据被其窃取,由于g为随机数,U,无法获得正确的值,因此也就无法伪造出正确的存储认证码,无法通过云存储中心的验证。
4)用户身份隐私的保密性
在数据的存储过程中,用户只将身份信息发送给了CTC,而CTC是通过存储认证码来判断数据拥有者身份的合法性,其并不知道数据拥有者的身份信息,因此能确保数据拥有者身份隐私的保密性。
5)EKSA的单向安全性
由式w=(akdr(p-1)/d)modp和式ws=(a-sdrs)modp知,关键字加密算法和检索参数加密算法建立在离散对数的基础上,已知密文和公钥无法在多项式时间内求出相应的明文,并且由于r和rs是随机数,因此上述算法是不确定的加密算法,即相同的明文在公钥加密后会产生不同的密文。在云存储中心只是进行简单的比较操作的情况下,以上特点确保了数据拥有者关键字和数据使用者查询模式的隐私安全。
但是,当云存储中心对加密关键字和检索参数进行如下计算时
Wd=(akdr(p-1)/d)dmodp=akdmodc-1c≡1modp==>c-1 (10)
wsc-1≡a-sdmodp (11)
就会使加密的关键字和检索参数丧失不确定性。由于离散对数的难解性,攻击者还是无法求出kd和sd,所以EKSA是一种具有单向性的加密算法。
通过本发明解决了云可信中心的数据存储问题。基于时间序列的多叉树数据存储结构,以每个数据拥有者为根节点,根据数据上传时间的不同建立多叉树型存储结构,能对数据名称进行有效管理,加快检索速度。降低了运算开销、节省存储空间。在MTTS结构上,云可信中心只需根据数据拥有者的根密钥和数据存储的索引推导出加密密钥,大大降低了运算开销。确保了云存储中心中数据存储的安全性和用户身份的匿名性。云存储中心是通过比较用户的存储认证码来判断用户的合法性,其并不知道用户的身份信息,因此能很好地防止用户身份隐私泄露。
本发明构建基于时间序列的多叉树数据索引结构(MTTS),云可信中心存储了每一个数据拥有者的身份信息和其上传的文件名称以及文件对应的加密密钥,面对海量的数据,使这些数据有序存储至关重要;根据Hash散列的特性,给定一个文件名称和上传的时间,能快速求出其序列码,且不同的输入值,所得的序列码也必定不同。
基于时间序列的多叉树数据索引结构,设计一种高效、灵活的密钥生成算法(KGEN);本方法采用对称加密算法对文件进行加密,为确保灵活、细粒度的数据访问控制机制,每个文件都要有不同的密钥,生成和管理众多的密钥至关重要;该方法基于MTTS结构,设计一种高效、灵活的密钥生成算法;在该密钥生成算法中,对于某个数据拥有者上传的每一个数据,云可信中心(CTC)不必进行繁琐的密钥生成运算,只需根据数据拥有者的根密钥和数据存储的索引推导出加密密钥即可,大大降低了运算开销;同时,CTC只需存储数据拥有者的根密钥,既便于管理又节省了存储空间。
为保证数据拥有者和数据使用者的隐私,设计EKSA算法,该算法将文件、文件的关键字和检索参数加密;在云环境中,数据拥有者将文件存储到云存储中心处,凡是经数据拥有者授权的数据使用者都可以向云存储中心提交查询,云存储中心会根据数据使用者的授权范围和查询条件找到相应的文件并返回;这样设计的好处是云存储中心承担了对文件的检索工作,减轻了数据拥有者的负担;为了保证数据拥有者和数据使用者的隐私,需要将文件、文件的关键字和检索参数加密;即云存储中心在不知道关键字内容和检索参数的情况下,能够找到满足检索条件的文件。
在以上提出的云存储架构基础上分别就数据存储和数据读取两个过程设计数据隐私保护方法;在数据的存储过程中,数据使用者只将身份信息发送给CTC,而云存储中心CSC是通过存储认证码来判断数据拥有者身份的合法性,因此可确保数据拥有者身份隐私的保密性;其次,数据是经过加密后传到CSC中的,即使CSC被攻破或者在数据传输过程中被窃取,得到的也是加密后的数据,非法操作者无法获得明文数据;在数据的读取过程中,CSC是通过比较用户的存储认证码来判断用户的合法性,其并不知道用户的身份信息,因此能很好地防止用户身份隐私泄露;其次,数据都是以密文形式进行传输,即使有非法操作者截取了数据,也只能得到密文信息,无法获得数据的原文。
利用延迟更新技术解决用户访问权限变更和数据更新问题;本方法采用数据延迟更新的方法,即当用户的访问权限发生了变更,如果文件没有发生更新,数据拥有者和云存储中心不需要做任何操作。
附图说明
图1是本发明基于时间序列的多叉树数据索引结构云存储隐私保护方法过程图;
图2是云可信中心中的基于时间序列的MTTS存储结构;
图3是本发明提出的云存储隐私保护方法上的数据拥有者存储数据的过程;
图4是本发明提出的云存储隐私保护方法上的数据使用者读取数据的过程。
具体实施方式
为了使本发明实现的技术手段、创作特征、达成目的与功效易于明白了解,下面结合附图和具体实施例对本发明做进一步详细的说明,但不以任何方式限制本发明的范围。
如图1所示,本发明采用基于数据外包模型的应用场景,其中包含四个实体部分,数据拥有者(O),数据使用者(U),云可信中心(CTC),云存储中心(CSC);
数据拥有者(O):数据拥有者是将存储在本地的数据上传至云存储中心的实体;数据拥有者需通过云可信中心认证,使用其分发的密钥将数据加密后上传;另一方面,数据拥有者也能申请访问云服务器中存储的其他数据,在该情况下,数据拥有者即为用户。
数据使用者(U):数据使用者又称为用户,是申请访问云中存储的数据的实体;在访问前必须先通过云可信中心的身份认证,使用其分发的密钥对从云存储中心收到的密文解密后进行访问;另一方面,也可上传本地数据至云存储中心,在该情况下,其身份为数据拥有者。
云存储中心(CSC):云存储中心由存储服务器组成,存储了大量的文件数据,其接收数据拥有者上传的文件并为用户提供数据访问服务。
云可信中心(CTC):云可信中心由可信服务器组成,具有高度的安全性,黑客极难将其攻破;主要负责对用户和数据拥有者的身份进行认证,对密钥进行管理等。
数据拥有者(O)向云可信中心(CTC)提出上传数据申请并将自己的身份信息OIDi发送给CTC。CTC验证数据拥有者是否合法,若身份认证通过,则CTC向O发送确认信息,允许O上传数据。O将需要上传的数据名称DataIDi发送给CTC,CTC根据上传时间生成数据加密密钥Ki,进一步CTC计算出存储认证码Certi。CTC将<DataIDi,Ki>和<DataIDi,Certi>发送给数据拥有者O,同时将<DataIDi,Certi>发送给云存储中心(CSC)。O收到CTC的信息后,对Datai加密,得到密文Ci。最后O将<DataIDi,Certi,Ci>发送给CSC。相应的,当数据使用者U想要访问云端存储的数据时,需要先通过CTC认证,通过认证后,数据使用者才能对数据进行访问。当用户收到确认消息后,用户将需要访问的文件名称DataIDi发送给CTC,CTC收到后通过查询数据库,将该文件对应的存储认证码和密钥发送给用户。用户收到CTC的消息后,保存好<DataIDi,Ki>,并将<DataIDi,Certi>发送给CSC。CSC通过比较用户发来的Certi与数据库存有的Certi是否一致来判断用户是否通过CTC认证。若二者一致,则CSC确认用户身份合法,CSC将文件名称和密文Ci发送给用户,用户使用密钥Ki对密文解密,至此,基于时间序列的多叉树数据索引结构云存储隐私保护方法上的存储和读取数据操作结束。
该云存储隐私保护方法中云可信中心上MTTS结构建立的具体步骤如下:
以每个数据拥有者为根建立多叉树,并将文件名称(DataIDi)存储在以其拥有者为根节点的多叉树中,分别根据文件上传的年(Y)、月(M),日(D)建立多级索引。如图2所示,二级节点代表文件上传的年、月,三级节点代表文件上传的日期,而叶子结点对应文件的名称,并在文件名称后加上根据文件存储时间生成的序列码Q1,Q2,...Qn,其中序列码生成算法为Qf=Hash(FID,Y,M,D)(1≤f≤n) (1)。
高效、灵活的密钥生成算法KGEN包含以下过程:
1)云可信中心为每一个数据拥有者生成128位的根密钥KP
KP=r·Hash(OIDi||S) (2)
式中,r是CTC随机选取的数,r∈Z*;s是CTC保存的私钥;OIDi是数据拥有者编号。
2)对于名称为DataIDi的数据,CTC根据数据拥有者的根密钥和该数据在存储结构中索引计算其密钥Ki
Ki=Hash(KP||Yi,Mi,Di||Qi) (3)
式中,KP是该数据拥有者的根密钥;Yi,Mi,Di表示i文件上传时间的年、月、日;Qi是序列码。
云可信中心计算存储认证码的计算方法如下:
Certi=g·Hash(DataIDi||timestamp||secret)
式中,g是由云可信中心随机选取,且g∈Z*;secret是云可信中心的秘密数据;timestamp是时间戳。
关键字检索算法EKSA由4个关键算法组成,他们分别是关键字抽取、关键字加密、检索参数加密、关键字检索算法,具体步骤如下所示:
1)关键字抽取:抽取出来的关键字k通过连接其每个字符的ASCII码值,从而转换为一个十进制数Kd
2)关键字加密:数据拥有者选择一个大素数p和其原根a作为公钥对外公布。为了加密Kd,生成随机数rs(rs∈Z+),并计算p-1的最大因子d,接着进行如下加密计算
w=(akdr(p-1)/d)modp (4)
最后将w与加密的文件一起存储到云存储中心处。
3)检索参数加密:数据使用者希望查找名字中包含关键字s的文件,首先需根据(1)的方法将s转换为一个十进制数sd,然后生成一个随机数rs(rs∈Z+),将sd加密为ws并生成一个比较值c
ws=(a-sdrs)modp (5)
c=rs dmodp (6)
最后将ws和c一起发给云存储中心。
4)关键字检索:云存储中心收到请求后,首先从数据使用者的证书中提取数据使用者的访问权限,然后对该权限范围内的每个文件的关键字进行如下操作:
wws≡(akdr(p-1)/d)(a-sdrs)modp≡
(akd-sdr(p-1)/drs)modp (7)
(wws)d≡(akd-sdr(p-1)/drs)d modp≡
(akd-sdrs)dmodp (8)
if (w×ws)d==c
then kd==sd
if (kd==sd)
then 该文件是满足条件的文件
其中,wws是指将关键字加密后的密文与检索参数加密后的密文点乘。w×ws是指将关键字加密后的密文与检索参数加密后的密文叉乘。前者是矩阵点乘运算,后者是矩阵叉乘运算。
所述的关键字检索算法包括关键字加密算法和检索参数加密算法,关键字加密算法是对文件中提取的关键字进行加密,检索参数加密算法是对文件名称的关键字进行加密。
最终,经过以上步骤云存储中心可以找到名字中包含数据使用者检索参数的文件。
所述的数据拥有者存储数据的操作包含以下过程:
1)数据拥有者(O)向云可信中心(CTC)提出上传数据申请并将自己的身份信息OIDi发送给CTC.
2)CTC验证数据拥有者是否合法,若身份认证通过,则CTC向O发送确认信息,允许O上传数据。
3)O将需要上传的数据的名称DataIDi发送给CTC。
4)CTC根据发送的时间将文件名称存储于以O为根节点的多叉树中,查询O的根密钥Kp,然后由密钥生成算法得到数据加密密钥Ki。再由CTC计算存储认证码Certi,最后CTC将数据拥有者身份信息,其根密钥,文件的名称及存储认证码存储在数据库中。
5)CTC将<DataIDi,Ki>和<DataIDi,Certi>发送给数据拥有者,同时将<DataIDi,Certi>发送给云存储中心CSC。
6)O收到CTC发来的信息后,用Ki对数据Datai加密,得密文Ci=E(Datai,Ki)。
7)O将<DataIDi,Certi,Ci>发送给CSC。
8)CSC通过接收的O发来的文件名称和存储认证码与CTC发来的是否一致来判断O是否通过CTC认证。
至此,该云存储架构中数据存储的流程完成。
当用户想要访问云端存储的数据时,需要先通过CTC认证,认证通过后,用户才能对数据进行正常访问。所述的用户读取数据操作包含以下过程:
1)用户向CTC提出数据访问申请,将自己的身份信息UIDi发送给CTC。
2)CTC验证用户的身份信息,若合法,则向其发送确认信息。
3)用户收到确认信息后,将需要访问的文件的名称DataIDi发送给CTC。
4)CTC收到后通过查询数据库,将该文件对应的存储认证码和密钥发给用户,即<DataIDi,Certi>,<DataIDi,Ki>。
5)用户收到CTC发来的信息后,保存好<DataIDi,Ki>,并将<DataIDi,Certi>发送给CSC。
6)由于CSC的数据库中存有文件的名称和存储的认证码,CSC通过比较用户发来的Certi与数据库中存有的是否一致来判断用户是否通过CTC认证。
7)若二者一致,则CSC可以确认用户身份合法,CSC将文件名称DataIDi和密文Ci发给用户。
8)用户使用从CTC得到的密钥Ki对密文进行解密,得明文Pi=D(Ci,Ki)。至此,该云存储架构中数据读取操作。
利用延迟更新技术解决访问权限的变更的问题,具体实现方法包含:
首先,云存储中心为每个数据拥有者建立一个权限更新列表L,它的每个元素都是一个链表,链表节点属性Nl和Nt分别记录了发生权限更新的数据使用者编号及更新次数;第i个元素记录了编号为i的数据拥有者的用户权限变化情况;
当编号为i的数据拥有者修改编号为j的数据使用者的权限后,向云存储中心发送更新权限消息,该消息由2部分组成:
数据使用者的编号j$更新标识($为连接符;更新标识符为1表示已经更新,更新标识符为0表示没有更新)。云存储中心接到消息后查找链表L[i],看看其中是否存在Nl=j的节点,如果存在则Nt++,否则创建一个Nl为j的节点,使Nt=1。
编号为j的数据使用者向云存储中心申请数据时,云存储中心首先检查L[i]中是否有节点Nl=j;如没有,则查找符合条件的文件并返回;如有,则检查Nt是否等于证书中的权限更新次数NAR,如果一致则查找符合条件的文件并返回,如果不一致,则拒绝提供文件,并提醒该用户证书已经过期,需向编号为i的数据拥有者重新申请。以上操作防止了权限更改的编号为j的数据使用者再从云存储中心处获取文件。
本发明采用延迟更新的方法,即当用户的访问权限发生了变更,如果文件没有发生更新,数据拥有者和云存储中心不需要做任何操作。
本实例对本发明涉及到的四个实体的功能进行了详细的描述。云数据拥有者、云数据使用者、云可信中心、云存储中心在本方法中分别担任不同的角色。从数据拥有者存储数据和数据使用者读取数据两个详尽过程更全面的了解该云存储保护方法能有效地保护用户的隐私,同时支持高效的数据访问。
尽管本发明的内容已经通过上述优选实例作了详细介绍,但应当认识到上述的描述不应被认为是本发明的限制。在本领域技术人员阅读了上述内容后,对于本发明的多种修改和替代都将是显而易见的。因此,本发明的保护范围应由所附的权利要求。

Claims (9)

1.一种基于时间序列的多叉树数据索引结构云存储隐私保护方法,其特征在于,具有数据拥有者存储数据的步骤,包含:
步骤1.1:数据拥有者向云可信中心提出上传数据申请并将自己的身份信息发送给云可信中心;
步骤1.2:云可信中心验证数据拥有者是否合法,若身份认证通过,则云可信中心向数据拥有者发送确认信息,允许数据拥有者上传数据;
步骤1.3:数据拥有者将需要上传的数据的文件名发送给云可信中心;
步骤1.4:云可信中心根据发送的时间将文件名存储于以该数据拥有者为根节点的多叉树数据存储结构中,然后由密钥生成算法得到数据加密密钥;再由云可信中心计算存储认证码;最后云可信中心将数据拥有者身份信息、密钥、文件的名称及存储认证码存储在数据库中;
步骤1.5:云可信中心将文件名、密钥及认证码发送给数据拥有者,同时将文件名与认证码发送给云存储中心;
步骤1.6:数据拥有者收到云可信中心发来的信息后,用密钥对数据加密,得密文;
步骤1.7:数据拥有者将文件名、认证码及密文发送给云存储中心;
步骤1.8:云存储中心通过接收并比较数据拥有者发来的文件名和认证码与云可信中心发来的是否一致,来判断数据拥有者是否通过云可信中心认证;若一致,云存储中心保存数据。
2.如权利要求1所述的基于时间序列的多叉树数据索引结构云存储隐私保护方法,其特征在于,进一步具有用户访问云端存储的数据读取的步骤,包含:
步骤2.1:用户向云可信中心提出数据访问申请,将自己的身份信息发送给云可信中心;
步骤2.2:云可信中心验证用户的身份信息,若合法,则向其发送确认信息;
步骤2.3:用户收到确认信息后,将需要访问的文件的名称发送给云可信中心;
步骤2.4:云可信中心收到后通过查询数据库,将该文件对应的存储认证码和密钥发给用户;
步骤2.5:用户收到云可信中心发来的信息后,保存好文件名称及认证码,并将文件名称及认证码发送给云存储中心;
步骤2.6:由于云存储中心的数据库中存有文件的名称和存储的认证码,云存储中心通过比较用户发来的认证码与数据库中存有的是否一致来判断用户是否通过云可信中心认证;
步骤2.7:若二者一致,则云存储中心确认用户身份合法,云存储中心将文件名称和密文发给用户;
步骤2.8:用户使用从云可信中心得到的密钥对密文进行解密,得明文。
3.如权利要求1所述的基于时间序列的多叉树数据索引结构云存储隐私保护方法,其特征在于,所述步骤1.4多叉树数据存储结构是基于时间序列的多叉树数据索引结构,以每个数据拥有者为根建立多叉树,并将文件名称存储在所述多叉树中;
所述多叉树分别根据文件上传的年、月、日建立多级索引;且,叶节点对应得存储文件的名称,并在文件名称后加上根据文件存储时间生成的序列码Q1,Q2,...Qn
所述序列码生成算法如下所示:
Qf=Hash(FID,Y,M,D)(1≤f≤n) 式1
式1中,Hash表示特定散列函数,FID表示文件名称Y,M,D表示文件上传时间的年、月、日。
4.如权利要求1所述的基于时间序列的多叉树数据索引结构云存储隐私保护方法,其特征在于,所述步骤1.4密钥生成算法为每一个数据拥有者生成一个根密钥,凡是由所述数据拥有者上传的数据文件的加密密钥均由所述数据拥有者的根密钥进一步生成,其步骤包含:
步骤4.1:云可信中心为每一个数据拥有者生成128位的根密钥KP
KP=r·Hash(OIDi||S) 式2
式2中,r是云可信中心随机选取的数,r∈Z*;s是云可信中心保存的私钥;OIDi是数据拥有者编号;
步骤4.2:对于名称为DataIDi的数据,云可信中心根据数据拥有者的根密钥和该数据在存储结构中索引计算其密钥Ki
Ki=Hash(KP||Yi,Mi,Di||Qi) 式3
式3中,Yi,Mi,Di表示i文件上传时间的年、月、日;Qi是序列码。
5.如权利要求1所述的基于时间序列的多叉树数据索引结构云存储隐私保护方法,其特征在于,所述步骤1.4云可信中心计算存储认证码的计算方法如下:
Certi=g·Hash(DataIDi||timestamp||secret) 式4
式4中,g是由云可信中心随机选取,且g∈Z*;secret是云可信中心的秘密数据;timestamp是时间戳。
6.如权利要求1所述的基于时间序列的多叉树数据索引结构云存储隐私保护方法,其特征在于,提供设计加密关键字检索算法,将文件、文件的关键字和检索参数进行进一步加密,使得云存储中心找到名字中包含数据使用者检索参数的文件;
加密关键字检索算法,包括:
关键字抽取算法,抽取出来的关键字k,通过连接其每个字符的ASCII码值,从而转换为一个十进制数kd;
关键字加密算法,为了加密kd,数据拥有者选择一个大素数p和其原根a作为公钥对外公布,且生成随机数r,r∈Z+,并计算p-1的最大因子d,接着进行如下计算;
w=(akdr(p-1)/d)mod p 式5
最后将w与加密的文件一起存储到云存储中心处;
检索参数加密算法,数据使用者希望查找文件名称中包含关键字s的文件,首先将s转换为一个十进制数sd,然后生成一个随机数rs,rs∈Z+,将sd加密为ws并生成一个比较值c;
ws=(a-sdrs)mod p 式6
c=rs d mod p 式7
最后将ws和c一起发给云存储中心;
关键字检索算法,云存储中心收到请求后,首先从数据使用者的证书中提取数据使用者的访问权限,然后对该权限范围内的每个文件的关键字进行如下操作:
wws≡(akdr(p-1)/d)(a-sdrs)mod p≡(akd-sdr(p-1)/drs)mod p 式8
(wws)d≡(akd-sdr(p-1)/drs)d mod p≡(akd-sdrs)d mod p 式9
if (w×ws)d==c
then kd==sd
if (kd==sd)
then 文件是满足条件的文件
其中,wws是指将关键字加密后的密文与检索参数加密后的密文点乘;w×ws是指将关键字加密后的密文与检索参数加密后的密文叉乘;前者是矩阵点乘运算,后者是矩阵叉乘运算。
7.如权利要求2所述的基于时间序列的多叉树数据索引结构云存储隐私保护方法,其特征在于,在用户访问权限变更或数据更新时,利用延迟更新技术,使云存储中心为每个数据拥有者建立一个每个元素都是一个链表的权限更新列表L,所述链表节点属性Nl和Nt分别记录了发生权限更新的数据使用者编号及更新次数;Nl记录了编号为i的数据拥有者的用户权限变化情况。
8.如权利要求7所述的基于时间序列的多叉树数据索引结构云存储隐私保护方法,其特征在于,使用所述延迟更新技术给编号为i的数据拥有者修改编号为j的数据使用者的权限时,操作步骤包含:
步骤8.1:向云存储中心发送更新权限消息:
步骤8.2:数据使用者的编号为“j$更新标识符”,其中$为连接数据使用者编号与更新标识符的连接符;“j$1”,即更新标识符为1表示编号为j的数据使用者权限已经更新,“j$0”,即更新标识符为0表示编号为j的数据使用者权限没有更新;
步骤8.3:云存储中心接到消息后查找链表L[i],看其中是否存在Nl=j的节点;如果存在则Nt++;否则创建一个Nl为j的节点,使Nt=1。
9.如权利要求8所述的基于时间序列的多叉树数据索引结构云存储隐私保护方法,其特征在于,当编号为j的数据使用者向云存储中心申请数据时,云存储中心首先检查L[i]中是否有节点Nl=j;
如没有,则查找符合条件的文件并返回;
如有,则检查Nt是否等于证书中的权限更新次数NAR,如果一致则查找符合条件的文件并返回,如果不一致,则拒绝提供文件,并提醒该用户证书已经过期,需向编号为i的数据拥有者重新申请;
当用户的访问权限发生了变更,如果文件没有发生更新,数据拥有者和云存储中心不需要做任何操作。
CN201810461549.9A 2018-05-15 2018-05-15 基于时间序列的多叉树数据索引结构云存储隐私保护方法 Active CN108632385B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810461549.9A CN108632385B (zh) 2018-05-15 2018-05-15 基于时间序列的多叉树数据索引结构云存储隐私保护方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810461549.9A CN108632385B (zh) 2018-05-15 2018-05-15 基于时间序列的多叉树数据索引结构云存储隐私保护方法

Publications (2)

Publication Number Publication Date
CN108632385A CN108632385A (zh) 2018-10-09
CN108632385B true CN108632385B (zh) 2020-08-21

Family

ID=63693254

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810461549.9A Active CN108632385B (zh) 2018-05-15 2018-05-15 基于时间序列的多叉树数据索引结构云存储隐私保护方法

Country Status (1)

Country Link
CN (1) CN108632385B (zh)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109933603B (zh) * 2019-03-15 2022-09-30 中国科学技术大学 保护数据隐私和查询隐私的结果可验证的数据查询方法
CN110263570B (zh) * 2019-05-10 2020-09-25 电子科技大学 一种实现高效相似性查询和访问控制的基因数据脱敏方法
CN112333269A (zh) * 2020-11-03 2021-02-05 平安科技(深圳)有限公司 一种区块链网络存储结构、工作方法、装置、介质及设备
CN112749420A (zh) * 2020-12-23 2021-05-04 上海同态信息科技有限责任公司 一种以散列函数为属性的隐私数据协同方法
CN113254451B (zh) * 2021-06-01 2022-04-19 北京城市网邻信息技术有限公司 一种数据索引构建方法、装置、电子设备及存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102833346A (zh) * 2012-09-06 2012-12-19 上海海事大学 基于存储元数据的云敏感数据安全保护系统及方法
CN104579781A (zh) * 2015-01-12 2015-04-29 浙江工商大学 一种差分隐私安全及故障容错的智能电网聚合方法及系统
CN107566386A (zh) * 2017-09-14 2018-01-09 上海海事大学 一种可撤销的属性基加密方法
CN107968780A (zh) * 2017-11-20 2018-04-27 上海海事大学 一种移动云存储共享数据的隐私保护方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8892866B2 (en) * 2011-09-26 2014-11-18 Tor Anumana, Inc. Secure cloud storage and synchronization systems and methods

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102833346A (zh) * 2012-09-06 2012-12-19 上海海事大学 基于存储元数据的云敏感数据安全保护系统及方法
CN104579781A (zh) * 2015-01-12 2015-04-29 浙江工商大学 一种差分隐私安全及故障容错的智能电网聚合方法及系统
CN107566386A (zh) * 2017-09-14 2018-01-09 上海海事大学 一种可撤销的属性基加密方法
CN107968780A (zh) * 2017-11-20 2018-04-27 上海海事大学 一种移动云存储共享数据的隐私保护方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
一种基于大数据处理的异构私有云系统;董浩浩,韩德志;《数学的实践与认识》;20140331;全文 *

Also Published As

Publication number Publication date
CN108632385A (zh) 2018-10-09

Similar Documents

Publication Publication Date Title
CN108632385B (zh) 基于时间序列的多叉树数据索引结构云存储隐私保护方法
CN104486315B (zh) 一种基于内容属性的可撤销密钥外包解密方法
US10650164B2 (en) System and method for obfuscating an identifier to protect the identifier from impermissible appropriation
CN108768951B (zh) 一种云环境下保护文件隐私的数据加密和检索方法
EP2731043B1 (en) Computer system for storing and retrieval of encrypted data items, client computer, computer program product and computer-implemented method
WO2016106752A1 (zh) 一种共享数据的访问控制方法、装置及系统
WO2018113563A1 (zh) 一种具有访问控制功能的数据库查询方法和系统
CN103281377A (zh) 一种面向云的密文数据存储与查询方法
KR20010067966A (ko) 피케이아이 기반의 상업용 키위탁 방법 및 시스템
CN112989375B (zh) 一种分级优化加密无损隐私保护方法
CN114826703B (zh) 基于区块链的数据搜索细粒度访问控制方法及系统
CN104993931A (zh) 一种云存储中多用户的加密搜索方法
CN108021677A (zh) 云计算分布式检索引擎的控制方法
CN105721146B (zh) 一种面向云存储基于smc的大数据共享方法
CN114679340B (zh) 一种文件共享方法、系统、设备及可读存储介质
CN111212026A (zh) 基于区块链的数据处理方法、装置及计算机设备
EP2920732B1 (en) Computer system for storing and retrieval of encrypted data items, client computer, computer program product and computer-implemented method
CN116248289A (zh) 基于密文属性加密的工业互联网标识解析访问控制方法
Su et al. PreBAC: a novel Access Control scheme based Proxy Re-Encryption for cloud computing
CN110474873B (zh) 一种基于知悉范围加密的电子文件访问控制方法和系统
Chennam et al. Cloud security in crypt database server using fine grained access control
Cao et al. Multiuser access control searchable privacy‐preserving scheme in cloud storage
Nandini et al. Implementation of hybrid cloud approach for secure authorized deduplication
Abirami et al. Efficient method for storing health record in cloud using integrity auditing and data sharing
Walunj et al. Secured Authorized Deduplication Based Hybrid Cloud

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