現今雲端儲存服務已成了許多人熟知並常用的服務,因此需要更加注重個 人存放檔案在雲端的安全性。利用傳統加密方法可將加密後的檔案存放於雲 端,加強單一空間的安全性,或是將檔案切割成數塊儲存在不同雲端空間,分 散單一空間的風險,然而當使用者欲將檔案分享給多個接收者時,使用傳統加 密須產生多組金鑰並分別產生對應的加密檔案,在空間成本方面並不佳;而切 割檔案分散儲放雖可減低單一雲端空間遭破解時,整份檔案被外洩的可能性,
但萬一其中某個空間無法運作,使用者將無法取回完整檔案,反而造成使用上 的不便。在本論文中我們提出一個在雲端儲存環境下提升存放檔案安全性的架 構,利用 Erasure Code 可將檔案展開成多塊並保障其可靠度的特性,使用者欲將 檔案存放在雲端前可先利用 Erasure Code 編碼,將一小部分編碼後檔案存放於自 己的電腦或隨身儲存裝置,其餘部分則儲存在雲端。如此一來儲存於自己電腦 或隨身儲存裝置的檔案便成了能夠解密這份檔案的金鑰(Key Blocks),使用者不 必擔心自己存放於雲端的檔案遭人窺看,進行 Erasure Code 編碼時也能藉由產生 多個編碼檔案讓使用者能夠將檔案分享給其他人,另外存放於雲端的檔案也能 讓使用者自行分配存放於不同的雲端平台,避免單一雲端平台的資料遭到竊取 或不當利用的情形。
本論文中我們採取了不同 Erasure Code 進行實驗,藉此比較它們的優劣。以 時間與空間成本來看,在處理較小的檔案(如音樂、圖片、文件檔)方面,RS Code、
LT Code 與 LC Code 皆可適用;然而若要將檔案分享給多人(例如 1000 人以上) 時,考慮到可能會產生解碼性低的 Encoding Symbols,採用 LC Code 會是比較好 的選擇;至於在處理較大檔案(如影像檔)方面,則使用速度最快的 LT Code 則較 為適宜。以分享人數來看,如要分享給多人則應盡量避免產生解碼性低的 Encoding Symbols,反過來說若檔案純粹為個人儲存用,則應使用具有 Fix-Rate 特性的 RS Code 較為安全。
若將檔案先分割成許多大小相同的 Chunk 之後,再利用 Erasure Code 對每 個 Chunk 進行編碼展開的動作,如此每個 Chunk 的 Key Blocks 皆為分開管理,
使用者除了可以任意決定分享人數之外,也能決定不同分享者之間的閱讀權 限。在安全性方面我們也得知了可以從儲存在使用者端的檔案大小,也就是 Key Blocks 本身的大小來決定雲端檔案被破解的難易度,雖然 Key Blocks 越大能提 升安全性,但也必須考量萬一分享給他人的 Key Blocks 遭到收集導致原始檔案 遭破解的可能性,因此建議 Key Blocks 在整個 Chunk 中約佔 10%左右。
以目前的研究結果顯示 Erasure Code 在編碼所花的時間與空間成本仍有許 多可改善的地方,而我們也已有一些現成的方案;例如使用平行處理來改良每 個 Chunk 編碼方式,或是擴大 Field Size 等方法來降低成本,未來可以這些方向 來改良本系統的效率。
參考文獻
[1] Amazon Simple Storage Service (S3), http://aws.amazon.com/s3/
[2] A. Shamir, “How to share a secret”, Communications of the ACM Vol. 22, pp 612-613, 1979
[3] A. Shokrollahi, “Raptor Codes”, IEEE Transactions on Information Theory, Vol. 52, pp 2551-2567, 2006.
[4] A. D. Joseph, “A Survey, Cloud File Sharing and Object Augmentation”, IEEE Pervasive Computing, Vol. 11, pp 96, 2012.
[5] C. Gkantsidis and P. Rodriguez, “Network Coding for Large Scale Content Distribution”, IEEE Infocom 2005, Vol. 4, pp 2235-2245, 2005.
[6] Cleversafe Distributed Storage Network, http://www.cleversafe.org/
[7] C. Wang, Q. Wang, and K. Ren, ”Ensuring data storage security in cloud computing.”, 17th International Workshop on Quality of Service , pp 1-9, 2009
[8] D. Bermbach, M. Klems, S. Tai, and M. Menzel, “MetaStorage: A Federated Cloud Storage System to Manage Consistency-Latency Tradeoffs“, 2011 IEEE International Conference on Cloud Computing, pp 452-459, 2011.
[9] D. K. Tsolis and T. S. Papatheodorou, “Web services for digital rights management and copyright protection in digital media“, ACM International Conference Proceeding Series, Vol. 349, pp 241-247, 2008.
[10] EMC Atmos, http://www.emc.com/products/family/atmos.htm [11] Google Cloud Storage, http://code.google.com/apis/storage/
[12] HP CloudSystem Matrix,
http://www.hp.com/products/blades/components/matrix/
[13] H. Weatherspoon and J. D. Kubiatowicz, “Erasure coding vs.
replication: a quantitative comparison”, Electronic Proceedings for the 1st International Workshop on Peer-to-Peer Systems, pp 328-338, 2002.
[14] IBM Smart Business Storage Cloud, http://www.ibm.com/ibm/cloud/smart_business/
[15] I. S. Reed, and G. Solomon “Polynomial Codes over Certain Finite Fields”, Journal of the Society for Industrial and Applied
Mathematics, Vol. 8, No. 2, 1960
[16] J. Broberga, R. Buyyaa, and Z. Tari, “MetaCDN: Harnessing
‘Storage Clouds’ for high performance content delivery,” Journal of Network and Computer Applications, Vol. 32, No. 5, 2009.
[17] J. S. Plank, “Erasure codes for storage applications”, Tutorial at USENIX FAST-2005, 2005.
[18] Microsoft Azure, http://www.windowsazure.com/
[19] M.Luby, “LT Codes”, The 43rd Annual IEEE Symposium on Foundations of Computer Science, pp 271-280, 2002.
[20] NetApp Dynamic Datacenter, http://www.netapp.com/us/solutions/infrastructure/cloud/private-clou d/
[21] ParaScale, http://www.parascale.com/
[22] Symantec FileStore, http://www.symantec.com/business/filestore/
[23] W. Diffie and M. E. Hellman, “New Directions in Cryptography”, IEEE Transactions on Information Theory, 1976
[24] W. Zheng, P. Xu, X. Huang, and N. Wu, “Design a cloud storage platform for pervasive computing environments”, Cluster Computing, Vol. 13, No. 2, 2010.
[25] Y. Chen, Z. Zhu, Y. Zeng, and Z. He, “UbiCloud: A Cloud Computing System for Ubiquitous Terminals Based on End User Virtualization”, IEEE/IFIP 8th International Conference on Embedded and Ubiquitous Computing, pp 363-367, 2010