• 沒有找到結果。

慈濟技術學院 護理系

[email protected]

摘要

近幾年來,如何將醫療資訊系統導入電子簽章 使其成為真正擁有合法地位、可以取代病歷紙 本的電子病歷,一直都是醫療資訊領域的熱門 話題。它帶來極大的經濟效益,舉凡大幅降低 醫院管理紙本病歷的成本及其貯存的空間、並 且是未來院際間線上即時資料交換的基礎,可 以免去病人重覆作檢查的痛苦,節省大量的醫 療資源、對於搶救生命及地球的環保都大有助 益[2]。

以現在的資訊技術而言要將醫療資訊系統導 入電子簽章並沒有窒礙難行之處,反倒是因為 醫療資訊系統要導入電子簽章,醫院內部的作 業流程需要重新討論及訂定才是比較棘手的 工作。

然而,當兩位以上的醫師聯合看診,他們「共 同的電子簽章」該如何產生,是一個值得探討 的議題,同樣的「共同的電子簽章」的機制也 適用在商業契約的訂定上。

「共同的電子簽章」代表兩造以上的雙(多)

方對同一份文件或契約有著共同的共識及承 諾。

Abstract

It has been increasingly discussed that how to enable electronic signatures to carry legal weight in place of written signatures in recent years. The practice of electronic signatures has

demonstrated its advantages, such as cost savings on the management of consumption of paper and the storage space. Furthermore, it provides the data interchange links among medical units so they can share the necessary medical records for the interests of the patients.

By employing the electronic signatures, it surely will be a great benefit to medical resources and the highly concerned environmental problems.

With current modern information technology, the main tasks should not focus on the employment of the electronic signatures, but on the re-arrangement of operation processes inside the hospitals instead.

However, when joint-clinic occurs, how to generate a “mutual electronic signatures” is an issue. The “mutual electronic signatures” also can be used for the establishment of commercial contracts.

The “mutual electronic signatures” represents the consensuses and commitments towards a document/contract among parties.

研究動機

在衛生署所有電子簽章的規範中,對於多科醫 師 聯合看 診的 行為並 沒有 任何的 規定 及描 述,在醫療院所要將資訊系統導入電子簽章的 過程中這是一塊還沒有解答的空白區域,屆時

也會讓導入電子簽章的醫療院所無所適從。

「數位簽章」(Digital Signature) 為目前所有電 子 簽章技 術中 發展最 快速 且最為 成熟 的一 保有者稱之為私密金鑰 (Private Key),供簽署 人 作為「 製作 」數位 簽章 之用; 公開 金鑰

雜湊(赫序)函數 (hash function) 的作用是,對 任意長度的明文,經由赫序函數的運算,可產 functions 為 : MD5(Message Digest 5) , SHA-1(Secure Hash Algorithm-1) , and RIPEMD-160,輸出分別為 128-bit,160-bit,

160-bit[1][6]。

公 開 金 鑰 基 礎 建 設 (PKI , Public Key Infrastructure)為非對稱密碼系統的應用,一組 金鑰對包含,公開金鑰及私密金鑰,公開金鑰

以下我們以三個成員A、B、C 要對原文(M) 產 生「共同的電子簽章」為例,首先將雜湊值 H(M)以 A 的私密金鑰對其加密,也就是將雜 湊值H(M) 取 Da 指數的乘方後,再以 nA取其 模數({Da, nA}為 A 的私密金鑰),即可得到 A 對H(M)的簽章值 S1。之後,A 再將 S1傳給B,

同樣的B 亦以其私密金鑰{Db, nB}對 S1加密後 得到簽章值S2,B 再將 S2傳給C,C 再以其私 密金鑰{Dc, nC}對 S加密後得到簽章值 S即 為最後所求。其相關數學式子如下所示:

可廣為散佈,私密金鑰為擁有者唯一擁有,成 對的公開金鑰及私密金鑰具有互相可作加解 密的關係,但並沒有取代彼此的功能。PKI 電 子認證機制必須達成以下四項重要的安全保 障[5]

1.來源鑑別(Authentication) - 確認資料的 來源。

2.資料的完整性(Integrity) - 防止他人竄改 資料內容。

3.不可否認性(Non-repudiation) - 資料發送

方無法否認曾經發送資料。 簽章方法

S1= H(M)Da mod nA

