• 沒有找到結果。

第一章 緒論

雲端資料庫(Cloud Database)[1]是一種執行在雲端運算平台上的資料庫,雲 端運算平台提供資料庫作為一種服務(Database as a service,DBaaS)[1]使用者不 需要自己維護資料庫,雲端服務提供者負責安裝、維護資料庫實體。資料庫在 雲端上支援兩種資料模型,分為透過結構化查詢語言(Structured Query

Language,SQL)[2]存取資料與不使用 SQL 作為查詢語言(Not Only SQL,

NoSQL)[3]存取資料,本文僅探討應用結構化查詢語言存取資料的關聯式資料庫 系統,使用者只需透過 SQL 語法就能讀寫資料庫。由於使用者透過雲端資料庫 提供的服務無法直接觸及資料庫實體以外的檔案,像是資料庫的設定檔、日誌 檔,某些雲端資料庫例如 Google 的 Cloud SQL[4]、Amazon 的 RDS for

MySQL[5]可透過 Web interfacec 或是 API(Application programming interface)可存 取日誌檔,但使用者無法驗證日誌檔的正確性,日誌檔可能發生遭受服務提供 者竄改的可能性無法拿來證明違約(Proof of Violation)。證明違約協定我們於第二 章詳述,服務提供者會記錄每次使用者的動作並於最後留下一個雙方都不可否 認的證據用來稽核檔案系統檔案的保密性、完整性、每次讀取資料的新鮮性與 寫入檔案的循序性。

第一節 雲端資料庫的安全性研究

近幾年隨著雲端服務的成熟越來越多中小企業希望能將其公司提供的服務

搬至雲端上,傳統的伺服器架設與主機維護對於企業內部是一個很大的營運負 擔成本,如果使用 IaaS 層的雲端服務通過簡單的設定就能擁有自己的一台主機 於雲端上像是 Amazon 的 EC2[6],按照系統使用的規模大小計費,不用在逐年 編列昂貴的預算在主機擴充與維護人力上。同樣的資料庫系統也能搬到雲端 上,將資料庫系統當作一項服務(DBaaS)提供給企業使用,企業可以省下硬體的 採購成本、每年伺服器的維護費用、相關軟體的授權費用,只要依據服務的使 用量去付出相對的費用即可[7]。

雖然雲端服務帶來相當大的好處與便利性,但是將所有資料儲存在雲端伺 服器上使用者不免會擔心資料是否正確與完整。一則研究訪問 17 國的 500 名的

IT 管理人員與經理人,高達 80%的受訪者寧願使用既有的內部系統也不願使用 雲端服務去取代,因為他們擔心失去重要資料的控制權[8],這是有可能發生的 情況,因為雲端伺服器出錯將我們的資料丟失或是雲端伺服器遭受攻擊導致我 們資料被竄改。

本文我們探討雲端資料庫的安全從兩個層面,資料庫資料的保密性(Data

Confidentiality)與資料庫資料的完整性(Data Integrity),資料庫的保密性從以前到 現在就有許多文章在探討與實作[9][10][11][12],資料庫的完整性自從將資料庫 搬到雲端上則變成一個有趣的議題,雖然有雲端服務提供者給的系統日誌訊 息,但我們無法相信雲端服務提供者,也無法驗證這個日誌檔的正確性,除非 日誌檔交由公正的第三方所保管,但也有可能雲端服務提供者基於利益與第三

方共謀竄改,或是第三方遭受攻擊導致日檔被竄改或遺失[13]。我們的證明違約 協定實現一個架構,會記錄每次使用者的動作並於最後留下一個雙方都不可否 認的證據可用來稽核資料庫系統數據的完整性、每次讀取資料的新鮮性與寫入 檔案的循序性。

第二節 論文大綱

本篇論文組織結構如下: 第二章開始介紹證明違約協定,第三章探討我們如 何將證明違約協定應用到雲端資料庫系統以及遇到的困難,並提出一個改良的 證明違約協定解決,於第四章實作改良的證明違約協定應用於雲端資料庫系統 上,實驗結果於第五章呈現從中我們可以得知使用證明違約協定帶給原本的資 料庫管理系統多少額外的負擔與稽核的效率,最後於第六章我們為本文做出總 結並於第七章探討其他相關的研究文獻。

4

相關文件