使用數位簽章(Digital Signature)的主要目的是確保資料的完整性、認證身分與不可否認性, 這在電子文件、電子郵件、程式碼發佈、憑證簽發等場景中特別重要:
。完整性: 確保資料在傳輸或儲存過程中未被竄改, 若資料遭篡改, 數位簽章驗證將失敗
。認證身分: 簽章可證明資料的來源, 例如若某人用他的私密金鑰簽章, 我們可以藉由他的公開金鑰驗證其身分
。不可否認性: 一旦某人用他的私密金鑰簽署資料, 他無法否認這個行為, 因為只有他擁有該金鑰
w-studio.idv.tw
使用憑證進行數位簽章
數位簽章依賴於公開金鑰基礎架構(PKI), 其中憑證扮演關鍵角色, 憑證中包含了公鑰及持有者的身分資訊, 並由受信任的CA簽發, 數位簽章流程如下:
1. 準備資料: 欲簽章的資料(如文件、電子郵件內容等)
2. 計算雜湊值(Hash): 對原始資料使用雜湊演算法(如 SHA-256)產生一個固定長度的雜湊值
3. 使用私密金鑰進行加密: 使用持有者的私密金鑰對資料雜湊值進行加密, 產生數位簽章
4. 附加憑證與簽章: 將數位簽章及公開金鑰憑證(通常是X.509格式)一併附加到文件中
驗證數位簽章的流程
1. 提取簽章與憑證: 從檔案或郵件中提取出數位簽章與公開憑證
2. 計算雜湊值: 用相同的雜湊演算法重新計算收到資料的雜湊值
3. 用公開金鑰解密簽章: 用憑證中的公鑰解密數位簽章, 得到傳送者當時計算的雜湊值
4. 比對雜湊值: 若兩者一致, 表示資料未被竄改、簽章人身分可信
沒有留言:
張貼留言