S2= S 1Db mod nB

4.資料保密性(Confidentiality) - 防止他人窺 探資料內容。

S 3= S 2Dc mod nC

研究方法

驗證時要依原來簽章相反的順序C、B、A 為 之,C 先以他的公開金鑰{Ec,nC}對簽章值 S 3

作解密可反推得到S 2。 不論是多位醫師的聯合看診、或是在商業上兩

造以上雙方要訂定契約,每一位參與的成員手 中必定有一份要簽署文件的原文,而且它們的

內容必定是相同一致的。 同樣的B 及 A 亦分別以其公開金鑰對簽章值 S

2及S 1作解密,最後可反推得到最原始的簽章 值H(M) 。依此簽章值 H(M)我們便可據以判 斷簽章值S 3的有效性。其相關數學式子如下 所示:

在整個「共同的電子簽章」的過程中,必須保 證每一位成員都是對此一文件作簽署的,而且 必須防止任一成員有企圖隱瞞、欺騙群組成員 意圖的機會。

驗證方法 只有在擁有以上機制下所產生的「共同的電子

簽章」才會是一份共同意志力及承諾表現的文 件。我們以 RSA 演算法為基礎,提出兩個解 決的方法,以下分別以二個章節來加以說明。

H(M) = S 1Ea mod nA

S 1= S 2Eb mod nB

S 2= S 3Ec mod nC

研究方法一: 雖然上述的方法在理論上是可行的,但在簽章

的過程當中,成員B 在收到 A 傳來的簽章值 S

1時,B 如何能夠相信 A 是以雙(多)方約定 的原文M 為範本產生的呢?或是 A 基於其它的 因素蓄意或非故意的使 B 簽署非約定的文件 呢?同樣的 C 在收到 B 傳來的簽章值時,也有 相同的疑慮。另外,在傳送的過程中簽章值也 有可能遭受到惡意第三者的竄改。

(Cosigned Signatures,共同連署的簽章) 要產生某一組成員「共同的電子簽章」最簡單 有效的方法,是使用群組中每一成員的私密金 鑰,對由原文所產生的雜湊值 H(M)施以單一 連續的加密,即可得到最後期望的簽章值。

驗證時僅需利用每一成員的公開金鑰對簽章 值施予單一連續反向的解密,即可反推得到文 件製作當時所產生的雜湊值 H(M)。驗證者可 再次對原文(M)作一次雜湊,比對兩個雜湊值 是否相同,即可判定簽章值的真偽;相同為 真,不相同為偽。

因此我們必須設立一個機制讓每一位成員在 簽署文件時,都能很清楚的知道自己所要簽署 的是不是自己承諾的那一份文件,先前又有那 些人已經簽署過了。

剛開始時,由於成員 A 為首位的簽署人員,

因此他直接將原文作Hash 後,再以他的私密 金鑰對Hash value(H(M))作加密得到簽章值 1,他再將簽章值 1 及他本身的憑證 a 傳送給 成員B。

成員 B 在收到 A 送來的資料後,首先以 CA

(Certification Authority,憑證管理中心)的公 開金鑰來驗證憑證 a 的有效性,在驗證無誤 後,取出憑證a 中的公鑰對簽章值1進行解密 可以反推得到由A 所產生的 H(M);接著 B 可 將手中的原文作Hash 產生另一新的 H(M),兩 相比對,如果是相同的,則 B 就可以相信 A 所傳來的簽章值1 是以所約定的原文,而且是 以 A 的私鑰所產生的,並且也驗證了憑證 a 的有效性。接著 B 以其私密金鑰對簽章值 1 加密產生簽章值2,B 再將簽章值 2、憑證 a、

以及憑證b 一起傳給成員 C。

研究方法二:

成員C 在收到 B 送來的資料後,同樣的先驗 證憑證a、及憑證 b 的有效性後,再分別、連 續、反向(b在前a在後)的對簽章值2 解密 可反推得到原始的H(M),再與 C 自行產生的 H(M)比較無誤後,即可相信 B 所送來的資料。

接著C 再以其私鑰對簽章值2加密,可產生簽 章值3,因其為最末位的簽署人,故簽章值 3 即為我們最後所求的Cosigned Signatures。

(Cosigned Certifications,共同連署的憑證) 對於要連署的成員來說,方法二要簡單許多,

