• 沒有找到結果。

第六章、 實作

6.3 PHR 系統實作

在這節中,介紹我們所實作的 PHR 系統,此系統採用 Apache+PHP+MySql 組合,

在 windows 7 系統之下,架設了一個網頁伺服器,並利用資料庫來儲存使用者的個人資 料與其 PHR 檔案資訊,除此之外,提供使用著一個友善的操作介面,使得他們可以透 過網頁輕鬆地上傳、下載、管理 PHR。在雲端伺服器方面,我們使用 Dropbox 提供的雲 端儲存服務,將使用者的 PHR 存放在 Dropbox 上,讓其他被授權的使用者可以透過 Dropbox 來存取 PHR,共享資料。圖 16 是這個系統主要的架構圖。

圖 16 PHR 系統架構圖

在這個網頁中,主要提供五種功能:註冊、產生金鑰、上傳 PHR、金鑰授權與下載 PHR,使用者只要連結到我們的網頁就可以使用 PHR 管理的服務。而在這個系統中,會 與 6.1 節中 DABE 做結合,以 DABE 中的 GlobalSetup、Setup、KeyGen、Encrypt、Decrypt 五個程式來實現系統所提供的五種功能。系統運轉之初首先執行 GlobalSetup 設定基本 參數,其他的系統流程如下:

註冊

37

參考圖 17,病人首次進入這個系統必須先註冊一個帳號,帳號為病人的電子郵件 信箱,而病人的名稱與電子郵件信箱在之後的金鑰授權中會使用到。註冊完成後系統會 為病人產生一個獨有的 GID,並將病人的個人資料與 GID 存入資料庫中,系統將以 GID 或使用者名稱來識別病人身分。此後,利用此 GID,其他使用者可以產生私密金鑰並授 權給病人。病人登入之後,可以點選左方列表中的功能,選擇要執行的動作。

(a)

(b)

圖 17 (a)註冊,(b)登入

38

產生金鑰

首先,病人可以產生自己的公開金鑰與主金鑰,如圖 18 所示,在此我們將 PHR 約 略分為十個種類:皮膚科類資料、牙科類資料、骨科類資料、眼科類資料、健康紀錄、

過敏記錄、急救紀錄、精神科類資料、手術紀錄與復健紀錄等,前七種類別為系統預設 選取,最後三種類別由病人根據其需求自由選取。使用者選定好類別後,系統將這些類 別作為屬性,執行 Setup 產生公開金鑰與主金鑰,接著系統會將公開金鑰儲存在網頁伺 服器之中,主金鑰則利用郵件傳送給病人,如圖 19 所示,病人必須自己妥善保管此主 金鑰,以待日後授權金鑰時使用。

圖 18 金鑰授權

圖 19 使用者透過信箱收到主金鑰圖

39

上傳 PHR

病人可以上傳他的 PHR,參考圖 20,病人先選擇想要上傳的 PHR,並為此 PHR 選 擇合適的種類,接著選擇可以存取此 PHR 之使用者身分,而被授權者的身分主要劃分 為公開領域與私人領域兩種,公開領域中的屬性有醫院與醫事人員兩種類別,這兩種類 的屬性分別由其他兩個屬性授權中心所管理,在系統初始之際這兩個授權中心就設定完 成,為其所管理的屬性產生公開金鑰,並接受使用者的請求授權私密金鑰。而在這個系 統中,病人可以使用這兩個屬性授權中心的公開金鑰來對其 PHR 進行加密。病人依據 被授權者的身分,從公開領域與私人領域中至少選取一種身分的被授權者(例如:病人 可選取“A 醫院”AND“醫生”或者只選取“家人”等),決定被授權者身分後即可上 傳 PHR,系統會根據使用者所選取的 PHR 種類與使用者身分作為屬性執行 Encrypt 將 PHR 做加密,加密完畢後將 PHR 與 AES 金鑰一併上傳至雲端伺服器。如圖 21 所示,

PHR 在加密後會上傳到 Dropbox,每一份 PHR 都賦予一個獨特的 FID,加密的 PHR 包 含以 AES 加密的 PHR 密文檔案與以 ABE 加密的 AES 金鑰檔案,由圖 21 可看到,譬 如 8756 與 8756_key 這兩個檔案就分別代表加密的 PHR 以及 AES 金鑰,使用者要存取 PHR 時即是透過 FID 來尋找想要的 PHR。

圖 20 上傳 PHR

40

圖 21 雲端伺服器上的 PHR

另外,我們也提供一個頁面顯示已上傳的 PHR 資訊,如圖 22 所示,此頁面顯示病 人 Alice 已上傳到雲端伺服器的 PHR 資訊,像是 PHR 的 FID、上傳時間與存取規則,

病人可通過這個頁面瞭解自己上傳了那些 PHR 及加密規則,並且可以點取 delete 將儲 存在雲端伺服器上的 PHR 刪除,進行簡單的 PHR 管理。

圖 22 已上傳的 PHR 頁面

41

金鑰授權

參考圖 23,假設 Alice 想將她的 PHR 分享給其他的使用者,Alice 可以授權私密金 鑰給該使用者。首先 Alice 先選取要授權的 PHR 種類,接著選擇被授權者的身分,被授 權者的身分可能是家人、朋友或其他使用者,若是其他使用者,則與其身分相關的屬性 則是由其他屬性授權中心授權,像是醫生是從醫療機構取得含有“醫生”屬性的私密金 鑰。選擇完 PHR 種類及被授權者身分後,Alice 必須上傳他的主金鑰,並且輸入被授權 者的電子郵件信箱或是名稱,系統會根據這兩種資料取找出被授權者的 GID,執行 KeyGen 產生該被授權者的私密金鑰,最後將私密金鑰寄到被授權者的信箱。

圖 23 金鑰授權頁面

圖 24 被授權者收到私密金鑰圖

42

假設 Alice 授權給醫生 Bob 觀看他有關牙科類資料與過敏紀錄的 PHR,則 Bob 會 收到系統發送的私密金鑰,如圖 24 所示,此私密金鑰為 Alice_Bob_牙科類資料_過敏記 錄_key,表示由 Alice 授權給 Bob,此金鑰含有“牙科類資料”與“過敏紀錄”這兩種 屬性,Bob 需自行妥善保存此金鑰。

43

(a)

(b)

圖 25 下載 PHR

44

(a) PHR 解密成功

(b) PHR 解密失敗

圖 26 (a) PHR 解密成功(b) PHR 解密失敗

45

相關文件