數字化契約如何守護?密碼學數字簽名共性解析

買賣虛擬貨幣
數字簽名有哪些形式?相比其他簽名形式,密碼學數字簽名優勢幾何?具備哪些獨有功能?使用過程中又潛藏何等風險?簽名生效的契約是保障商業活動有序進行的核心手段之一。透過承諾的形式對預期在未來發生的商業行為進行約定,約定雙方將履行約定看作是一種義務,任意一方違背承諾,都可以透過法律手段進行追訴,以此保障約定的行為最終得到履行。

除開商業活動,契約保障對於涉及多方之間價值交換的其他活動同樣至關重要。承載價值的各類權益,在實際交換過程中,一般都有先後順序,需要透過契約來保證相關的交換流程都能如期完成,防止先得到權益的一方惡意中斷流程,致使其他參與方未能得到約定權益,造成不必要的損失。

在上述過程中,簽名機制是確保契約合法性和有效性的關鍵。 

在資訊化時代,如何藉助技術手段實現有效的簽名機制,那就不得不提以密碼學數字簽名為代表的數字簽名技術。本文作為數字簽名系列的開篇,對密碼學數字簽名中的共性特徵進行逐一解析。

1. 密碼學數字簽名的優勢

本質上,簽名機制是對“誰認同了什麼”的一個約束,這一約束將簽名主體和契約內容透過簽名關聯了起來,並同時滿足以下基本特性:

防仿冒:如果不是簽名主體,無法仿冒簽名主體進行簽名。
防篡改:如果契約內容被篡改,原有的簽名便會失效。
可驗證:簽名的有效性可以透過技術手段進行驗證。

人類歷史發展的不同階段,曾經為不同契約載體引入過不同的簽名機制。在資訊化時代到來之前,契約主要記載在物理介質上,如羊皮、紙、竹簡等。除了手寫簽名之外,最常見的簽名機制就是印章。

《史記》中就有“青泥封書”的記載。早在戰國時期,古人將竹簡捆紮之後,使用黏土封住繩結,並蓋上印章,防止私拆和篡改,史稱竹簡封。基於類似技術,後續還出現了木牘封、棉紙封、火漆封等。尤其是使用紅色封蠟的火漆封,在中西文明中有過輝煌的歷史,被用於機要信件的身份鑑別和防篡改,並由此派生出各式各樣的印章文化。

直至今日,印章依舊在契約制定中起著關鍵作用。在各類合同中,對紙質檔案加蓋印章(簡稱用印)是合同生效的必要條件。用印是一個十分嚴肅的過程,往往需要對於合同中每一處關鍵資訊,都蓋上印章確保其不被篡改。對於多頁合同,往往還需要加蓋騎縫章,保證合同內容的連續性。

即便如此,哪怕花費了大量人工,在紙面上蓋滿了印章,也很難保證所有資訊都能受到印章保護。因此,以印章為代表的傳統簽名機制在處理包含大量資訊的契約時,面臨顯著的效率和有效性問題。

這些問題恰恰也是數字簽名設計中需要攻克的要點。

如果簡單地將傳統簽名進行數字化處理,使用其數字化影像來直接用作數字簽名,能不能解決以上問題呢?

顯然答案是否定的。尤其對於防仿冒和防篡改,任何人一旦獲得到一份簽名的數字化影像,都可以無限複製並應用到任意契約內容上,這可能會為簽名主體帶來難以估量的損失。

為了防止攻擊者輕易生成偽造的數字簽名,簽名的生成過程需要引入只有簽名主體才知道的秘密引數,由此便可構造密碼學數字簽名,對應的秘密引數就是密碼學簽名演算法中的金鑰。

一般而言,密碼學數字簽名在滿足以上基本特性之外,可以選擇性地引入更豐富的特性,例如:

防抵賴:除了簽名主體,其他人無法生成有效的簽名,所以簽名主體無法抵賴,對應的簽名可以具備法律效力。
公開可驗證:簽名主體無需公開自己用於簽名的私鑰,第三方透過對應的公鑰即可完成簽名有效性的驗證。

這些特性可以用來支援數字化經濟中各式各樣的數字化契約,對於需要進行多方協商的約定,在現行的法律框架下,一般都可以採用對應的密碼學數字簽名進行有效地保障。

2. 密碼學數字簽名分類

在現實業務中,對於契約可以有很多形式,因此也對數字簽名產生了非常多樣化的功能需求。

限於篇幅,這裡僅對主要的密碼學數字簽名演算法類別進行列舉,具體技術細節將在本系列的後續文章中展開。