各成員只需要各自產生自己的簽值值,傳送給 CA,由 CA 負起驗證的工作,如果一切正確 無誤由CA 發出一個憑證用以證明該群組的成 員在某一特定的時間曾對某一份文件進行共 同簽署的行為。

在Figure 3 中,是我們 Cosigned Certifications

( 共 同 連 署 的 憑 證 , 以 下 簡 稱 CSCR)的 Flowchart,我們以此為藍圖對系統進行說明:

由以上可清楚的知道,第 N 位的簽署者,必 定會收到簽章值N-1,以及憑證 1、憑證 2…、

憑證N-1(如 Figure 1),借由這 N-1 個憑證可以 得知他所要簽署的文件內容,是否與他所承諾 的文件內容是否相同,以及此份文件已經由那 些人簽署過了,並可以確認他們的身份,因此 他可以很放心的去從事簽署的行為,而不必有 所疑慮。同樣的他必須將他所產生的簽章值 N,以及憑證 1、憑證 2…、憑證 N-1,再串接 加上自已的憑證N 送給下一位的簽署人員。

1 . 首 先 要簽 署 共 同 文件 的 雙 方 Alice 與 Bobs,可以先經由 RSA 、DIFFIE-HELLMAN 或其他方式對要簽署的文件進行溝通、確認

(此方法在現在的技術上是可行的,不在我們 研究論文的範疇中,故其說明予以省略)[6]。

2.Alice 與 Bobs 各自對已達成協議的文件進 行簽章,並同時以此簽章向CA 進行 CSCR 的 請求。

Figure 2 為 Figure 1 的細部流程。

3.CA 收到 Alice 與 Bobs 的請求後,比對雙 方的 H(M),如果相同可以確認雙方對要簽

署的文件有著共同的認知、及承諾。此時CA 以它的私鑰KRca 對{文件的雜湊值(H(M))、 Alice 的 id、Bobs 的 id、以及當時取得的時戳 Ts}作簽章,產生一個簽章值 S。

我們將上述的 5 個 Elements 的集合,合稱為 CoSigned CeRtifications(共同連署的憑證,簡 稱CSCR)。此由CA 發出的憑證足以說明 Alice 及Bobs 為此文件的聯合簽署者。

4.CA 要將 CSCR、Alice 的簽章值、以及 Bobs 的簽章值儲存在公開的 CSCR 伺服器中。

5.CA 分別將 CSCR 送回給 Alice 及 Bobs。

6.Alice 及 Bobs 必須將明文(M)與 CSCR 成對的進行儲存也可以將它傳送給其他的第 三者。藉由CSCR 用以宣稱(表示)Alice 與 Bobs 雙方對此文件有共同簽署的行為(事 實)。

7.收到CSCR 的第三者只要經由 CA 公鑰的 驗證即可相信此CSCR 憑證,確實是由 CA 所 發出。就可以相信CSCR 上的記載:Alice 及 Bobs 在 Ts 的時間曾經對文件 H(M)作過共同 的簽署,此為第一層的驗證。

一般而言,只需作第一層的驗證即可確定雙 方聯合簽署的事實。如仍有疑慮,可以進行 第二層的驗證:取出 CSCR 中的簽章值 S

(SCSR Value)傳送給 CA ,藉以取得 Alice 與 Bobs 原始的簽章值,再分別以 Alice 與 Bobs 的公鑰加以解密並與 H(M)比較就可以 知道真偽。如果仍有疑慮,仍可向 CA 請求 爭議的評斷。

根據我們的系統流程,可以看出我們付予 CA 一個新的任務:就是核發 CSCR 的憑證、以 及回應使用者對於爭議評斷的請求。

就醫療環境而言,醫院本身可以被視為公正 的第三者,因此由各醫院自行設置 CSCR 伺 服器,且由各醫院擔任仲裁者,以該醫院的 醫事機構卡對{文件的雜湊值(H(M))、Alice 的 id、Bobs 的 id、以及當時取得的時戳 Ts}

就醫療環境而言,醫院本身可以被視為公正 的第三者,因此由各醫院自行設置 CSCR 伺 服器,且由各醫院擔任仲裁者,以該醫院的 醫事機構卡對{文件的雜湊值(H(M))、Alice 的 id、Bobs 的 id、以及當時取得的時戳 Ts}