程 潔 徐 聰 李立寧 徐 蓉 李沈郢 劉 楊
(1.湖北航天信息技術有限公司,湖北 襄陽 441000;2.航天信息股份有限公司,北京 100195)
隨著社會信息化程度的不斷加深,電子商務電子政務的發展,各種憑據開始由紙質形式轉變為電子形式,出現了大量不同業務類型的電子憑據。電子憑據是在民事活動中,開具或收取的以電子方式存儲、流轉的各種憑據,是紙質發票的電子映像和電子記錄。
電子憑據具有無紙化、低能耗、易查詢、易保存和易管理等特點,隨著電子憑據的相關技術日趨成熟,傳統紙質憑據被方便、快捷、安全的電子憑據取代已成為必然趨勢。近年來,在我國電子憑據的應用范圍越來越廣泛,從電商、電信逐步擴展到保險、零售、餐飲、交通和公共事業等行業,地域上也從個別試點區域推廣到全國,開具數量呈逐年快速遞增的趨勢,以電子發票為例,據統計,2018 年我國電子發票開具量有32.7 億張,預計到2021 年可能高達500 億張,保持年均超過100%的增長速度。
如何確保電子憑據的真實性和合法性,保障電子憑據各參與方的正當權益是電子憑據應用中必須解決的問題。傳統的紙質憑據通常由參與交易的雙方或多方對憑據手寫簽名或加蓋印章來證明憑據的法律效力,《中華人民共和國電子簽名法》中規定“可靠的電子簽名與手寫簽名或者蓋章具有同等的法律效力”,因此,電子憑據與傳統的紙質憑據具有相同的法律效力。
當前,不同業務類型的電子憑據使用的防偽方法不同。主要包括手寫簽名防偽[1]、數字水印防偽[2]、信息防偽[3]、區塊鏈防偽和數字簽名防偽[4-6]等。
手寫簽名防偽需要借助手寫簽名板將簽名電子化,作為電子憑據的數據的一部分形成證據鏈、實現防偽;數字水印防偽將預先定義的數字水印嵌入電子憑據,用于識別電子憑據的部分信息,達到防偽的目的;信息防偽通過利用電子憑據的部分數據項作為查詢條件查詢電子憑據數據庫,對比查詢結果來判斷電子憑據的真偽;區塊鏈防偽利用區塊鏈技術全流程完整追溯、信息不可篡改等特性來實現電子憑據的防偽;數字簽名技術使用PKI技術,通過加密簽名和解密驗簽實現電子憑據的防偽和驗證。在實踐過程中發現,基于PKI 的數字簽名技術是實現電子憑據防偽最簡單、高效、經濟且適用范圍最廣的解決方案。
該文將介紹一種基于數字簽名技術適用于多業務類型的電子憑據多參與方公開防偽方法以及適用于多業務類型電子憑據、多種應用場景的靈活便捷的電子憑據驗證方法。
雖然電子憑據的業務類型不同,但是參與電子憑據開具的都有多個參與方,包括憑據的請求方、憑據的制作方和憑據監管方。憑據的請求方指的是有開具電子憑據需求的交易雙方或多方,憑據的制作方負責響應請求方的開具請求并生成電子憑據,憑據監管方負責對電子憑據的整個生成開具過程進行監管和核準。根據這種情況,該文提出了一種適用于多業務的多參與方公開防偽方法,基于數字簽名技術,各參與方對電子憑據中關鍵業務信息進行簽名,形成完整的簽名鏈,共同對電子憑據的合法性和內容真實性負責,來確保電子憑據業務信息的完整性、防篡改性和不可抵賴性。
數字簽名技術結合消息摘要函數和加解密技術,將摘要信息用發送者的私鑰加密,與原文一起傳送給接收者。接收者只有用發送者的公鑰才能解密被加密的摘要信息,然后用消息摘要函數從收到的原文產生一個摘要信息,與解密的摘要信息對比,以此確定收到的信息在傳輸過程中是否存在部分丟失或被篡改的情況。同時,利用數字簽名技術可以確定簽名者的身份,簽名者不能抵賴曾經發送信息,確保了信息的抗抵賴性。
適用于多業務的電子憑據多參與方公開防偽過程如圖1 所示。首先,交易完成后,交易雙方或多方分別對電子憑據的相關業務數據D 進行簽名,形成請求方的簽名集合S1。完成后將簽名后的電子憑據業務數據發送給憑據的制作方,請求開具電子憑據。電子憑據的制作方先對簽名S1進行驗證,驗證無誤后加入憑據索引等控制信息E,并對電子憑據進行數字簽名S2,將其發送至監管方。監管方核準電子憑據所有數據,對簽名S2進行驗證,驗證無誤后對電子憑據進行監管簽名S3,并將監管簽名數據反饋給電子憑據的制作方。憑據的制作方對S3進行驗證,驗證無誤后標志著電子憑據業務數據已經生成,對電子憑據業務數據進行版式封裝,最后將制作完成的電子憑據發送給憑據的請求方,并存儲在電子憑據數據庫中。
經過以上4 步以后,電子憑據業務數據以及各方的簽名防偽數據已經生成,各參與方的簽名鏈邏輯關系如圖2所示。
在電子憑據的開具過程中,多個參與方利用數字簽名技術在電子憑據上面層層加蓋數字簽名,形成完整的簽名鏈,共同來保證電子憑據的合法性和內容真實性,這種防偽方法比已有的電子憑據防偽方法更為可信,且適用于各種不同類型的業務。
除了電子憑據防偽方法以外,還應該為電子憑據的各參與方提供便捷的電子憑據驗證方法,使電子憑據的各參與方可以對電子憑據的合法性和內容真實性進行驗證,及時發現偽造和被篡改過的電子憑據,才能使各參與方的正當權益得到切實的保障,該節將介紹對前文所述防偽方法生成的電子憑據的在線驗證方法、離線驗證方法以及電子憑據紙質化后的驗證方法。
電子憑據生成開具之后將會存入電子憑據數據庫中,在存儲前會對電子憑據的合法性和內容的真實性進行驗證,從而可以保證存入電子憑據數據庫中的電子憑據均為合法真實的電子憑據。電子憑據驗證可以通過查詢電子憑據數據庫,對比電子憑據信息實現,其具體過程如圖3 所示。

