本發明涉及云計算技術領域,具體涉及一種基于云計算平臺的數據訪問方法及用戶終端。
背景技術:
在大數據時代,云計算平臺通常用于存放海量數據。其中,云計算平臺存放的海量數據通常會涉及到個人隱私數據,例如個人醫療記錄等。在實際應用中,云計算平臺通常是由云服務提供商(Cloud Service Provider,CSP)進行管理和維護的,而云服務提供商通常又是以盈利為目的的企業,當企業與云服務提供商簽訂了服務水平協議(Service Level Agreement,LSA)之后,企業可以對其企業內部的用戶進行授權,使得企業內部的用戶不僅可以將數據存放至云計算平臺,還可以訪問云計算平臺的數據。在實踐中發現,企業內部的用戶一旦被授權就可以訪問云計算平臺中的所有數據,難于實現細粒度訪問控制。
技術實現要素:
本發明實施例公開了一種基于云計算平臺的數據訪問方法及用戶終端,能夠有效地對云計算平臺的數據進行細粒度訪問控制。
本發明實施例第一方面公開一種基于云計算平臺的數據訪問方法,包括:
獲取對查詢到的云計算平臺的數據密文的訪問請求,所述訪問請求攜帶解密密鑰,所述解密密鑰包括用戶精確身份標識和用戶屬性標識;
當所述用戶精確身份標識屬于所述數據密文的訪問結構包括的身份標識集合時,和/或,當所述用戶屬性標識屬于所述數據密文的訪問結構包括的用戶屬性標識集合時,解密所述數據密文以獲得數據明文。
本發明實施例第二方面公開一種用戶終端,用于執行基于云計算平臺的數據訪問方法,所述用戶終端包括:
獲取單元,用于獲取對查詢到的云計算平臺的數據密文的訪問請求,所述訪問請求攜帶解密密鑰,所述解密密鑰包括用戶精確身份標識和用戶屬性標識;
解密單元,用于當所述用戶精確身份標識屬于所述數據密文的訪問結構包括的身份標識集合時,和/或,當所述用戶屬性標識屬于所述數據密文的訪問結構包括的用戶屬性標識集合時,解密所述數據密文以獲得數據明文。
本發明實施例中,由于解密密鑰可以包括用戶精確身份標識和用戶屬性標識,并且當該用戶精確身份標識屬于需要訪問的數據密文的訪問結構包括的身份標識集合時,和/或,當該用戶屬性標識屬于需要訪問的數據密文的訪問結構包括的用戶屬性標識集合時,才對需要訪問的數據密文進行解密以獲得數據明文,可見,本發明實施例可以結合解密密鑰包括的用戶精確身份標識和用戶屬性標識來有效地對云計算平臺的數據進行細粒度訪問控制。
附圖說明
為了更清楚地說明本發明實施例中的技術方案,下面將對實施例中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發明的一些實施例,對于本領域普通技術人員來講,在不付出創造性勞動的前提下,還可以根據這些附圖獲得其他的附圖。
圖1是本發明實施例公開的一種基于云計算平臺的網絡架構示意圖;
圖2是本發明實施例公開的一種基于云計算平臺的數據訪問方法的流程示意圖;
圖3是本發明實施例公開的另一種基于云計算平臺的數據訪問方法的流程示意圖;
圖4是本發明實施例公開的用戶終端的結構示意圖。
具體實施方式
下面將結合本發明實施例中的附圖,對本發明實施例中的技術方案進行清楚、完整地描述,顯然,所描述的實施例僅是本發明一部分實施例,而不是全部的實施例。基于本發明中的實施例,本領域普通技術人員在沒有做出創造性勞動前提下所獲得的所有其他實施例,都屬于本發明保護的范圍。
本發明實施例公開了一種基于云計算平臺的數據訪問方法及用戶終端,能夠有效地對云計算平臺的數據進行細粒度訪問控制。以下分別進行詳細說明。
為了更好理解本發明實施例公開的一種基于云計算平臺的數據訪問方法及用戶終端,下面先對本發明實施例適用的網絡架構進行描述。請參閱圖1,圖1是本發明實施例公開的一種基于云計算平臺的網絡架構示意圖。需要說明的是,圖1所示的基于云計算平臺的網絡架構僅僅是本發明實施例適用的一種網絡架構,本發明實施例也還適用于其他類型的網絡架構,本發明實施例不作具體限定。在如圖1所示的網絡架構中,企業可以與云服務提供商(CSP)簽訂服務水平協議(Service Level Agreement,SLA),從而實現企業向CSP租賃云服務。其中,CSP可以對云計算平臺進行管理、維護操作,而企業可以授權企業內部的用戶終端(即員工)在云計算平臺進行數據查詢、共享。進一步地,在圖1所示的網絡架構中,用戶終端既可以作為數據擁護者授權其他用戶查詢和訪問數據,也可以作為訪問用戶向云計算平臺查詢和訪問其權限以內的數據。
在圖1所示的網絡架構中,用戶終端可以向企業內的用戶終端的直屬部門申請密鑰,而企業又可以向其信任的第三方申請密鑰,也即是說,在圖1所示的網絡架構中,可以支持層次結構的密鑰生成方式,從而可以有效地避免性能瓶頸和單點失效等問題,可以更好地滿足用戶隨時隨地訪問數據的需求。其中,企業可以運行密鑰生成模塊(HMIBE)以層次結構的密鑰生成方式為 用戶終端u生成解密密鑰Kd,u和查詢密鑰Ks,u,相應地,解密密鑰Kd,u可以由用戶精確身份標識Sku和用戶屬性標識bu組成,其中,用戶精確身份標識Sku舉例來說可以包括工號(如4021434)、手機號碼、身份證號碼甚至郵件地址、社交賬號等,而用戶屬性標識bu舉例來說可以包括用戶所屬部門(如財務部、銷售部)、用戶性別(如“男性”)以及用戶級稱(如“教授”)等;其中,查詢密鑰Ks,u主要用于向云計算平臺查詢數據與授權的查詢條件Q相匹配的數據。在圖1所示的網絡架構中,本發明實施例可以結合解密密鑰包括的用戶精確身份標識和用戶屬性標識來有效地對云計算平臺的數據進行細粒度訪問控制。
請參閱圖2,圖2是本發明實施例公開的一種基于云計算平臺的數據訪問方法的流程示意圖。如圖2所示,該基于云計算平臺的數據訪問方法可以包括以下步驟。
S201、用戶終端獲取對查詢到的云計算平臺的數據密文的訪問請求,訪問請求攜帶解密密鑰,該解密密鑰包括用戶精確身份標識和用戶屬性標識。
本發明實施例中,用戶終端可以接收用戶(如企業員工)輸入的針對預先查詢到的云計算平臺的數據密文的訪問請求,訪問請求可以攜帶包括用戶精確身份標識和用戶屬性標識的解密密鑰。
S202、當用戶精確身份標識屬于數據密文的訪問結構包括的身份標識集合時,和/或,當用戶屬性標識屬于數據密文的訪問結構包括的用戶屬性標識集合時,用戶終端解密數據密文以獲得數據明文。
本發明實施例中,假設數據密文Fi的訪問結構為Ai,訪問結構Ai=={{“工號=4021434”,“工號=4021436”},{“財務部”,"銷售部"}},其中,“工號=4021434”,“工號=4021436”}表示訪問結構包括的身份標識集合U1,{“財務部”,"銷售部"}表示訪問結構包括的用戶屬性標識集合U2,上述的Ai表示數據密文不僅能夠被UI中的用戶精確身份標識Sku為“工號=4021434”以及“工號=4021436”的用戶訪問,而且能夠被U2中的用戶屬性標識bu為“財務部”和“銷售部”的用戶訪問。更進一步地,假設上述步驟S201中的訪問請求攜帶 的解密密鑰Kd,u包括的用戶精確身份標識Sku為“4021434”,和/或,訪問請求攜帶的解密密鑰Kd,u包括的用戶屬性標識bu為“財務部”,那么用戶終端可以判斷出用戶精確身份標識Sku“4021434”屬于數據密文Fi的訪問結構為Ai包括的身份標識集合U1,和/或,可以判斷出用戶屬性標識bu“財務部”屬于數據密文Fi的訪問結構為Ai,從而恢復數據明文。
可見,在圖1所描述的方法例中,由于解密密鑰可以包括用戶精確身份標識和用戶屬性標識,并且當該用戶精確身份標識屬于需要訪問的數據密文的訪問結構包括的身份標識集合時,和/或,當該用戶屬性標識屬于需要訪問的數據密文的訪問結構包括的用戶屬性標識集合時,才對需要訪問的數據密文進行解密以獲得數據明文,可見,圖1所描述的方法可以結合解密密鑰包括的用戶精確身份標識和用戶屬性標識來有效地對云計算平臺的數據進行細粒度訪問控制。
請參閱圖3,圖3是本發明實施例公開的另一種基于云計算平臺的數據訪問方法的流程示意圖。在圖3所示的基于云計算平臺的數據訪問方法中,可以基于云計算平臺實現細粒度的安全數據訪問,實現細粒度的安全數據查詢機制,以及動態的密鑰權限管理。如圖3所示,該基于云計算平臺的數據訪問方法可以包括以下步驟。
S301、用戶終端向云計算平臺發送數據查詢請求TQ,該數據查詢請求TQ包括查詢密鑰授權的查詢條件Q以及查詢密鑰的權限類型,其中,查詢條件Q包括用戶屬性標識;查詢密鑰的權限類型用于指示查詢密鑰是否具備權限時效性。
本發明實施例中,查詢密鑰授權的查詢條件Q可以包括一個或以上的用戶屬性標識,這些多個用戶屬性標識構成查詢關鍵詞。
本發明實施例中,云計算平臺收到用戶終端發送的數據查詢請求TQ之后,云計算平臺可以根據查詢密鑰的權限類型識別查詢密鑰是否具備權限時效 性,當云計算平臺根據查詢密鑰的權限類型識別出查詢密鑰不具備權限時效性時,云計算平臺可以從存儲的所有數據密文中查詢數據密文的索引密文I與查詢條件Q包括的用戶屬性標識匹配的數據密文,以獲得查詢到的數據密文;而當云計算平臺根據查詢密鑰的權限類型識別出查詢密鑰具備權限時效性時,云計算平臺可以發送查詢請求TQ給CSP,以使CSP重新加密云計算平臺存儲的所有數據密文中數據密文的索引密文I與查詢條件Q包括的用戶屬性標識匹配的數據密文,并且當云計算平臺確定出云計算平臺的當前時間屬于查詢密鑰具備的權限時效性所限定的時間時,云計算平臺可以將重新加密的數據密文的索引密文I與查詢條件Q包括的用戶屬性標識匹配的數據密文,以獲得查詢到的數據密文。
本發明實施例中,當云計算平臺確定出云計算平臺的當前時間不屬于查詢密鑰具備的權限時效性所限定的時間時,云計算平臺可以向用戶終端用于提示查詢密鑰失效的提示信息,從而可以實現對查詢密鑰的權限撤銷。
本發明實施例中,當查詢密鑰的權限類型用于指示查詢密鑰具備權限時效性時,查詢密鑰的權限類型中可以包括權限時效性所限定的時間(如時間為2014年1月),當查詢密鑰的權限類型用于指示查詢密鑰不具備權限時效性時,查詢密鑰的權限類型中可以不包括權限時效性所限定的時間。
本發明實施例中,用戶可以采用文件形式將數據密文Fi存放至云計算平臺,具體地,用戶在將數據密文Fi存放至云計算平臺之前,先為其建立索引密文Ii,然后為數據密文Fi指定訪問結構Ai,最后將訪問結構Ai、數據密文Fi以及索引密文Ii一并存放至云計算平臺。其中,訪問結構Ai可包括身份標識集合U1和用戶屬性標識集合U2,而索引密文Ii可以由若干個用戶屬性標識構成。
S302、用戶終端接收云計算平臺返回的查詢到的數據密文。
S303、用戶終端獲取對查詢到的云計算平臺的數據密文的訪問請求,訪問請求攜帶解密密鑰,該解密密鑰包括用戶精確身份標識和用戶屬性標識。
本發明實施例中,用戶終端可以接收用戶(如企業員工)輸入的針對預 先查詢到的云計算平臺的數據密文的訪問請求,訪問請求可以攜帶包括用戶精確身份標識和用戶屬性標識的解密密鑰。
S304、當用戶精確身份標識屬于數據密文的訪問結構包括的身份標識集合時,和/或,當用戶屬性標識屬于數據密文的訪問結構包括的用戶屬性標識集合時,用戶終端解密數據密文以獲得數據明文。
本發明實施例中,假設數據密文Fi的訪問結構為Ai,訪問結構Ai=={{“工號=4021434”,“工號=4021436”},{“財務部”,"銷售部"}},其中,“工號=4021434”,“工號=4021436”}表示訪問結構包括的身份標識集合U1,{“財務部”,"銷售部"}表示訪問結構包括的用戶屬性標識集合U2,上述的Ai表示數據密文不僅能夠被UI中的用戶精確身份標識Sku為“工號=4021434”以及“工號=4021436”的用戶訪問,而且能夠被U2中的用戶屬性標識bu為“財務部”和“銷售部”的用戶訪問。更進一步地,假設上述步驟S303中的訪問請求攜帶的解密密鑰Kd,u包括的用戶精確身份標識Sku為“4021434”,和/或,訪問請求攜帶的解密密鑰Kd,u包括的用戶屬性標識bu為“財務部”,那么用戶終端可以判斷出用戶精確身份標識Sku“4021434”屬于數據密文Fi的訪問結構為Ai包括的身份標識集合U1,和/或,可以判斷出用戶屬性標識bu“財務部”屬于數據密文Fi的訪問結構為Ai,從而恢復數據明文。
作為一種可選的實施方式,上述步驟S303中,訪問請求還可以攜帶解密密鑰的權限類型,解密密鑰的權限類型用于指示解密密鑰是否具備權限時效性,相應地,上述步驟S303中用戶終端將數據密文恢復成數據明文可以包括:
用戶終端根據解密密鑰的權限類型識別解密密鑰是否具備權限時效性時,如果解密密鑰不具備權限時效性,對數據密文進行解密以獲得數據明文;反之,如果解密密鑰具備權限時效性,那么用戶終端可以確定本端的當前時間是否屬于解密密鑰具備的權限時效性所限定的時間,如果本端的當前時間屬于解密密鑰具備的權限時效性所限定的時間,對數據密文進行解密以獲得數據明文;反之,如果本端的當前時間不屬于解密密鑰具備的權限時效性所 限定的時間,用戶終端可以提示解密密鑰失效,從而可以實現對解密密鑰的權限撤銷。
可見,在圖3所描述的方法例中,可以基于云計算平臺實現細粒度的安全數據訪問,實現細粒度的安全數據查詢機制,以及動態的密鑰權限管理。
請參閱圖4,圖4是本發明實施例公開的一種用戶終端的結構示意圖。其中,圖4所示的用戶終端可以用于執行基于云計算平臺的數據訪問方法。如圖4所示,該用戶終端可以包括:
獲取單元401,用于獲取對查詢到的云計算平臺的數據密文的訪問請求,訪問請求攜帶解密密鑰,該解密密鑰包括用戶精確身份標識和用戶屬性標識;
解密單元402,用于當用戶精確身份標識屬于數據密文的訪問結構包括的身份標識集合時,和/或,當用戶屬性標識屬于數據密文的訪問結構包括的用戶屬性標識集合時,解密數據密文以獲得數據明文。
作為一種可選的實施方式,圖4所示的用戶終端還可以包括:
交互單元403,用于在獲取單元401獲取對查詢到的云計算平臺的數據密文的訪問請求之前,向云計算平臺發送數據查詢請求TQ,數據查詢請求TQ包括查詢密鑰授權的查詢條件Q以及查詢密鑰的權限類型,其中,查詢條件Q包括用戶屬性標識;查詢密鑰的權限類型用于指示查詢密鑰是否具備權限時效性;其中,在云計算平臺根據查詢密鑰的權限類型識別出查詢密鑰不具備權限時效性時,由云計算平臺從存儲的所有數據密文中查詢數據密文的索引密文I與用戶屬性標識匹配的數據密文,以獲得查詢到的數據密文;或者,在云計算平臺根據查詢密鑰的權限類型識別出查詢密鑰具備權限時效性時,由云計算平臺發送查詢請求TQ給CSP,以使CSP重新加密云計算平臺存儲的所有數據密文中數據密文的索引密文I與用戶屬性標識匹配的數據密文,并且在云計算平臺確定出云計算平臺的當前時間屬于查詢密鑰具備的權限時效性所限定的時間時,由云計算平臺將重新加密的數據密文的索引密文I與用戶屬性標識 匹配的數據密文,以獲得查詢到的數據密文;
以及,交互單元403還用于接收云計算平臺返回的查詢到的數據密文。
本發明實施例中,當云計算平臺確定出云計算平臺的當前時間不屬于查詢密鑰具備的權限時效性所限定的時間時,云計算平臺可以向用戶終端用于提示查詢密鑰失效的提示信息,從而可以實現對查詢密鑰的權限撤銷。
在一個實施例中,上述的訪問請求還可以攜帶解密密鑰的權限類型,解密密鑰的權限類型用于指示解密密鑰是否具備權限時效性,相應地,解密單元402將數據密文恢復成數據明文的方式具體為:
解密單元402,用于根據解密密鑰的權限類型識別解密密鑰是否具備權限時效性,如果解密密鑰不具備權限時效性,對數據密文進行解密以獲得數據明文;反之,如果解密密鑰具備權限時效性,解密單元還用于確定本端的當前時間是否屬于解密密鑰具備的權限時效性所限定的時間,如果本端的當前時間屬于解密密鑰具備的權限時效性所限定的時間,對數據密文進行解密以獲得數據明文;反之,如果本端的當前時間不屬于解密密鑰具備的權限時效性所限定的時間,用戶終端可以提示解密密鑰失效,從而可以實現對解密密鑰的權限撤銷。
通過實施例圖4所示的用戶終端,可以基于云計算平臺實現細粒度的安全數據訪問,實現細粒度的安全數據查詢機制,以及動態的密鑰權限管理。
本發明實施例可以在充分利用云計算平臺強大資源和計算能力的同時,有效保護共享數據時的數據安全和用戶隱私。
綜上所述,本發明實施例可以帶來以下效果:
1)建立細粒度的安全數據訪問。支持多種訪問結構,有效地實現細粒度訪問控制;支持層次結構的密鑰生成方式,有效地避免了性能瓶頸和單點失效等問題;可以支持輕量級加密/解密開銷,更好地滿足用戶隨時隨地訪問數據的需求。
2)實現細粒度的安全數據查詢。不僅支持多關鍵詞的復雜查詢功能,更 好地滿足用戶個性化的查詢需求,而且支持細粒度的查詢權限,可以將用戶查詢權限與其訪問權限相關,避免查詢了非授權數據引起的潛在安全風險。
3)建立動態的密鑰權限管理。針對不同密鑰的權限類型實現密鑰的有效撤銷,在保證數據安全和用戶隱私的前提下,充分利用云計算平臺的強大計算能力和資源,有效地減輕用戶終端的開銷。
本領域普通技術人員可以理解上述實施例的各種方法中的全部或部分步驟是可以通過程序來指令相關的硬件來完成,該程序可以存儲于一計算機可讀存儲介質中,存儲介質包括只讀存儲器(Read-Only Memory,ROM)、隨機存儲器(Random Access Memory,RAM)、可編程只讀存儲器(Programmable Read-only Memory,PROM)、可擦除可編程只讀存儲器(Erasable Programmable Read Only Memory,EPROM)、一次可編程只讀存儲器(One-time Programmable Read-Only Memory,OTPROM)、電子抹除式可復寫只讀存儲器(Electrically-Erasable Programmable Read-Only Memory,EEPROM)、只讀光盤(Compact Disc Read-Only Memory,CD-ROM)或其他光盤存儲器、磁盤存儲器、磁帶存儲器、或者能夠用于攜帶或存儲數據的計算機可讀的任何其他介質。
以上對本發明實施例公開的基于云計算平臺的數據訪問方法及用戶終端進行了詳細介紹,本文中應用了具體個例對本發明的原理及實施方式進行了闡述,以上實施例的說明只是用于幫助理解本發明的方法及其核心思想;同時,對于本領域的一般技術人員,依據本發明的思想,在具體實施方式及應用范圍上均會有改變之處,綜上所述,本說明書內容不應理解為對本發明的限制。