

在政府單位工作三年了,其中也接觸了不少系統,許多對民眾的網站也都支援了自然人憑證驗證,可以用於報稅、填表單、註冊等功能,對於如何開發介接自然人憑證也研究的有點心得,接下來就會花幾篇來介紹關於自然人憑證使用的知識。
身分驗證機制
談自然人憑證前,我們先來談系統需求,政府有各種大大小小的網站,每個網站都會有自己的會員清單,需要另外建立帳號密碼,但對民眾來說要記住每個網站的帳號密碼是件很繁瑣的事情,而且安全性也較低。為了統一身分驗證的使用者體驗,只要網站能跟我的卡片驗證,卡片又代表我個人,那我就可以用卡片來登入網站。如下圖人事服務網可以透過自然人憑證、健保卡、行動自然人憑證等驗證機制。

自然人憑證
關於自然人憑證的介紹,可以參考內政部憑證管理中心的資料。文中提到為民服務系統數位化遇到的問題,包含身分確認與資料加密等。自然人憑證裡面存放著透過非對稱加密產生的憑證,當中包含了公鑰與私鑰,私鑰存放在卡片內,是無法匯出的。經由憑證可以進行數位簽章、資料加密、身分證別等功能。
申請方式為,任何自然人都可以到戶政事務所申辦,包含外國人也可以,有效期限為5年,可展期3年,共計最長8年。
數位簽章與資料加密

自然人憑證內存了兩組公私鑰,一組用於數位簽章,一組用於資料加密。且數位簽章的公私鑰無法用於資料加密,反之亦然。接下來簡單介紹兩者的差別。
數位簽章用於電子文件上的簽名,確保檔案的完整性和不可否認性,是為了確認資料在傳遞的過程中不被竄改。原理如上圖所示,我們將要被簽章的資料稱為原文,將原文透過自然人憑證卡的私鑰進行加密,會產生一組密文。要驗證資料是否被竄改,則要將密文透過公鑰進行解密,並與原文比較就知道是否遭到修改。
資料加密則是為了確保資料內容只有透過自然人憑證解密才能讀取,方法為將原文透過自然人憑證卡的公鑰進行加密,需要讀取內容,則需要透過自然人憑證卡的私鑰進行解密才能查看。
身分驗證
身分驗證的原理是透過數位簽章來完成的,通常網站會先有個註冊流程,註冊的時候會將數位簽章的公鑰綁定到帳號上,並儲存在伺服器上。當使用者鑰進行登入驗證的時候,會從網站後端產生一組原文,給前端進行數位簽章產生密文,再將密文丟回到後端伺服器。當伺服器透過公鑰將密文解開與原文相同時,就代表是使用同一組公私鑰進行簽章,則驗證通過。
其他政府憑證

我國除了有自然人憑證以外,還有其他功能的憑證,可以到GPKI網站看看。各個部會的憑證管理機關也會發放憑證,如經濟部工商憑證、組織及團體憑證、醫事憑證等等。
結語
本篇簡單的說明了自然人憑證的功能與用法,接下來就會針對開發介接並提供範例。
▶ 閱讀更多:深入淺出自然人憑證