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

2021-10-10 22:13:32 字數 3565 閱讀 4425

數字簽名有哪些形式?相比其他簽名形式,密碼學數字簽名優勢幾何?具備哪些獨有功能?使用過程中又潛藏何等風險?

簽名生效的契約是保障商業活動有序進行的核心手段之一。通過承諾的形式對預期在未來發生的商業行為進行約定,約定雙方將履行約定看作是一種義務,任意一方違背承諾,都可以通過法律手段進行追訴,以此保障約定的行為最終得到履行。

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

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

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

密碼學數字簽名的優勢

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

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

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

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

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

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

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

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

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

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

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

密碼學數字簽名分類

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

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

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

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

密碼學數字簽名認證體系

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

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

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

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

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

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

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

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

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

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

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

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

數位化契約如何守護?解析盲簽名的妙用

數字簽名在數字契約中包含不便公開的敏感資訊時,如何進行有效的簽名?簽名時看不到資訊明文,日後出現糾紛該如何追究維權?連簽名者都看不到資料資訊,如何支援有效的監管介入?其背後的盲簽名技術和其他簽名技術相比,有何過人之處?在越來越重視隱私保護的數位化經濟大背景下,對使用者資料的隱私保護要求也日益提高。甚...

密碼學 什麼是數字簽名

1 場景 傳送方 a 需要給 b 傳送一條訊息,為了保證資料的完整性,a 在訊息的後面新增該訊息的 hash 值。問題 由於訊息是明文的,中間人可以截獲該訊息並生成新訊息的 hash 發給 b。為了解決上述問題,有如下方案 1 這條訊息用 a 和 b 共享的金鑰進行對稱加密。2 hash 值用 a ...

Lauren與密碼學9,數字簽名

lauren 我思考了一下,採用訊息認證碼的手套訂單還是有問題。客戶生成訂單,計算hash值,並且給hash值加密。這樣防止了篡改和別人偽造,但是因為密碼是在工廠與客戶之間共享的。客戶和工廠都有生成一模一樣訂單的能力。客戶否認說我沒有發過這個訂單,是工廠自己偽造的訂單。技術上來講,訊息認證碼沒有辦法...