趙杉 四川大學錦城學院
云計算(Cloud Computing)是一種新近提出的計算模式。是分布式計算(Distributed Computing)、并行計算(Parallel Computing)和網格計算(Grid Computing)的發展。目前亞馬遜、微軟、谷歌、IBM、英特爾等公司紛紛提出“云計劃”。例如谷歌同華盛頓大學以及清華大學合作,啟動了云計算學術合作計劃(Academic Cloud Computing Initiative),推動云計算的普及,加緊對云計算的研究。
云計算數據庫是一個面向云計算的數據資源管理平臺,目的是給互聯網后面的數據資源共享提供一個云計算的接入平臺,為云計算應用提供基礎結構級的數據庫資源訪問、發現、整合等一系列問題的通用解決方案。云計算采用分布式存儲的方式來存儲數據,采用冗余存儲的方式保證數據的可靠性,需要同時滿足大量用戶的需求,并行地提供服務。所以,云計算數據存儲技術必須具有高吞吐率和高傳輸率。
云數據庫帶給我們全新體驗的同時,出現的安全問題,也困擾著云數據庫的發展和普及。比如數據的私密性、用戶訪問控制等等。現在我們對出現的安全問題歸納如下:
(1)無邊界。由于云系統的無邊界性,傳統的在物理及邏輯上劃分的安全區域無效。
(2)非授權訪問。非授權訪問就是非法訪問或無權限訪問。
(3)事務一致性。通過CAP 理論[6]我們知道,C(一致性)、A(可用性)和P(分區容錯性)不可能同時滿足,最多只能滿足兩個。
(4)數據的完整性和私密性。由于云數據庫依托于網絡,那么數據在網絡傳輸和保存的過程中,私密性難以保證。
(5)黑客的攻擊。云數據庫依托網絡,由于網絡協議或其他軟件存在一定的安全漏洞,黑客可以利用這些安全漏洞對云數據庫實施攻擊。
(6)知識產權的問題。數據全部交給云服務商保管,面對巨大的商業利益,用戶的權益很難得到保障。
傳統的數據庫安全策略主要是針對兩方面威脅:自身電腦系統的安全性;數據庫系統的安全性。采用的策略是包括:
(1)強制存取控制;
(2)審計;
(3)數據庫數據加密。
顯然這些傳統的數據庫安全策略已無法滿足云數據庫的安全要求。因此,我們提出以下安全策略:
(1)設定安全域。在云數據庫中設立多級別安全域,每個安全域要有全局和局部主題映射,位于不同安全域之間的操作必須進行相互鑒別。
(2)云密碼。為防止用戶的信息在傳輸過程中被非法截獲,可對重要數據進行加密處理。云密碼一般應用在身份驗證、保密信道、數據庫中數據對象加密等。但每種應用的特點又不盡相同,所以要根據它們各自的特點選擇適合的加密解密算法。除最典型的加密解密算法服務外,密碼運算中密鑰的管理和分發、證書管理和分發都作為云密碼服務存在。這樣簡化了密碼模塊的設計和實施,也使得密碼技術的使用更集中規范,便于管理。
(3)安全認證。主要包括身份的供應、注銷以及身份驗證過程。身份的聯合和單點登錄,可更方便地共享用戶身份信息和驗證服務,并減少重復驗證的開銷。常見的身份驗證有:密碼驗證、證物驗證和生物驗證。密碼驗證簡單,但安全性差。生物驗證成本高,所以證物驗證比較普及。在用戶身份驗證過程中,為了實現均衡各個節點,我們采用的策略是,首先用戶注冊的時候,要均衡考慮各個節點,使每個結點都擁有數量相近的注冊用戶;其次,采用誰注冊誰驗證的方法,使身份驗證的工作均衡地分配給各個結點完成。
(4)數據存在與可用性證明。大規模數據導致的巨大通信代價,用戶不可能下載完數據后在進行驗證。云用戶需要下載少量數據的情況下,驗證數據的正確性、完整性。目前這方面的研究有以下成果:面向用戶單獨驗證的數據可檢索性證明方法、公開可驗證的數據持有證明方法,等等。
本文針對云數據庫安全問題進行了深入的分析、研究和探索,雖提出一些合理的安全策略,但由于云計算是當前發展十分迅速的新興產業,云計算安全問題設計面光、問題復雜等因素,這些策略還遠遠不夠,需進一步的分析研究。此外云數據庫的安全問題不僅僅是技術問題,它還涉及到標準化、監管模式、法律法規等多方面,因此需要學術界、產業界以及政府相關部門的共同努力才能實現云數據庫的安全。