• 沒有找到結果。

四、 嵌入式 WORD 文件簽章系統

4.2 操作介面

本系統的操作介面是直接嵌入到 Word 的功能表,使用者可以直接由 Word 的功能 表,呼叫數位簽章的加簽及查核的功能,如圖 11 所示。

圖 11. 數位簽章系統的功能表

當呼叫數位簽章的加簽(Sign In)功能時,會跳出加簽(Sign In)的對話盒,如圖 12 所 示,使用者需要輸入密碼,主要是私鑰(Private Key)被加密保護,使用者必須有正 確的密碼,才能取出私鑰執行加密的功能, 其目的是為了防止私鑰被盜用。當輸 入的密碼錯誤時,系統會偵測出私鑰解密的錯誤,而告知使用者密碼錯誤,無法 執行數位簽章的加簽功能。

圖 12. 數位簽章簽核的對話盒

當呼叫數位簽章的查核(Sign Check)功能時,會跳出查核(Sign Check)的對話盒,如 圖 13 所示,使用者需要輸入順序(Order) 、帳號及公司名稱,由於本系統可以執 行多重加簽的功能,所以當執行查核時,系統需要知道是要對那個簽章做查核。

至於輸入帳號及公司名稱的目的,主要是公鑰(Public Key)儲存在公鑰資料庫裡 面,當要取出來使用時,需要用帳號及公司名稱當索引,才能找到對應的公鑰 (Public Key) ,並且透過網路傳回,以執行簽章的解密。

圖 13. 數位簽章查核的對話盒

當使用者要產生自己的 RSA 公鑰(Public Key)及私鑰(Private Key)時,執行

DocClient.exe 執行檔,會有一個操作視窗,如圖 14 所示,使用者先連線到公鑰伺 服器,而後輸入帳號、公司名稱及密碼,接著按 Generate 按鍵,程式會產生一組

Order 選項的目的,是因為 本數位簽章系統允許多重簽 章,所以執行查核時,必須 告訴系統,是要針對哪一位 簽章的擁有者執行查核。

公私鑰,並且將私鑰用輸入的密碼加密,存放在使用者的私人目錄,而公鑰會透 過網路,傳送到公鑰伺服器儲存。

圖 14. 金鑰對產生器

公鑰伺服器主要是擺放 RSA 公鑰(Public Key)的資料庫,當 DocClient.exe 傳送公鑰 給公鑰伺服器時,會同時傳送公鑰擁有者的帳號及公司名稱,公鑰伺服器利用帳 號及公司名稱建立索引,將公鑰儲存在資料庫。當使用者執行簽章查核(Sign Check)功能時,巨集指令會呼叫 DocClient.exe,並且透過 DocClient.exe 將使用者的 公鑰,由公鑰伺服器取出,經由網路傳回到使用者的目錄。

公鑰伺服器由於需同時服務多個使用者,所以在設計階段就必須考慮以一對多的 方式來設計程式,主要採取的方法乃是以 Multi-Thread 的方式,來滿足同一時間 有多個連線需求的情形發生。每當有一連線需求產生時,就建立一個 Thread 來服 務該連線的使用者,所以有可能同時有多條的 Thread 被開啟,當某一連線被關閉 時,就將建立的 Thread 刪除,以便將該 Thread 所佔用的資源還給系統。

金鑰對產生器擔任兩種角色:

1. 產生 RSA 金鑰對。

2. 負責公鑰的取得,它是 透過網路,將使用者的 Account 及 Company Name 傳給公鑰伺服器,

以取得該使用者的公 鑰。

圖 15. 公鑰伺服器

我們在系統分析的階段,將系統分為四個部分,一、Macro 巨集指令,主要是負 責 Word 文件的文字處理,從現在已開啟的文件中,取出所有的字元存放到暫存 檔,或者將數位簽章二進位轉成文字及文字轉成二進位的數位簽章。二、加解密 引擎,負責處理所有與加解密相關的計算工作。三、金鑰對產生器,產生加解密 所需要的公私鑰及負責將擺放在公鑰伺服器的公鑰,透過網路取回,儲存到使用 者的目錄。四、公鑰伺服器,負責使用者公鑰的管理及存取。這四個部分看似各 司其職,互不相關,但實際上是由 Macro 巨集指令掌控,負責所有子系統的呼叫 及聯繫,使整個系統運作達到完全自動化的執行。在 4.3 節我們將以程式流程圖 說明,讓整個系統的輪廓及運作方式,有更清楚的表明。

公鑰伺服器擔任兩種角色:

1. 負責公鑰的保存。

2. 依據金鑰對產生器要求 的 Account 及 Company 名稱,將對應的公鑰找 出來,傳回給金鑰對產 生器。

相關文件