數字證書早已經應用到很多領域的很多方面,如說電子銀行在收付款、保險行業的保險合同、交易平臺的在線訂單及合同。今天以電子合同這種更容易理解的方式給大家說說實例流程。
一、使用“數字證書”的初衷
為什麼要在這裡強調“使用電子簽章的作用”?
很多時候我們在項目進行過程中會迷失自己的初衷,是在認真的做事,然後去總結,其實總結出來的點在我們出發時就已經“寫好”了。
所以在這裡還是先拋出數字證書的作用:信息的保密性、交易者身份的確定性、不可否認性、不可修改性。
(1)信息的保密性
電子商務中雙方的交易保密性要求,同我們線下合同簽訂、訂單、款項支付擁有同樣的保密級別,一旦這些信息被洩漏,都將造成商機的喪失。
(2)交易者身份的確定性
使用數字認證的前提:使用方承認《電子簽名法》、認可認證機構、認可平臺的信譽;所以雙方都信任通過平臺進行認證的企業信息。那麼雙方在線產生交易並進行電子簽章後,對方都能方便而可靠的確認對方身份的合法性。實例就是客戶通過印章進行驗證的過程。
(3)不可否認性
也就是在線契約一旦簽訂就生效,簽章文檔及簽章的過程被記錄,雙方都不可以否認。首先,簽章的行為經過層層的風險控制,出現被冒籤的可能性機會為0(之後會講風控);另外,簽章一旦簽訂切被認證機構認定沒有篡改,那麼協議就是受《電子簽名法》約束就是一份有效的合同。
(2)不可修改性
使用者可能會有這樣的疑問,紙質合同是容易看出被篡改的痕跡,但是電子合同怎麼能識別?這也就是數字簽章關鍵技術所在了。首先雙方(當然也可以是多方)簽章後,文件本身是不允許修改的,即便使用了非法手段進行篡改,也會在驗證過程中被識別(後面會講)。
二、概念區分
做電子簽章1年多了,最初對這些概念也是傻傻分不清,百度了許多文章,發現好多人也有同樣的疑惑,結合網上的專業說法及自己的理解先來梳理下概念。
按照概念&操作產生的順序來說明:
1. CA認證機構
電子商務認證授權機構(CA, Certificate Authority),也稱為電子商務認證中心,可以是民間團體,也可以是政府機構,是負責發放和管理數字證書的權威機構,並作為電子商務交易中受信任的第三方,承擔公鑰體系中公鑰的合法性檢驗的責任。
那麼數字證書是如何發放的呢?就我所做項目而言,並不是我們平臺直接向CA認證機構為客戶申請CA認證,而是與第三方合作系統對接,對接後我們只提供客戶的資料,然後由第三方負責提交審核併發放數字證書,流程和所需要的資料都是一樣的,只是這樣的效率會更高。
CA認證機構還有一個重要的職能就是在發生電子合同糾紛時,出具認證文件確認當前文件的可靠性及是否被篡改,這也將作為重要的法律依據。
2. 數字證書
CA認證機構發行的東西是啥——數字證書。
數字證書內容包括:證書序列號、證書持有者名稱、證書頒發者名稱、證書有效期、公鑰、證書頒發者的一系列數字簽名。
原理是:綁定了公鑰及其持有者的真實身份,類似於現實生活中的身份證,所不同的是數字證書不再是紙質的證照,而是一段含有證書持有者身份信息並經過認證中心審核簽發的電子數據,可以更加方便靈活地運用在電子商務和電子政務中。
3. 數字簽名
先說下“電子簽名”和“數字簽名”的區別:數字簽名≠電子簽名。
《電子簽名法》對電子簽名的定義是指數據電文中以電子形式所含、所附用於識別簽名人身份並表明簽名人認可其中內容的數據。實現電子簽名的技術手段有很多種,常見的電子簽名形式有:手寫簽名或印章的數字化圖像、採用生物識別數據(如虹膜、指紋)、基於公鑰密碼技術的數字簽名等。
也就是說:數字簽名只是電子簽名的一種,也是目前比較成熟且全球應用最為普遍的電子簽名技術。
所謂“數字簽名”就是將報文按雙方約定的HASH算法計算得到一個固定位數的報文摘要。在數學上保證:只要改動報文中任何一位,重新計算出的報文摘要值就會與原先的值不相符。這樣就保證了報文的不可更改性。
4. 電子簽章
電子簽章是數字簽名的一種表現形式,利用圖像處理技術將電子簽名操作轉化為與紙質文件蓋章操作相同的可視效果,同時利用電子簽名技術保障電子信息的真實性和完整性以及簽名人的不可否認性。
三、電子合同於電商平臺中的實例
關於電商平臺將數字證書應用於電子合同的實例,從實際項目中來說是分為“數字證書申請流程+平臺內嵌”兩個方面的,一個是要求你熟悉數字證書申請的過程,第二方面是一定要知道數字證書如何應用到你的平臺中。
1. 數字證書申請流程
由於品臺對接了第三方數字證書機構,所以在數字證書申請流程上相當於簡化了平臺的工作,平臺只負責將平臺用戶的信息提交給第三方後,由第三方與CA認證中心進行審核對接,看下平臺與第三方之間的對接流程:
第三方平臺負責審核通過之後,有平臺的管理人員將證書進行激活到空的Uk中;之後進行印章的製作。
大家需要清楚一點:數字證書是本質,印章樣式是顯像。
這也是為了符合使用者心裡“人們對顯現出來的東西更具有認知性”。在製作印章時客戶可以選擇使用原始線下的印模製作,或者直接在線生成(圓的、方的),實際過程中都會建議客戶直接生成與線下實體章不同的電子印章。
2. 平臺內嵌電子簽章功能
這一塊就是根據平臺自身的業務進行設計,比如交易雙方在線生成訂單-合同,為了解決合同的傳遞風險、降低郵寄及溝通成本,平臺會推出使用數字證書籤訂電子合同。
這一功能要求合同雙方都認可數字證書,因為對一些傳統企業來說,他們還是更習慣使用紙質合同,所以電子合同是需要平臺進行運營和推廣的。
平臺系統與第三方數字證書提供方的系統對接就相對來說簡單了,只要對方提供接口文檔,最大的工作量就是內嵌簽章功能的調試。
基本流程如下:
印章使用方法:
用戶在進行需要使用證書的電腦上操作前,必須安裝CA根證書,準備好裝有證書的UKey,用戶插入證書介質後系統將要求用戶輸入密碼口令,此時用戶需要輸入申請證書時獲得的密碼信封中的密碼。
密碼驗證正確後,系統會自動發送短信驗證碼到申請時預留的手機裡,輸入正確的驗證碼後,將自動調用數字證書進行相關操作。使用後,用戶應記住取出Ukey,並妥善保管。
3. 風控要點
當然這裡說的風控要點是在數字證書本身的風控要點之上,是基於平臺的風險控制說的。
(1)登錄校驗
在客戶登錄時使用UK進行身份校驗,並不會電子簽章造成影響,只是確認登錄用戶的身份。
在Uk簽發之前,將Uk與匹配的客戶賬戶進行綁定,用戶在登錄時除了校驗用戶名和密碼外,還要校驗是否與當前插入的UK匹配,兩個校驗都通過之後才能登錄。
(2)短信驗證碼
這一步是電子簽章過程中必不可少的驗證環節,在客戶申請數字證書時是需要填寫證書使用人及電話信息然後進行蓋章提交的,所以平臺會將改電話與UK進行綁定。
在用戶使用UK進行蓋章時,除了需要輸入KEY的保護密碼外,還要進行短信驗證,來確認蓋章得人就是當時申請數字證書的人,這一步也是避免客戶的UK被非管理人員盜用並簽章。
在應用短信驗證碼過程中是需要產品經理考慮以下幾點:
- 電子合同簽訂的頻率,是不是一次驗證後,在N分鐘不需驗證;或者每簽訂一個合同都需要驗證;
- 短信發送頻率問題,如果每個合同都需要驗證,那麼簽訂一個合同需要幾分鐘,因為大多數短信通道系統為了防止惡意攻擊,都會限制短信在1分鐘內發送的頻次。
(3)時間戳
時間戳是在數字簽名時寫入加密文檔的,時間戳分為“自建時間戳”和“具有法律效力的時間戳”。如果平臺不去處理時間戳,那麼在簽章時獲取的是簽章人本地電腦的時間,如果出現糾紛,這種“自建時間戳”是不具備法律效力的。
那麼如果體現電子簽名的不可否認性呢?
平臺都會採用具有法律的效力的時間戳:它是由我國中科院國家授時中心與北京聯合信任技術服務有限公司負責建設的我國第三方可信時間戳認證服務。
由國家授時中心負責時間的授時與守時監測。因其守時監測功能而保障時間戳證書中的時間的準確性和不被篡改,這樣即便出現法律糾紛,也可以有權威機構來證實這個時間的法律效力。
關於時間戳的司法案件時有案例的,各位有興趣可以查查。
(4)文件備份
這一點上主要是電子文檔的留存,雖然CA認證機構會出具一些不可抵賴的認證、第三方也會進行日誌的記錄,但是源文件的存儲就是不容忽視的大事情。
兩種方式:
- 平臺自建服務器存儲,這個就必須要做好災備;有的時候平臺考慮數據安全性祕密性,不相信雲存儲,就會自建機房。
- 雲存儲當然要考慮“大家”。因為雲存儲好處在於不存在平臺會有人惡意篡改文件,其實能改的概率極低,但是這也就在出現糾紛的時候,會提供一個更有說服力說辭。
寫在文後
文章是以實際的案例的描述下流程及實際操作方面的事情,只能給新手們一點小小的靈感,其實更深的算法層的東西個人也在理解學習中,希望之後還可以繼續交流。
本文由 @檸檬茶 原創發佈於人人都是產品經理,未經許可,禁止轉載。
題圖來自 Unsplash,基於CC0協議。