CN117675193A - 一种基于云存储面向跨信任域app数据流转的安全保护方法 - Google Patents

一种基于云存储面向跨信任域app数据流转的安全保护方法 Download PDF

Info

Publication number
CN117675193A
CN117675193A CN202311671828.5A CN202311671828A CN117675193A CN 117675193 A CN117675193 A CN 117675193A CN 202311671828 A CN202311671828 A CN 202311671828A CN 117675193 A CN117675193 A CN 117675193A
Authority
CN
China
Prior art keywords
user
app
data
cloud storage
server
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.)
Pending
Application number
CN202311671828.5A
Other languages
English (en)
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.)
University of Electronic Science and Technology of China
Original Assignee
University of Electronic Science and Technology of China
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 University of Electronic Science and Technology of China filed Critical University of Electronic Science and Technology of China
Priority to CN202311671828.5A priority Critical patent/CN117675193A/zh
Publication of CN117675193A publication Critical patent/CN117675193A/zh
Pending legal-status Critical Current

Links

Classifications

    • 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/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/085Secret sharing or secret splitting, e.g. threshold schemes
    • 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
    • H04L63/0823Network architectures or network communication protocols for network security for authentication of entities using certificates
    • 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
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1441Countermeasures against malicious traffic
    • 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/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3247Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures
    • 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/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3263Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving certificates, e.g. public key certificate [PKC] or attribute certificate [AC]; Public key infrastructure [PKI] arrangements
    • 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/50Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees

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)
  • Computer And Data Communications (AREA)

Abstract

本发明公开了一种基于云存储面向跨信任域APP数据流转的安全保护方法,涉及数据安全流转与身份可信认证技术领域,包括系统初始化阶段、注册阶段、设备授权阶段、登录阶段、数据外包存储阶段和数据请求阶段。本发明使用多APP协助的门限口令加固机制、长短效秘密结合的便捷的身份认证机制以及多APP协助的公钥可搜索加密机制实现了数据在跨信任域APP间流转时的安全保护;各APP充当分布式的密钥服务器辅助用户强化关键词,云存储服务器建立加密后的数据文件与对应强化关键词的索引表,通过检验强化关键词密文与陷门的匹配情况搜索数据,由用户检查并将其中允许共享的数据进行认证加密后发送给请求数据的APP,保护了用户数据的安全。

Description

