面向云計算通信系統安全的無證書門限解密方法
【技術領域】
[0001] 本發明涉及一種面向云計算通信系統安全的無證書門限解密方法,屬于計算機應 用技術領域。
【背景技術】
[0002] 云計算(CloudComputing)是一種基于Internet,以虛擬化技術為基礎,提供 基礎架構、平臺、軟件等服務,整合大規模可擴展的計算、存儲、數據、應用等分布式計算 資源進行協同工作的超級計算模式,是分布式處理(DistributedComputing)、并行處理 (ParallelComputing)和網格計算(GridComputing)等傳統計算機和網絡技術發展融合 的產物。所謂"云計算"就是"計算即服務"(ComputingasaService,CaaS),S卩:計算資 源作為"服務"可以通過互聯網來獲取。在云計算的過程中,本地計算機依靠其他網內計算 機進行運算和存儲,把所有數據處理任務都交給網絡來進行,個人用戶利用全網用戶的計 算和存儲功能,從而擁有提供強大的運算能力,實現軟硬件資源共享。云計算作為一種新興 的應用計算機技術,具有高可靠性、動態可擴展性、超強計算和存儲、虛擬化技術和低成本 等優點。
[0003] 隨著網絡通信技術的發展,云計算已成為了最炙手可熱的話題之一,正引領IT行 業向集約化、規模化與專業化的方向演進,被普遍認為是繼互聯網經濟繁榮的另一產業增 長點。由于云計算是一種新興的共享基礎框架的方法、一種基于互聯網的大眾參與的計算 模式,其計算資源都是動態的、被虛擬化了的,而且是以服務的方式提供,在云計算環境中, 用戶不再擁有基礎設施的硬件資源,軟件都運行在云中,業務數據也存儲在云中。因此,雖 然云計算產業具有巨大的市場增長前景,但是,對于使用云服務的用戶而言,云計算存在著 多方面的潛在風險和各種安全問題。國際數據公司IDC的高級副總裁兼主要分析師Frank Gens指出目前用戶最關心的是云計算的安全問題,當用戶的商業信息和重要的IT資源放 置在云上時,用戶們覺得很不安全。云計算安全問題關系到云計算這種革命性的計算模式 是否能夠被業界接受,已成為影響與制約云計算向移動Agent技術、電子政務、電子商務、 城市地理信息系統等行業發展的首要因素。
[0004] 目前,云計算安全問題以數據安全問題尤為嚴重,如何保證存儲在云上的數據的 安全,將是云計算面臨的一個大問題,而目前主要應對措施集中在數據隔離、數據加密、數 據保護、數據殘留等方面。其中,數據加密的目的是防止他人拿到數據的原始文件后進行數 據的竊取。在云計算環境中,數據的隔離機制可以防止其他用戶對數據的訪問,因此,數據 加密的目的主要是防止"內鬼",并根據不同用戶的服務質量要求,保護數據存放的機密性、 完整性,提高數據的可用性。
[0005] 在傳統公鑰數據加密體制中,為保護用戶公鑰的真實性和有效性,需要一個執 行公鑰認證的機構一一公鑰基礎設施(PKI),PKI提供了一種標準的密鑰管理平臺,通過 自動管理密鑰和證書,為用戶建立一個安全的網絡環境,使用戶可以方便的使用加密技 術,從而保證數據的機密性、完整性和可用性。在PKI中通常包含一個可信第三方機構 CA(CertificationAuthority)為用戶簽發公鑰證書,并維護一個動態變化的證書庫,供用 戶查找、驗證。如果一個用戶信任CA,那么在驗證了另一個用戶的證書的有效性后,他就相 信公鑰的真實性,其他用戶在使用一個用戶的公鑰時,必須先驗證證書的有效性,這就增加 了計算量。此外,CA的管理和維護需要付出很大的計算、通信、存儲代價。這就限制了PKI 在實時和低寬帶的環境中的應用。
[0006] 在基于身份的公鑰加密體制中,把用戶的唯一的、獨特的數字身份作為用戶的公 鑰,這樣就不需要認證公鑰,避免了傳統公鑰加密體制中繁重的證書管理工作。用戶私鑰是 由一個可信第三方密鑰生成中心PKG(Private Key Generator)產生,PKG利用系統的主密 鑰生成所有用戶的私鑰,因此,基于身份的公鑰加密體制具有天生的密鑰托管問題,即不誠 實的PKG可以任意竊聽用戶的通信,進而通過偽造用戶的簽名影響用戶的利益。
[0007] 在無證書公鑰數據加密體制中同樣不需要公鑰證書,可信第三方KGC(Key GenerationCenter)為用戶生成部分私鑰,并通過安全信道發送給用戶,用戶再用自己隨 機選擇的秘密值和部分私鑰生成完整的私鑰。在整個過程中,KGC無法掌握任何用戶的私 鑰,從而解決了密鑰托管問題。與傳統公鑰加密體制和基于身份公鑰加密體制相比,無證書 公鑰加密體制主要有兩方面的優點:(1)它移除了傳統公鑰加密體制中所必須的、用于管 理所有用戶公鑰的龐大的公鑰基礎設施;(2)解決了基于身份公鑰加密體制中所固有的密 鑰托管問題。
[0008] 據弗雷斯特研究公司Forrester Research的研究報告稱,云計算中的多租戶 (Multi-tenancy)問題使得云計算的安全漏洞需要比傳統模式進行更嚴格的審查。由于在 上述數據加密體制中都存在解密權利過于集中化的問題,因此并不能完全保證云計算在多 租戶環境下群組通信系統的安全。相對于以上加密方法,目前無證書門限解密體制解決了 一系列由多租戶問題引發的安全漏洞,被證明是在云計算環境中較為安全的一種方法。然 而,相關研究證明,目前無證書門限解密方法仍存在很多缺點和不足,歸納起來有以下幾點 局限性:
[0009] (1)在選擇密文攻擊下存在潛在的安全漏洞。已有的部分無證書門限解密方法是 在隨機預言模型中提出的,這類方法在選擇密文攻擊的攻擊模型中可能存在安全漏洞。攻 擊者通過掌握加密算法、截獲的部分密文、自己選擇的密文消息以及相應的被解密的明文, 就可以計算出加密者的私鑰或者分解模數,運用這些信息,攻擊者可以恢復所有的明文。由 于這些潛在安全漏洞的存在,直接導致了商業信息系統,如電子政務、電子商務等系統無法 直接使用現有技術,間接地導致了軟件的安全性危機。
[0010] (2)解密機制不完善。已有的標準模型下的無證書門限解密方法缺少驗證每個解 密服務器的解密份額是否有效的機制,這就無法判斷收集到的解密份額中是否有被偽造或 者篡改的信息。如果存在無效的解密份額,那么最后將直接導致由這些解密份額拼湊還原 出的明文也是無效的,這將會對信息傳輸的正確性、準確性造成致命的影響,進而破壞了數 據安全。
[0011] (3)密鑰分發過程不合理。在部分已有的無證書門限解密方法中,在一群解密服務 器之間進行分享的是用戶的部分私鑰,而不是完整私鑰。這就導致算法本身并不能完全的 保證通信安全。此外,整個分發過程是由KGC負責的,這也給KGC增加了額外的負擔。
[0012] (4)計算代價昂貴、效率欠佳。已有方法中的系統主密鑰和用戶公鑰的長度較長, 而云計算又是一種按使用量付費的模式,這導致了信息傳輸時加解密的計算代價非常昂 貴,在實際云計算環境中的低效率直接阻礙了該算法的應用范圍。而本發明能夠很好地解 決上面的問題。
【發明內容】
[0013] 本發明針對上述缺陷,設計了一種新的、安全的、高效的面向云計算通信系統安全 的無證書門限解密方法,該方法涵蓋了無證書公鑰數據加密和門限解密兩大關鍵技術環 節,能夠解決傳統數據加密技術解密權利過于集中化的問題,進而能夠解決傳統數據加密 技術無法完全保證云計算在多租戶環境下群組通信安全的問題。
[0014] 本發明解決其技術問題所采取的技術方案是:一種面向云計算通信系統安全的無 證書門限解密方法,該方法在無證書公鑰加密的基礎上,將解密的權利交給云計算用戶團 體,在一群用戶之間將解密權利進行分發,每個解密者獨立地對密文進行解密并生成解密 份額,最后,結合者收集一定數量的、有效的解密份額,進而恢復出初始明文。
[0015] 該方法的具體流程如下:
[0016] 步驟1:初始化:可信第三方KGC(即:KeyGenerationCenter)根據安全參數k, 生成公開的系統參數params和只對KGC開放的主密鑰s;
[0017] 步驟2:可信第三方KGC根據系統參數params、主密鑰s和用戶的身份信息ID,生 成與用戶身份有關的部分私鑰Did,并把部分私鑰Did通過安全信道發送給用戶;
[0018] 步驟3:用戶隨機選擇自己的秘密值xID,該值對其他用戶和可信第三方保密,即: 只對用戶開放;
[0019] 步驟4:用戶根據系統參數params和秘密值xID,計算出與自己身份信息有關的公 鑰PKid;
[0020] 步驟5 :用戶根據系統參數params、秘密值xID和部分私鑰DID,生成完整私鑰SKid;
[0021] 步驟6 :輸入系統參數params、某個用戶的完整私鑰SKID、所有解密服務器的數 量n和門限參數t,將SKID在一群解密服務器之間分發,即生成完整私鑰的n份私鑰份額 同時還生成t份可以檢測私鑰份額、解密份額有效性的驗證密鑰{vk,}。^^, 將所有的驗證密鑰公開,將私鑰份額秘密地發送給相應