【牛奶】評論
『數位簽章』(Digital Signature, DS)是公開鑰匙系統中最重要的應用之一。它具有確定傳送訊息內容的『完整性』與傳送端的『不可否認性』功能;數位簽章是一連串的二進位數字,它的功能如傳統的『簽章』一般。傳統式的簽章,是在文件上加蓋『印章』或『簽名』並作為發文者對該文件負責之用。然而,以目前的科技而言,要仿冒印章或簽名似乎沒也什麼困難,因此,許多單位(如銀行)都會要求申請人親自辦理,及當面簽名蓋章以確保其真實性(並且錄影存證)。在虛擬網路上交易,親自辦理似乎不太可行,為了確定交易不至遭他人冒用,則必須仰賴數位簽章的輔助。首先,欲在網路上從事交易的人(或組織單位),必須擁有一對公開鑰匙系統所建構的公開鑰匙與私有鑰匙配對;對內而言,使用私有鑰匙的功能如同印章一樣,可在文件上簽署以證明它的合法性;對外而言,使用公開鑰匙則代表自己的身份,可用來證實自己所簽署文件的真偽。既然私有鑰匙如同印章一樣,則必須將它妥善收藏,免得被他人拿去盜印文件;至於公開鑰匙則儘量公佈讓眾人知曉,以便他人來驗證簽章(私有鑰匙所簽署的)。也就是說,他人可利用發行者的公開鑰匙,來驗證發行者利用私有鑰匙所簽署的文件。數位簽章的功能常被嵌入於電子郵件系統裡,亦即電子郵件軟體會針對寫好的信件(無論公文或私人信件),作數位簽章的處理,並將簽署訊息放在文件的後面一起傳送給收信者;收信者接收到之後,郵件軟體便由信箱內的鑰匙串列找出發信者的公開鑰匙,除了驗證該信件是否遭他人修改過之外,還需確定發信者身份未遭受他人冒名頂替。 數位簽章架構從技術層面來看,數位簽章必須達到『完整性』與『不可否認性』的功能。圖 7-1 為數位簽章範例(RSA 簽章),其運作程序說明如下:首先傳送端將訊息經過雜湊演算法計算後得到一個雜湊值,再利用它的私有鑰匙向雜湊值加密成為一個數位簽章(DS),接著,再將數位簽章附加在訊息後面一併傳送出去;接收端收到訊息之後,以同樣的雜湊演算計算出雜湊值(H’),並利用傳送端的公開鑰匙將 DS 解密,得到另一端的雜湊值(H)。接著,比較兩個雜湊值,如果相同的話,則可以確定該訊息的『完整性』(雜湊值相同),此外也可以確定其『不可否認性』(私有鑰匙與公開鑰匙配對)