一种基于云存储面向跨信任域APP数据流转的安全保护方法
技术领域
本发明涉及数据安全流转与身份可信认证技术领域,具体涉及一种基于云存储面向跨信任域APP数据流转的安全保护方法。
背景技术
近年来,随着云存储服务的发展,更多APP乐于使用云存储服务来存储和管理用户的数据,以提高应用程序的灵活性和可拓展性。然而,数据外包存储意味着用户将失去对数据的直接控制,这可能导致服务器或未经授权的用户非法访问数据,增加了用户数据内容泄露的风险。甚至,部分APP在用户协议中有意模糊用户授权使用数据的范围,甚至强制用户将所有数据授权使用。DCCI互联网数据中心2017年公布的数据显示,安卓系统手机应用中有25.3%的APP存在越界获取隐私权限的情况,导致数据面临着滥用的风险。
为了防止用户数据内容的泄露,当前最常用的方法是对用户数据加密后再进行外包存储。然而,使用传统方法加密的数据难以对密文执行关键词搜索操作。可搜索加密是一种可以对上传的加密数据进行搜索的密码学原语,用户能够通过特定的关键词搜索数据文件,但可搜索加密技术会面临关键词猜测攻击。此外,由于移动用户的设备受限、数据访问随遇等特点,新兴的认证协议(如FIDO)在实际部署时会引入新的问题。
发明内容
本发明的目的在于克服现有技术的不足,提供一种基于云存储面向跨信任域APP数据流转的安全保护方法。
本发明的目的是通过以下技术方案来实现的:
一种基于云存储面向跨信任域APP数据流转的安全保护方法,包括步骤:
S1系统初始化阶段:根据安全参数进行系统初始化,确定系统的公共参数;
S2注册阶段:用户生成不可复用的长效口令和用户名,将口令存储在专用的安全存储设备Ukey上;用户盲化口令,发送用户名和盲化口令给所有APP;APP执行分布式秘密共享协议获取服务器端密钥共享;各APP计算各自的盲化口令的签名并发送给用户;用户收到门限个有效的签名后计算盲化口令的签名;用户根据盲化口令的签名分别计算各APP的凭证并发送给对应APP;APP存储该用户的凭证;
S3设备授权阶段:各APP执行分布式秘密共享协议获取各自的秘密共享份额及公共秘密;用户生成安全的短效公私钥对并存储在待授权设备上;用户使用待授权设备与APP交互,计算凭证,其中APP选取一个随机数与盲化口令签名一同发送给待授权设备;待授权设备加密凭证、公钥和随机数并发送给对应APP;APP验证随机数解密是否正确;若正确,返回设备证书签名;否则,拒绝该操作;收到门限个有效的设备证书签名后,设备计算得到设备证书;
S4登录阶段:用户使用已授权设备向APP发送登录请求;APP向该设备传达会话信息;设备凭设备证书向APP获取账户证书;设备生成与该APP的会话证书和安全的短效会话公私钥对;APP验证证书的正确性;若验证通过则允许用户在设备进行登录和使用,并将会话密钥与用户账户关联;否则拒绝该操作;
S5数据外包存储阶段:APP将用户的使用数据加密后发送至云存储服务器;APP执行分布式秘密共享协议获取子密钥、子公钥及相应公钥;APP发送关键词的密文给除自身外的门限个APP;被选定的门限个APP对关键词的密文签名;APP根据获取的签名计算强化关键词,加密后发送给云存储服务器;云存储服务器建立数据文件密文与对应强化关键词密文的索引表;
S6数据请求阶段:APP向已授权登录用户账号的设备发送包含关键词的数据请求;该设备与门限个APP交互获取强化关键词,这一过程与数据外包存储阶段执行的过程相同;设备根据强化关键词计算陷门并发送给云存储服务器;云存储服务器收到陷门后对索引表进行检索;若陷门与索引表中的强化关键词的密文匹配,云存储服务器将对应数据文件的密文发送给该设备;否则拒绝该操作;用户解密后检查数据文件,将其中允许共享的数据加密后通过设备发送给请求数据的APP。
进一步地,所述的S1系统初始化阶段的具体步骤为:
根据安全参数l,确定系统公共参数集为PP={p,P,G,GT,e,h,h1,h2,H,H1,H2,E,D,Sig,F1,F2,t,n},其中G是一个加法循环群,其素数阶为p,GT为一个相同阶的乘法循环群,P是G的生成元,e:G×G→GT是一个双线性映射,h:G→Zp,h1,h2:{0,1}*→Zp,H,H1:{0,1}*→G,以及H2:GT→{0,1}(lg p)是安全的哈希函数,Zp为整数关于模p的加法群,E/D是一种安全的对称加/解密算法,Sig是一种产生签名的算法,F1:Zp×Zp→Zp以及F2:Zp×{0,1}poly(l)→{0,1}poly(l)是伪随机函数,w为检索数据时使用的关键词,与外包存储数据的内容相关,poly(l)为一个关于l的多项式,用于表示w的长度,t是门限值,n是APP的总数。
进一步地,所述的APP执行分布式秘密共享协议步骤为:
(1)系统内每一个服务器Si(i=1,2,...,m),随机选取参数 构造一个t-1阶的多项式fi(x)=ai,0+ai,1x+...+ai,t-1xt-1∈Zp,使得fi(0)=ai,0,其中t为门限值;
(2)服务器Si计算ai,0P、ai,∈P(∈=1,2,...,t-1)并公开,服务器Si计算fi(j)并通过安全信道发送给其他服务器Sj(j=1,2,...,m;j≠i);
(3)服务器Si收到fj(i)后验证等式是否成立;若验证通过则接受fj(i);否则拒绝;
(4)服务器Si的子密钥其对应的子公钥PSi=siP;在密钥服务器{S1,S2,...,Sm}间共享私钥/>和相应的公钥/>
进一步地,所述的S2注册阶段的具体步骤为:
(1)用户U生成用户名IDu,不可复用的长效口令pswu,将口令存储在专用的安全存储设备Ukey上;
(2)用户U均匀一致地选取参数计算盲化口令/>并将发送给系统内所有的APP,APP表示为Ai(i=1,2,...,n);
(3)对于i∈[1,n],Ai检查本地存储中用户名IDu是否已存在;若已存在,返回用户U身份重复;否则,Ai存储用户名IDu
(4)Ai(i=1,2,...,n)执行分布式秘密共享协议,得到其服务器端密钥共享ki=si,相应公钥PKi=PSi,计算得到服务器端公钥PK=PS;
(5)Ai计算并发送给用户U;
(6)用户U检查等式是否成立;若等式成立,则/>有效;否则,用户U拒绝/>
(7)收到t个有效后,用户U计算/>并计算/>
(8)用户U检查等式e(σu,P)=e(H(pswu),PK)是否成立;若等式成立,则σu计算正确;否则,σu计算错误;
(9)用户U计算服务器派生密钥spu=F1(h1u),pswu);
(10)对于i=1,2,...,n,用户U计算凭证spi=h2(spu||i)并发送给Ai
(11)Ai存储凭证spi和用户名IDu,完成注册。
进一步地,所述的S3设备授权阶段的具体步骤为:
(1)Ai(i=1,2,...,n)执行分布式秘密共享协议得到其主秘密共享mski=si,相应的公开主秘密共享PMSKi=PSi,计算相应的公开主秘密PMSK=PS;
(2)用户U生成安全的短效公私钥对(KD,SD)并存储在待授权的设备D上;
(3)用户U均匀一致地选取参数计算盲化口令/>并将发送给Ai(i=1,2,...,n);
(4)Ai计算并发送给用户U;
(5)用户U检查等式是否成立;若等式成立,则/>有效;否则,用户U拒绝/>
(6)收到t个有效后,即/>用户U计算/>并计算
(7)用户U检查等式e(σu,P)=e(H(pswu),PK)是否成立;若等式成立,则σu计算正确;否则,σu错误;
(8)用户U计算服务器派生密钥spu=F1(h1u),pswu);
(9)对于i=1,2,...,n,用户U计算凭证spi=h2(spu||i)并发送E(spi,ri,KD)给Ai
(10)Ai解密并获取ri,验证ri是否正确;若解密失败或ri错误,Ai拒绝该操作;否则,Ai计算Auti=mski·H(Token),EAutTokeni=E(spi,Auti||Token)并将EAutTokeni发送给用户U,Token中包含KD、U的信息、过期时间以及其他辅助信息;
(11)用户U计算D(EAutTokeni)获得Auti和Token,验证等式e(Auti,P)=e(H(Token),PMSKi)是否成立;若等式成立,则Auti有效;否则,用户U拒绝该操作;
(12)收到t个有效签名{Aut1,Aut2,...,Autt}后,用户U计算以及/>用户U检查等式e(Autu,P)=e(H(Token),PMSK)是否成立;若等式不成立则协议终止;否则,用户U接受Autu
(13)用户U计算设备证书CertD={Token,Autu}。
进一步地,所述的S4登录阶段的具体步骤为:
(1)用户U使用授权设备D通过客户端联系Ai的后端服务器进行登录请求,Ai为客户端生成唯一的会话标识session;
(2)授权设备D获取其客户端的session;
(3)授权设备D生成一个随机的账户ID字符串IDa,以及一个帐户密钥对(Ka,Sa);
(4)授权设备D创建一个证书签名请求CSR,CSR中包含授权设备D计算/>将CSR,/>及CertD发送给Ai
(5)Ai验证授权设备D是否有权获取CertD中列出的用户名的证书,并同时拥有SD和Sa
(6)若验证通过,Ai将IDa与该用户名关联起来,并返回一个帐户证书Certa,其中列出了IDa和Ka
(7)若为首次登录,授权设备D生成用于与Ai会话的密钥对(Ks,Ss),生成会话证书Certs,证书包含IDS、Ai的域名以及Ks,计算并将Certa、Certs和/>发送给Ai,请求登录;
(8)Ai将Ks与用户U的帐户关联,随后只允许来自证明其拥有Ss的授权设备D的登录;
(9)若不为首次登录,授权设备D须查找其用于Ai的会话密钥对(Ks,Ss),通过计算来证明其拥有Ss以完成登录。
进一步地,所述的S5数据外包存储阶段的具体步骤为:
(1)给定用户U使用数据的数据文件data及其关键词w,发送数据的AS计算E(data)并发送至云存储服务器C;
(2)Ai(i=1,2,...,n)执行分布式秘密共享协议得到其子密钥ski=si和子公钥PSKi=PSi,计算相应的公钥PSK=PS;
(3)AS均匀一致地选择计算w′=β·H(w),随机选择一个APP集合T={Ai1,Ai2,...,Ait},/>
(4)AS将w′发送给T中的每一个APP;
(5)收到w′后,Ak(k=i1,i2,...,it)计算并将σk发送给AS
(6)AS验证等式e(σk,P)=e(w′,PSKk)是否成立;若验证失败,AS拒绝σk;否则,AS在本地存储σk;AS共需要接收到t个有效签名{σi1,σi2,...,σit};
(7)AS计算并验证σw的正确性,若等式e(σw,P)=e(H(w),PSK)成立,则验证通过;否则验证失败;
(8)AS计算关键词w的强化关键词sdw=F2(h(σw),w),随机选取计算τ=e(H1(sdw),χPSKR);
(9)AS计算并将/>发送给云存储服务器C;
(10)云存储服务器C生成数据文件data的密文Cdata相对应的索引表。
进一步地,所述的S6数据请求阶段的具体步骤为:
(1)用户U为其授权设备D从中随机选取用于陷门计算的私钥α,对应的公钥QD=αP∈G;
(2)请求数据的AR向用户U登录的授权设备D发送包含关键词w的数据请求
(3)授权设备D计算获得关键词w,随后与t个APP交互获取强化关键词sdw
(4)授权设备D计算陷门tdw=αH1(sdw),并发送给云存储服务器C;
(5)云存储服务器C获取tdw后验证等式H2(e(tdw,χP))=H2(τ)是否成立;若等式成立,云存储服务器C将对应的所有Cdata发送给授权设备D;否则拒绝该操作;
(6)用户U计算D(Cdata)后对其中允许进行共享的data′计算发送给AR
本发明的有益效果是:
(1)本发明能够实现用户安全高效的身份认证,通过长短效秘密结合的方法,APP充当分布式的身份服务器对用户进行身份验证、授权设备并使用授权设备通过短效密钥完成身份认证。
(2)本发明能够抵御关键词猜测攻击,实现数据的安全存储与流转,APP充当分布式的密钥服务器进行关键词强化,使用可搜索加密技术在云上存储和检索数据。
(3)本发明在实现一种以用户为中心的基于云存储的面向跨信任域APP的数据流转的安全保护方法的同时,没有给用户带来额外的通信开销,用户只需授权设备,即可使用设备实现高效的登录与数据搜索。
附图说明
图1为本发明系统示意图。
具体实施方式
下面将结合实施例,对本发明的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域技术人员在没有付出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
参阅图1,本发明提供一种技术方案:
一种基于云存储面向跨信任域APP数据流转的安全保护方法,包括步骤:
S1系统初始化阶段:根据安全参数进行系统初始化,确定系统的公共参数;具体步骤为:
根据安全参数l,确定系统公共参数集为PP={p,P,G,GT,e,h,h1,h2,H,H1,H2,E,D,Sig,F1,F2,t,n},其中G是一个加法循环群,其素数阶为p,GT为一个相同阶的乘法循环群,P是G的生成元,e:G×G→GT是一个双线性映射,h:G→Zp,h1,h2:{0,1}*→Zp,H,H1:{0,1}*→G,以及H2:GT→{0,1}(lg p)是安全的哈希函数,Zp为整数关于模p的加法群,E/D是一种安全的对称加/解密算法,Sig是一种产生签名的算法,F1:Zp×Zp→Zp以及F2:Zp×{0,1}poly(l)→{0,1}poly(l)是伪随机函数,w为检索数据时使用的关键词,与外包存储数据的内容相关,poly(l)为一个关于l的多项式,用于表示w的长度,t是门限值,n是APP的总数。
具体的,APP执行分布式秘密共享协议步骤为:
(1)系统内每一个服务器Si(i=1,2,...,m),随机选取参数 构造一个t-1阶的多项式fi(x)=ai,0+ai,1x+…+ai,t-1xt-1∈Zp,使得fi(0)=ai,0,其中t为门限值;
(2)服务器Si计算ai,0P、ai,∈P(∈=1,2,...,t-1)并公开,服务器Si计算fi(j)并通过安全信道发送给其他服务器Sj(j=1,2,...,m;j≠i);
(3)服务器Si收到fj(i)后验证等式是否成立;若验证通过则接受fj(i);否则拒绝;
(4)服务器Si的子密钥其对应的子公钥PSi=sip;在密钥服务器{S1,S2,...,Sm}间共享私钥/>和相应的公钥/>
APP Si(i=1,2,...,n)通过分布式秘密共享协议可以计算其子密钥si和相应的子公钥PSi
S2注册阶段:用户生成不可复用的长效口令和用户名,将口令存储在专用的安全存储设备Ukey上;用户盲化口令,发送用户名和盲化口令给所有APP;APP执行分布式秘密共享协议获取服务器端密钥共享;各APP计算各自的盲化口令的签名并发送给用户;用户收到门限个有效的签名后计算盲化口令的签名;用户根据盲化口令的签名分别计算各APP的凭证并发送给对应APP;APP存储该用户的凭证;
进一步地,所述的S2注册阶段的具体步骤为:
(1)用户U生成用户名IDu,不可复用的长效口令pswu,将口令存储在专用的安全存储设备Ukey上;
(2)用户U均匀一致地选取参数计算盲化口令/>并将发送给系统内所有Ai(i=1,2,...,n);
(3)对于i∈[1,n],Ai检查本地存储中用户名IDu是否已存在;若已存在,返回用户U身份重复;否则,Ai存储用户名IDu
(4)Ai(i=1,2,...,n)执行分布式秘密共享协议,得到其服务器端密钥共享ki=si,相应公钥PKi=PSi,可计算得到服务器端公钥PK=PS;
(5)Ai计算并发送给用户U;
(6)用户U检查等式是否成立;若等式成立,则/>有效;否则,用户U拒绝/>
(7)收到t个有效后,用户U计算/>并计算/>
(8)用户U检查等式e(σu,P)=e(H(pswu),PK)是否成立;若等式成立,则σu计算正确;否则,σu计算错误;
(9)用户U计算服务器派生密钥spu=F1(h1u),pswu);
(10)对于i=1,2,...,n,用户U计算凭证spi=h2(spu||i)并发送给Ai
(11)Ai存储凭证spi和用户名IDu,完成注册。
上述注册阶段,用户向系统内APP注册时采用的是长效口令和盲化技术,可保证用户注册信息的安全性与私密性。
S3设备授权阶段:各APP执行分布式秘密共享协议获取各自的秘密共享份额及公共秘密;用户生成安全的短效公私钥对并存储在待授权设备上;用户使用待授权设备与APP交互,计算凭证,其中APP选取一个随机数与盲化口令签名一同发送给待授权设备;待授权设备加密凭证、公钥和随机数并发送给对应APP;APP验证随机数解密是否正确;若正确,返回设备证书签名;否则,拒绝该操作;收到门限个有效的设备证书签名后,设备计算得到设备证书;
进一步地,在用户U已完成APP的注册的基础上,所述的S3设备授权阶段的具体步骤为:
(1)Ai(i=1,2,...,n)执行分布式秘密共享协议得到其主秘密共享mski=si,相应的公开主秘密共享PMSKi=PSi,计算相应的公开主秘密PMSK=PS;
(2)用户U生成安全的短效公私钥对(KD,SD)并存储在待授权的设备D上;
(3)用户U均匀一致地选取参数计算盲化口令/>并将发送给Ai(i=1,2,...,n);
(4)Ai计算并发送给用户U;
(5)用户U检查等式是否成立;若等式成立,则/>有效;否则,用户U拒绝/>
(6)收到t个有效后,即/>用户U计算/>并计算
(7)用户U检查等式e(σu,P)=e(H(pswu),PK)是否成立;若等式成立,则σu计算正确;否则,σu错误;
(8)用户U计算服务器派生密钥spu=F1(h1u),pswu);
(9)对于i=1,2,...,n,用户U计算凭证spi=h2(spu||i)并发送E(spi,ri,KD)给Ai
(10)Ai解密并获取ri,验证ri是否正确;若解密失败或ri错误,Ai拒绝该操作;否则,Ai计算Auti=mski·H(Token),EAutTokeni=E(spi,Auti||Token)并将EAutTokeni发送给用户U,Token中包含KD、U的信息、过期时间以及其他辅助信息;
(11)用户U计算D(EAutTokeni)获得Auti和Token,验证等式e(Auti,P)=e(H(Token),PMSKi)是否成立;若等式成立,则Auti有效;否则,用户U拒绝该操作;
(12)收到t个有效签名{Aut1,Aut2,...,Autt}后,用户U计算以及/>用户U检查等式e(Autu,P)=e(H(Token),PMSK)是否成立;若等式不成立则协议终止;否则,用户U接受Autu
(13)用户U计算设备证书CertD={Token,Autu}。
S4登录阶段:用户使用已授权设备向APP发送登录请求;APP向该设备传达会话信息;设备凭设备证书向APP获取账户证书;设备生成与该APP的会话证书和安全的短效会话公私钥对;APP验证证书的正确性;若验证通过则允许用户在设备进行登录和使用,并将会话密钥与用户账户关联;否则拒绝该操作;
进一步地,在用户U已完成在Ai上的注册且已授权设备D的基础上,所述的S4登录阶段的具体步骤为:
(1)用户U使用授权设备D通过客户端联系Ai的后端服务器进行登录请求,Ai为客户端生成唯一的会话标识session;
(2)授权设备D获取其客户端的session;
(3)授权设备D生成一个随机的账户ID字符串IDa,以及一个帐户密钥对(Ka,Sa);
(4)授权设备D创建一个证书签名请求(certificate signing request,CSR),其中包含授权设备D计算/>将CSR,/>及CertD发送给Ai
(5)Ai验证授权设备D是否有权获取CertD中列出的用户名的证书,并同时拥有SD和Sa
(6)若验证通过,Ai将IDa与该用户名关联起来,并返回一个帐户证书Certa,其中列出了IDa和Ka
(7)若为首次登录,授权设备D生成用于与Ai会话的密钥对(Ks,Ss),生成会话证书Certs,证书包含IDS、Ai的域名以及Ks,计算并将Certa、Certs和/>发送给Ai,请求登录;
(8)Ai将Ks与U的帐户关联,随后只允许来自证明其拥有Ss的D的登录;
(9)若不为首次登录,授权设备D须查找其用于Ai的会话密钥对(Ks,Ss),通过计算来证明其拥有Ss以完成登录。
为实现安全高效的身份认证,用户将不可复用的用户口令(长效秘密)存储在一种专用的安全存储设备Ukey上,APP充当分布式的身份服务器对用户进行身份验证,并以阈值的方式颁发身份验证令牌,授权设备后使用已授权设备通过短效密钥(短效秘密)与APP进行交互,实现登录和使用。上述登录步骤为用户U在Ai上的登录步骤,其在云存储服务器上的登录与其在APP的登录步骤类似。
S5数据外包存储阶段:APP将用户的使用数据加密后发送至云存储服务器;APP执行分布式秘密共享协议获取子密钥、子公钥及相应公钥;APP发送关键词的密文给除自身外的门限个APP;被选定的门限个APP对关键词的密文签名;APP根据获取的签名计算强化关键词,加密后发送给云存储服务器;云存储服务器建立数据文件密文与对应强化关键词密文的索引表;
进一步地,所述的S5数据外包存储阶段的具体步骤为:
(1)给定用户U使用数据的数据文件data及其关键词w,发送数据的AS计算E(data)并发送至云存储服务器C;
(2)Ai(i=1,2,...,n)执行分布式秘密共享协议得到其子密钥ski=si和子公钥PSKi=PSi,计算相应的公钥PSK=PS;
(3)AS均匀一致地选择计算w′=β·H(w),随机选择一个APP集合T={Ai1,Ai2,...,Ait},/>
(4)AS将w′发送给T中的每一个APP;
(5)收到w′后,Ak(k=i1,i2,...,it)计算并将σk发送给AS
(6)AS验证等式e(σk,P)=e(w′,PSKk)是否成立;若验证失败,AS拒绝σk;否则,AS在本地存储σk;AS共需要接收到t个有效签名{σi1,σi2,...,σit};
(7)AS计算并验证σw的正确性,若等式e(σw,P)=e(H(w),PSK)成立,则验证通过;否则验证失败;
(8)AS计算关键词w的强化关键词sdw=F2(h(σw),w),随机选取计算T=e(H1(sdw),χPSKR);
(9)AS计算并将/>发送给云存储服务器C;
(10)云存储服务器C生成数据文件data的密文Cdata相对应的索引表。索引表图下表所示:
S6数据请求阶段:APP向已授权登录用户账号的设备发送包含关键词的数据请求;该设备与门限个APP交互获取强化关键词,这一过程与数据外包存储阶段执行的过程相同;设备根据强化关键词计算陷门并发送给云存储服务器;云存储服务器收到陷门后对索引表进行检索;若陷门与索引表中的强化关键词的密文匹配,云存储服务器将对应数据文件的密文发送给该设备;否则拒绝该操作;用户解密后检查数据文件,将其中允许共享的数据加密后通过设备发送给请求数据的APP。
进一步地,所述的S6数据请求阶段的具体步骤为:
(1)用户U为其授权设备D从中随机选取用于陷门计算的私钥α,对应的公钥QD=αP∈G;
(2)请求数据的AR向用户U登录的授权设备D发送包含w的数据请求
(3)授权设备D计算获得w,随后与t个APP交互获取sdw;这一过程与数据外包存储阶段中AS执行的过程相同;
(4)授权设备D计算陷门tdw=αH1(sdw),并发送给云存储服务器C;
(5)云存储服务器C获取tdw后验证等式H2(e(tdw,χP))=H2(τ)是否成立;若等式成立,云存储服务器C将对应的所有Cdata发送给授权设备D;否则拒绝该操作;
(6)用户U计算D(Cdata)后对其中允许进行共享的data′计算发送给AR
为抵御密钥猜测攻击,实现数据的安全存储与流转,基于云存储服务器的存储服务,各APP充当分布式的密钥服务器辅助用户强化关键词,云存储服务器建立加密后的数据文件与对应强化关键词的索引表,通过检验强化关键词密文与陷门的匹配情况搜索数据,由用户检查并将其中允许共享的数据进行认证加密后发送给请求数据的APP,保护了用户数据的安全。
以上所述仅是本发明的优选实施方式,应当理解本发明并非局限于本文所披露的形式,不应看作是对其他实施例的排除,而可用于各种其他组合、修改和环境,并能够在本文所述构想范围内,通过上述教导或相关领域的技术或知识进行改动。而本领域人员所进行的改动和变化不脱离本发明的精神和范围,则都应在本发明所附权利要求的保护范围内。

