云計算技術在發展過程中面臨許多關鍵性問題,而安全問題首當其沖。本文通過分析當前云存儲安全現狀和所面臨的安全問題,設計一種基于可信代理的安全存儲系統方案,該系統可獨立與底層文件存儲系統之上為云存儲文件系統提供安全機制。
云存儲系統按照其體系結構可分為存儲層、基礎管理層、應用接口層和訪問層。在通用安全云存儲系統中,數據訪問層進行加密操作后通過應用接口層的公用API接口上傳至云存儲管理服務器,即基礎管理層。基礎管理層將數據密文和其附加信息經過安全高效的內部網絡保存至存儲層。存儲層可以對上層存儲的數據進行一定的壓縮、刪冗處理,以便節省成本、提高存儲空間利用率。

圖1 系統框架圖
在目前的安全云存儲系統方案設計中,數據加密存儲是解決數據機密性問題的主要方法。但數據加密增加了服務器的性能消耗,引起數據存儲延遲,因此數據加解密算法在滿足用戶數據安全要求的基礎上,應設計高性能、低消耗的數據加解密算法。而云端加密存儲的數據,相同的數據采用不同的密鑰加密后數據不同,且加密后的數據結構發生變化,失去了原有了特性和規律,需要設計專門的基于密文的搜索機制。
本文基于現有科研積累 Corselet、Plutus 存儲系統和行業方案,探索創新研究方向,改進業內現有方案的缺陷,利用云存儲加密技術,依托云環境下的云盤應用實現敏感數據的加密存儲,設計出一種云安全存儲解決方案——基于可信代理的云環境下的安全存儲系統,解決云端存儲數據安全問題,消除用戶敏感信息泄露風險,提升云端敏感數據存儲安全性,如圖1。
系統架構主要由客戶端和存儲服務器兩部分構成,客戶端包含個人PC、可信代理和云盤等應用系統,數據加解密和密鑰管理均有客戶端完成,改進了現有方案中云服務商密鑰的非透明加密存儲做法。
客戶端中可信代理部分為客戶端核心部分,完成云存儲數據加解密和密鑰生成、分發和存儲的密鑰管理功能,同時可信代理增加負載均衡,這樣就避免了單點故障的隱患。
對于無需加密的數據的傳輸提供兩種方式,既可以通過安全代理傳輸,也可以通過無加密數據傳輸通道直接傳遞,避免了當可信代理部分出現故障,導致數據無法傳輸情況的發生。
該基于可信代理的云安全存儲系統設計方案數據上傳、數據下載、數據共享的數據流程。
數據上傳操作時,當用戶打開客戶端選擇上傳功能時,系統判定用戶上傳的數據現有存儲系統中是否已有相同文件,如果重復,不做操作,返回提示用戶,當前上傳文件已存在,不用重復上傳;如判定不重復后,彈出是否加密上傳,用戶如選擇不加密上傳,則系統直接將文件夾上傳到存儲服務器中;若用戶選擇加密上傳,可信代理隨機生成文件加密秘鑰,對文件進行加密后上傳到存儲服務器中。
數據下載操作時,當用戶打開客戶端下載數據時,系統從存儲服務器端下載數據,系統判定用戶下載的數據是否為密文,若不是密文,則直接傳輸給用戶;如是密文數據,由可信代理調取密文加密時所用的密鑰,并對密文數據做解密操作,數據解密后將數據傳輸給用戶。
在進行數據共享操作時,當用戶打開客戶端共享數據時,系統從存儲服務器端下載數據并判定用戶要共享的數據是否為密文,若不是密文,則直接生成共享連接給用戶;如是密文數據,則系統調用可信代理模塊調取密文加密時所用的密鑰,并對密文數據做解密操作,再將共享連接發送給用戶,共向用戶輸入提取碼則可共享加密數據。
本方案實現了云安全環境下對存儲數據的高效加解密、密鑰靈活管理、密文快速搜索、密文數據共享、數據安全傳輸和數據重復判斷等功能,滿足現有云安全存儲系統的架構和功能要求,其輕量級加密算法在保證安全性的同時,也降低了客戶端性能開銷,能在用戶無感知情況下完成數據加解密操作。
本方案與業界現有方案相比,具有明顯優勢。與亞馬遜云同態加密方法相比,因同態加密算法復雜,性能消耗大,且密鑰管理不夠靈活,本方案采用性能低消耗設計,可降低客戶端計算負擔,并采用靈活的密鑰管理方法,具有更強的實用性;與書生云的TruPrivacy方案相比,TruPrivacy方案僅完成了數據加解密、完整性驗證功能,未能攻克云端數據加密存儲的重要功能需求——密文檢索和數據安全傳輸的問題,本方案在實在基本功能的同時,采用關鍵字搜索方法實現云端存儲密文檢索功能。