對於傳統簽名機制難以實現的效果,如隱匿簽名主體身份、隱匿契約內容、快速驗證海量簽名,密碼學數字簽名都可以在保持簽名機制防仿冒、防篡改、可驗證基本特性的前提下,提供有效的技術方案,也可以進一步擴充套件,支援其他非常規效果,如提供定向簽名驗證的變色龍簽名等。

由此可見,相比傳統簽名機制,密碼學數字簽名可以滿足更加豐富的業務需求。

3. 密碼學數字簽名認證體系

儘管具體密碼學數字簽名演算法各有差異,構建一個有效的密碼學簽名認證體系一般都會用到一系列共性技術。以基於公鑰密碼學演算法的數字簽名為例,常見的共性技術如下:

· 資料摘要演算法:將任意長度的資料縮減成簽名演算法能夠處理的資料長度,生成與原資料內容強繫結的資料摘要,常用的有各類單向雜湊演算法(參見第9論),如國密SM3,SHA-3等。

· 簽名演算法:使用簽名主體的私鑰,對資料摘要進行運算,生成數字簽名,並提供基於公鑰的數字簽名驗證,常用的有國密SM2、ECDSA、RSA簽名等。

· PKI(Public Key Infrastructure)公鑰證書服務:提供安全的公鑰分發服務,確保用於驗證簽名的公鑰確實屬於簽名主體,常用的有X.509公鑰證書服務。

對照傳統簽名技術,資料摘要演算法相當於捆紮檔案的封條,簽名演算法相當於封條上蓋的代表身份的印章,PKI公鑰證書服務相當於識別印章有效性的官方圖鑑,這三類技術缺一不可。

值得注意的是,儘管破解密碼學數字簽名比攻擊傳統簽名(如私刻蘿蔔章)的技術難度會高很多,但隨著軟硬體技術的發展,還是有可能對現有技術進行成功攻擊的,為此有必要充分了解相關安全風險。

如果資料摘要演算法出現安全問題

攻擊者就可以在保持原有簽名不變的前提下,任意替換契約內容。2017年,Google演示了首例對SHA-1單向雜湊演算法碰撞攻擊SHAttered,以單GPU運算110年的代價(任何大型雲平臺服務商都具備的計算能力)為精心篡改過的PDF檔案生成了與原檔案完全一樣的SHA-1雜湊值。因此,使用過時或已知不安全的資料摘要演算法會極大影響數字簽名的防篡改性。

如果簽名演算法出現安全問題

攻擊者可以結合數字簽名和原檔案提取出簽名所用的私鑰,並使用該私鑰仿冒簽名主體,對未授權的契約進行簽名。例如,目前基於橢圓曲線的簽名演算法設計都不具備抗量子特性,一旦量子計算實用化,就會對現有數字簽名的防仿冒性產生巨大沖擊。

如果PKI公鑰證書服務出現安全問題

攻擊者可以使用惡意軟體、木馬、病毒等非密碼學攻擊手段侵入PKI公鑰證書服務,使用自己的公鑰證書,來替換籤名主體的公鑰證書,隨後便可任意使用自己的私鑰對未授權的契約進行簽名。

另一類相關攻擊是攻擊者透過某些手段竊取了簽名主體的私鑰,簽名主體已經完成了公鑰證書的掛失,但PKI公鑰證書服務未能對公鑰證書的黑名單進行及時更新。在這些攻擊的影響下,第三方可能無法透過PKI公鑰證書服務來有效辨識簽名所用的公鑰是否真正屬於簽名主體,所以會對最終簽名結果的可驗證性造成顯著影響。

儘管風險點不少,但作為全行業普遍使用且廣泛認可的一類密碼學技術,密碼學數字簽名還是一個非常有效的契約認證體系。企業務必需要遵循各類國家和行業相關技術規範,使用行業內標準化的技術實現,對數字簽名系統進行及時更新和升級,最小化相關技術風險。

正是:數字契約一諾值千金,密碼技術一簽抵九鼎!

密碼學數字簽名作為現代商業中保障契約有效性的核心技術,對於完成經濟數字化轉型、業務線上化、產業數字化升級都至關重要。基於不同的業務需求,密碼學數字簽名可以提供不同的技術方案,滿足傳統簽名機制難以滿足的特性,在保障契約效力的前提下,支援更加多樣化的業務創新。

在密碼學數字簽名諸多高階特性中,最常提及的便是隱匿簽名主體的身份,技術上究竟如何實現,欲知詳情,敬請關注下文分解。

免責聲明:

  1. 本文版權歸原作者所有,僅代表作者本人觀點,不代表鏈報觀點或立場。
  2. 如發現文章、圖片等侵權行爲,侵權責任將由作者本人承擔。
  3. 鏈報僅提供相關項目信息,不構成任何投資建議

推荐阅读

;