Claims (8)

1.一种基于云存储面向跨信任域APP数据流转的安全保护方法,其特征在于,包括步骤:
S1系统初始化阶段:根据安全参数进行系统初始化,确定系统的公共参数;
S2注册阶段:用户生成不可复用的长效口令和用户名,将口令存储在专用的安全存储设备Ukey上;用户盲化口令,发送用户名和盲化口令给所有APP;APP执行分布式秘密共享协议获取服务器端密钥共享;各APP计算各自的盲化口令的签名并发送给用户;用户收到门限个有效的签名后计算盲化口令的签名;用户根据盲化口令的签名分别计算各APP的凭证并发送给对应APP;APP存储该用户的凭证;
S3设备授权阶段:各APP执行分布式秘密共享协议获取各自的秘密共享份额及公共秘密;用户生成安全的短效公私钥对并存储在待授权设备上;用户使用待授权设备与APP交互,计算凭证,其中APP选取一个随机数与盲化口令签名一同发送给待授权设备;待授权设备加密凭证、公钥和随机数并发送给对应APP;APP验证随机数解密是否正确;若正确,返回设备证书签名;否则,拒绝该操作;收到门限个有效的设备证书签名后,设备计算得到设备证书;
S4登录阶段:用户使用已授权设备向APP发送登录请求;APP向该设备传达会话信息;设备凭设备证书向APP获取账户证书;设备生成与该APP的会话证书和安全的短效会话公私钥对;APP验证证书的正确性;若验证通过则允许用户在设备进行登录和使用,并将会话密钥与用户账户关联;否则拒绝该操作;
S5数据外包存储阶段:APP将用户的使用数据加密后发送至云存储服务器;APP执行分布式秘密共享协议获取子密钥、子公钥及相应公钥;APP发送关键词的密文给除自身外的门限个APP;被选定的门限个APP对关键词的密文签名;APP根据获取的签名计算强化关键词,加密后发送给云存储服务器;云存储服务器建立数据文件密文与对应强化关键词密文的索引表;
S6数据请求阶段:APP向已授权登录用户账号的设备发送包含关键词的数据请求;该设备与门限个APP交互获取强化关键词,这一过程与数据外包存储阶段执行的过程相同;设备根据强化关键词计算陷门并发送给云存储服务器;云存储服务器收到陷门后对索引表进行检索;若陷门与索引表中的强化关键词的密文匹配,云存储服务器将对应数据文件的密文发送给该设备;否则拒绝该操作;用户解密后检查数据文件,将其中允许共享的数据加密后通过设备发送给请求数据的APP。
2.根据权利要求1所述的一种基于云存储面向跨信任域APP数据流转的安全保护方法,其特征在于,所述的S1系统初始化阶段的具体步骤为:
根据安全参数l,确定系统公共参数集为PP={p,P,G,GT,e,h,h1,h2,H,H1,H2,E,D,Sig,F1,F2,t,n},其中G是一个加法循环群,其素数阶为p,GT为一个相同阶的乘法循环群,P是G的生成元,e:G×G→GT是一个双线性映射,h:G→Zp,h1,h2:{0,1}*→Zp,H,H1:{0,1}*→G,以及H2:GT→{0,1}(lg p)是安全的哈希函数,Zp为整数关于模p的加法群,E/D是一种安全的对称加/解密算法,Sig是一种产生签名的算法,F1:Zp×Zp→Zp以及F2:是伪随机函数,w为检索数据时使用的关键词,与外包存储数据的内容相关,/>为一个关于l的多项式,用于表示w的长度,t是门限值,n是APP的总数。
3.根据权利要求2所述的一种基于云存储面向跨信任域APP数据流转的安全保护方法,其特征在于:所述的APP执行分布式秘密共享协议步骤为:
(1)系统内每一个服务器Si(i=1,2,…,m),随机选取参数 构造一个t-1阶的多项式fi(x)=ai,0+ai,1x+…+ai,t-1xt-1∈Zp,使得fi(0)=ai,0,其中t为门限值;
(2)服务器Si计算ai,0P、ai,∈P(∈=1,2,…,t-1)并公开,服务器Si计算fi(j)并通过安全信道发送给其他服务器Sj(j=1,2,…,m;j≠i);
(3)服务器Si收到fj(i)后验证等式是否成立;若验证通过则接受fj(i);否则拒绝;
(4)服务器Si的子密钥其对应的子公钥PSi=siP;在密钥服务器{S1,S2,…,Sm}间共享私钥/>和相应的公钥/>
4.根据权利要求3所述的一种基于云存储面向跨信任域APP数据流转的安全保护方法,其特征在于:所述的S2注册阶段的具体步骤为:
(1)用户U生成用户名IDu,不可复用的长效口令pswu,将口令存储在专用的安全存储设备Ukey上;
(2)用户U均匀一致地选取参数计算盲化口令/>并将发送给系统内所有的APP,APP表示为Ai(i=1,2,…,n);
(3)对于i∈[1,n],Ai检查本地存储中用户名IDu是否已存在;若已存在,返回用户U身份重复;否则,Ai存储用户名IDu
(4)Ai(i=1,2,…,n)执行分布式秘密共享协议,得到其服务器端密钥共享ki=si,相应公钥PKi=PSi,计算得到服务器端公钥PK=PS;
(5)Ai计算并发送给用户U;
(6)用户U检查等式是否成立;若等式成立,则/>有效;否则,用户U拒绝/>
(7)收到t个有效后,用户U计算/>并计算/>
(8)用户U检查等式e(σu,P)=e(H(pswu),PK)是否成立;若等式成立,则σu计算正确;否则,σu计算错误;
(9)用户U计算服务器派生密钥spu=F1(h1u),pswu);
(10)对于i=1,2,…,n,用户U计算凭证spi=h2(spu||i)并发送给Ai
(11)Ai存储凭证spi和用户名IDu,完成注册。
5.根据权利要求4所述的一种基于云存储面向跨信任域APP数据流转的安全保护方法,其特征在于:所述的S3设备授权阶段的具体步骤为:
(1)Ai(i=1,2,…,n)执行分布式秘密共享协议得到其主秘密共享mski=si,相应的公开主秘密共享PMSKi=PSi,计算相应的公开主秘密PMSK=PS;
(2)用户U生成安全的短效公私钥对(KD,SD)并存储在待授权的设备D上;
(3)用户U均匀一致地选取参数计算盲化口令/>并将发送给Ai(i=1,2,…,n);
(4)Ai计算并发送给用户U;
(5)用户U检查等式是否成立;若等式成立,则/>有效;否则,用户U拒绝/>
(6)收到t个有效后,即/>用户U计算/>并计算
(7)用户U检查等式e(σu,P)=e(H(pswu),PK)是否成立;若等式成立,则σu计算正确;否则,σu错误;
(8)用户U计算服务器派生密钥spu=F1(h1u),pswu);
(9)对于i=1,2,…,n,用户U计算凭证spi=h2(spu||i)并发送E(spi,ri,KD)给Ai
(10)Ai解密并获取ri,验证ri是否正确;若解密失败或ri错误,Ai拒绝该操作;否则,Ai计算Auti=mski·H(Token),EAutTokeni=E(spi,Auti||Token)并将EAutTokeni发送给用户U,Token中包含KD、U的信息、过期时间以及其他辅助信息;
(11)用户U计算D(EAutTokeni)获得Auti和Token,验证等式e(Auti,P)=e(H(Token),PMSKi)是否成立;若等式成立,则Auti有效;否则,用户U拒绝该操作;
(12)收到t个有效签名{Aut1,Aut2,…,Autt}后,用户U计算以及用户U检查等式e(Autu,P)=e(H(Token),PMSK)是否成立;若等式不成立则协议终止;否则,用户U接受Autu
(13)用户U计算设备证书CertD={Token,Autu}。
6.根据权利要求5所述的一种基于云存储面向跨信任域APP数据流转的安全保护方法,其特征在于:所述的S4登录阶段的具体步骤为:
(1)用户U使用授权设备D通过客户端联系Ai的后端服务器进行登录请求,Ai为客户端生成唯一的会话标识session;
(2)授权设备D获取其客户端的session;
(3)授权设备D生成一个随机的账户ID字符串IDa,以及一个帐户密钥对(Ka,Sa);
(4)授权设备D创建一个证书签名请求CSR,CSR中包含授权设备D计算将CSR,/>及CertD发送给Ai
(5)Ai验证授权设备D是否有权获取CertD中列出的用户名的证书,并同时拥有SD和Sa
(6)若验证通过,Ai将IDa与该用户名关联起来,并返回一个帐户证书Certa,其中列出了IDa和Ka
(7)若为首次登录,授权设备D生成用于与Ai会话的密钥对(Ks,Ss),生成会话证书Certs,证书包含IDS、Ai的域名以及Ks,计算并将Certa、Certs和/>发送给Ai,请求登录;
(8)Ai将Ks与用户U的帐户关联,随后只允许来自证明其拥有Ss的授权设备D的登录;
(9)若不为首次登录,授权设备D须查找其用于Ai的会话密钥对(Ks,Ss),通过计算来证明其拥有Ss以完成登录。
7.根据权利要求6所述的一种基于云存储面向跨信任域APP数据流转的安全保护方法,其特征在于:所述的S5数据外包存储阶段的具体步骤为:
(1)给定用户U使用数据的数据文件data及其关键词w,发送数据的AS计算E(data)并发送至云存储服务器C;
(2)Ai(i=1,2,…,n)执行分布式秘密共享协议得到其子密钥ski=si和子公钥PSKi=PSi,计算相应的公钥PSK=PS;
(3)AS均匀一致地选择计算w'=β·H(w),随机选择一个APP集合
(4)AS将w'发送给T中的每一个APP;
(5)收到w'后,Ak(k=i1,i2,…,it)计算并将σk发送给AS
(6)AS验证等式e(σk,P)=e(w',PSKk)是否成立;若验证失败,AS拒绝σk;否则,AS在本地存储σk;AS共需要接收到t个有效签名{σi1i2,…,σit};
(7)AS计算并验证σw的正确性,若等式e(σw,P)=e(H(w),PSK)成立,则验证通过;否则验证失败;
(8)AS计算关键词w的强化关键词sdw=F2(h(σw),w),随机选取计算τ=e(H1(sdw),χPSKR);
(9)AS计算并将/>发送给云存储服务器C;
(10)云存储服务器C生成数据文件data的密文Cdata相对应的索引表。
8.根据权利要求7所述的一种基于云存储面向跨信任域APP数据流转的安全保护方法,其特征在于:所述的S6数据请求阶段的具体步骤为:
(1)用户U为其授权设备D从中随机选取用于陷门计算的私钥α,对应的公钥QD=αP∈G;
(2)请求数据的AR向用户U登录的授权设备D发送包含关键词w的数据请求
(3)授权设备D计算获得关键词w,随后与t个APP交互获取强化关键词sdw
(4)授权设备D计算陷门tdw=αH1(sdw),并发送给云存储服务器C;
(5)云存储服务器C获取tdw后验证等式H2(e(tdw,χP))=H2(τ)是否成立;若等式成立,云存储服务器C将对应的所有Cdata发送给授权设备D;否则拒绝该操作;
(6)用户U计算D(Cdata)后对其中允许进行共享的data'计算发送给AR
CN202311671828.5A 2023-12-07 2023-12-07 一种基于云存储面向跨信任域app数据流转的安全保护方法 Pending CN117675193A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202311671828.5A CN117675193A (zh) 2023-12-07 2023-12-07 一种基于云存储面向跨信任域app数据流转的安全保护方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202311671828.5A CN117675193A (zh) 2023-12-07 2023-12-07 一种基于云存储面向跨信任域app数据流转的安全保护方法

Publications (1)

Publication Number Publication Date
CN117675193A true CN117675193A (zh) 2024-03-08

Family

ID=90080468

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202311671828.5A Pending CN117675193A (zh) 2023-12-07 2023-12-07 一种基于云存储面向跨信任域app数据流转的安全保护方法

Country Status (1)

Country Link
CN (1) CN117675193A (zh)

Similar Documents

Publication Publication Date Title
US9306942B1 (en) Agile OTP generation
US8627424B1 (en) Device bound OTP generation
KR101298562B1 (ko) 일회용 사설키를 사용하여 디지털 서명을 구현하기 위한시스템 및 방법
US10348706B2 (en) Assuring external accessibility for devices on a network
CN106559408B (zh) 一种基于信任管理的sdn认证方法
CN110990827A (zh) 一种身份信息验证方法、服务器及存储介质
WO2009105996A1 (zh) 实现服务访问的方法、设备及系统
CN108768608A (zh) 在区块链pki下支持瘦客户端的隐私保护身份认证方法
US20110213959A1 (en) Methods, apparatuses, system and related computer program product for privacy-enhanced identity management
CN105871553A (zh) 一种无需用户身份的三因素的远程用户认证方法
TW200810465A (en) Mutual authentication between two parties using two consecutive one-time passwords
CN105409186A (zh) 用于用户认证的系统及方法
CN107294725A (zh) 一种多服务器环境下的三因素认证方法
CN105119721B (zh) 一种基于智能卡的三因素远程身份认证方法
KR101679771B1 (ko) 아이덴티티 인증을 위한 방법, 디바이스 및 시스템
CN103338201A (zh) 一种多服务器环境下注册中心参与的远程身份认证方法
CN111800378A (zh) 一种登录认证方法、装置、系统和存储介质
CN115766033A (zh) 面向隐私保护的门限单点登录方法
TW201901508A (zh) 用於登入的認證方法
Srinivas et al. An authentication framework for roaming service in global mobility networks
JP2004328293A (ja) 電子チケット、電子チケット方式、認証方式および情報処理方式
US20240236066A9 (en) A method for authenticating a user towards a multi-node party
CN117675193A (zh) 一种基于云存储面向跨信任域app数据流转的安全保护方法
AU2017412654B2 (en) Assuring external accessibility for devices on a network
CN110557365A (zh) 一种基于消息认证码的安全单点登录方法

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