圖1 多參與方電子憑據公開防偽過程

圖2 電子憑據簽名鏈邏輯模型
為了滿足不同業務類型的電子憑據的驗證需求,我們設計了驗證配置功能,通過驗證配置功能可以配置可驗證的電子憑據種類以及每種業務類型的電子憑據的驗證數據項和驗證規則,形成一個電子憑據驗證規則庫。驗證配置功能使這種驗證方法具有更高的靈活性和可擴展性。電子憑據的驗證輸入項可以是整個電子憑據文件或電子憑據的部分信息,如果輸入項為整個電子憑據文件,驗證服務系統會將查詢結果與電子憑據信息進行對比,并告知驗證人員電子憑據是否合法,如果輸入項為電子憑據的部分數據項,驗證服務系統會將待驗證的電子憑據的全部信息返回給查驗人員,查驗人員自行對比判斷電子憑據是否合法。

圖3 電子憑據查詢驗證流程
此外,通過數字簽名驗簽也可以進行不同業務類型電子憑據的驗證。對于用多參與方公開防偽方法生成的帶簽名鏈的電子憑據,只需要對最后一個環節的簽名進行驗簽,如果最后一個環節的簽名驗證通過,就可以證明電子憑據是完整的,沒有被篡改,生成各方是不可以抵賴的。
圖4 說明了電子憑據的驗簽驗證過程。首先,查詢CRL列表、驗證監管方證書確定監管方證書是否合法,同時根據電子憑據的業務數據計算出一個摘要,并利用電子憑據數據中包括的監管方公鑰對監管方的簽名進行解密,得到另一個摘要,通過對比2 個摘要可以得知電子憑據的內容是否完整或被篡改過,以此驗證電子憑據的合法性和內容真實性。
電子憑據查詢驗證方法只能在在線的情況下使用,驗簽驗證方法同時支持在線和離線驗證,可供網絡中斷以及特定不具備網絡環境的情況使用,2 種方法相結合保證了電子憑據驗證的多場景適應性。需要注意的是,在離線情況下,驗簽驗證方法只能對電子簽名進行驗簽,無法查詢CRL 列表以確定簽名方的身份合法性,因此這種驗證方法得到的結果并不完整,適合用來初步判斷電子憑據的真偽。
在實際應用場景中,仍然存在需要將電子憑據轉化紙質憑據使用的情況。紙質化憑據的驗證方法是用二維碼技術實現的,在電子憑據生成時,將電子憑據的特征信息以二維碼的形式顯示在電子憑據上,電子憑據紙質化后,可以通過掃描憑據上的二維碼得到這些特征信息,然后用這些信息作為查詢條件進行查詢驗證。

圖4 電子憑據驗簽驗證流程
該文對電子憑據的防偽和驗證方法進行了研究,提出了一種基于數字簽名技術的多參與方公開防偽方法,用簽名鏈來實現電子憑據的防偽,相比于已有的防偽方法這種方法更加可信,且滿足各種不同類型的業務需求。同時,在電子憑據的驗證方法中引入驗證配置功能,使該種驗證方法更加靈活、更具可擴展性。此外,針對電子憑據的離線驗證和紙質化后的驗證這2 種業務場景提出了相應的驗證方法。