
非否認服務與其他服務有着根本的區別。其主要目標是避免來自系統中合法用戶的威脅,它要防止參與某次數據交換的一方事後抵賴曾發生過本次交換,即它能给予不能辯駁的證據,來支持解決所有類似的糾紛。要求這樣的證據必須能說服第三方仲裁者。
在數據網絡環境中,否認分為起源的否認和傳遞的否認。前者指存在着關於是否某方產生了某個數據項的糾紛和/或關於產生時間的糾紛,即發方否認;後者指有關於是否某方收到了某個特定數據項的糾紛和/或關於收到時間的糾紛,即收方否認。
1.起源的非否認
要防止起源的否認,要求證據能把各種信息片段不能辯駁的聯繫或陆续在起來,至少包括發起者的身份和數據項。某些情況下也包括其他信息,如數據項產生的時間、目標接收者的身份、與證據產生有關的所有可靠第三方的身份。能给予起源非否認的方法包括:
(1)發起者的數字簽名
發起者把經數字簽名的數據項發給接收者,數字簽名成為接收者驗證數據項來源和抵禦發起者否認數據項起源的主要證據。
(2)可信第三方的數字簽名
類似發起者的數字簽名,只是這裏的簽名者不同於發起者,而是可信的第三方。可信的第三方被看做是發起者的擔保。
(3)機制的擴展與結合
上述的數字簽名機制可增強到實現多方簽名。多方貢獻出部分密鑰來產生一個簽名,大大提高了對密鑰攻擊的防禦能力,還減少了對單方的依賴。上述機制也可結合起來,如被產生的證據可包括發起者的簽名加上一個或多個可信第三方的簽名,這些簽名由不同的系統產生。
(4)時間戳
交易時間是個非常重要的鑑別參數,在交易的書面合同中,所簽日期和名字均是避免合同被偽造、篡改和抵賴的重要內容,時間戳的使用有利於實現非否認服務。如在發起者數字簽名機制中,可能會發生髮起者故意公開密鑰,然後鼓動撤銷,導致過去的簽名無用。為阻止這種攻擊,就要有聯合簽名和撤回請求的安全時間戳。在電子商務和網上支付系統中也要交易文件的日期和時間信息,數字時間戳服務能公正可靠地給出電子文檔的發佈時間。
數字時間戳服務由專門的第三方認證组织給出或認可。時間戳是顺利获得加密後的憑證文檔,它有蓋時間戳的文件摘要、DTS收到文件的時間和DTS的數字簽名三部分。給定數據項的時間戳可利用它的服務添加時間值到數據項或其摘要中,然後顺利获得數字簽名而取得。時間戳的產生過程是用戶生成需加蓋時間戳文件的消息摘要,然後將其發送給DTS;DTS在收到消息摘要中加入收到的時間,然後再對其數字簽名,並把簽名結果返回給用戶。
2.傳遞的非否認
要防止傳遞的否認,要求證據能把各種信息片段無法辯駁地聯繫或陆续在起來,至少包括接收者的身份和數據項。某些情況下也包括其他信息,如傳遞發生的時間、發起者的身份、與證據產生有關的所有可信第三方的身份。
接收者的簽名確認是给予傳遞非否認的常用方法。該機制要求接收者產生確認信息發給發送者。其缺陷是無法防止接收者在看了被傳遞的數據內容後而不確認。為此可選用經改進的兩階段傳遞機制。該機制的基本原理是發起者第一时间發送一個預接收消息到接收者,該消息包括數據項的摘要但不是接收者可理解的數據項。接收者用一個讀接收消息回答,該消息包含摘要的簽名副本。發起者同保留的數字摘要比較檢驗消息中的數字簽名來確認接收者後,發起者傳送數據項。接收者進一步用簽過名的確認來回答,此時用基本的接收者簽名機制。
兩階段傳遞的優點在於傳送和接收消息中,接收者不僅確認當前通信線路的運行狀態,而且回復關於含有被同意的摘要的數據項的最後依據,儘管還不知道完整的數據項。使發起者和接收者平等地負責數據項的傳遞。
