[摘要] 在微電子支付領域,隨著即付即用(pay-per-use)類型電子商務和移動商務的發展,微支付的重要性日益凸現.本文在對PayWord微支付系統協議分析基礎上提出了“虛支付”的概念,基于這一概念,設計了一個微支付系統NPAY,較好地解決了消費者超額消費問題,減少了系統的通訊開銷,并且消費者可以匿名消費。
[關鍵詞] 微支付 PayWord NPAY
一、簡介
微支付(Micropayments)系統主要是用在特別小的網絡交易上面,精確度甚至可以達到十分之一美分計算。“微支付”的特征是能夠處理任意小量的錢,適合于因特網上“不可觸摸(non-tangible)商品”的銷售。一方面, 微支付要求商品的發送與支付幾乎同時發生在因特網上;另一方面,商品銷售、處理與運輸的“瓶頸”為保持成本低廉設置了障礙,比如客戶瀏覽收費網頁等。
微支付是隨著Internet的發展而提出的。在Internet的應用中經常發生一些小額的資金支付,如Web站點為用戶提供的搜索服務、音樂下載、視頻下載、試用版軟件的下載等,這類服務所涉及的支付費用很小,一般是幾分錢、幾元錢。傳統支付卡支付方式的最小成本是支付額的2%,最小費用為25美分左右。因此傳統的卡支付不適用于微支付,必須建立有效的微支付系統來支持這類服務,這種支付機制有著特殊的系統要求,在滿足一定安全性的前提下,要求有盡量少的信息傳輸、較低的管理和存儲需求,即速度和效率要求比較高,這種支付形式就稱為微支付。目前提供這些服務的站點基本采用廣告、訂閱等方式維持運營,既影響了企業的效益也不方便用戶使用。目前,己有幾個微支付系統在提供微支付服務,如Minipay系統、Millicent系統、PayWord系統等。
二、PayWord微支付協議分析
1.PayWord基本架構
PayWord 微支付系統一般由顧客(C,Customers)、商家(V,Vendor)、經紀人(B,Broker)三個實體組成。C通過微支付系統和V進行交易,用微電子貨幣購買商品的主體。V給C提供商品并接收支付。B作為可信的第三方為C和V提供相關服務,主要包括維護賬號、認證身份、進行貨幣銷售和清算、解決爭端等。其中,B可以是中介機構,也可以是銀行。
2.協議描述
PayWord和所有離線微支付方式一樣是基于信用(Credit Based)的微支付機制,即C是在購買完商品一定的日期(如一天或一個月)后才進行實際的累積支付。因此,在這種支付方式下,用戶的信用就顯得尤為重要,在PayWord微支付系統中,一般用哈希鏈值代表客戶信用,一個哈希鏈值稱為一個PayWord或 PayWord值。
下面具體介紹一下該協議的工作過程:
在支付交易實現過程中,首先,C在B處開設一個賬戶,然后B給C發送一份數字簽名證書,這個證書授權C可以生成 PayWord 鏈,并使用PayWord鏈作為支付憑證提交給V。B要向V保證,C的PayWord值可以兌換成現金貨幣。
之后,在第一次支付請求時,C計算并簽署對某一特定 PayWord鏈W1…Wn的承諾書(包含PayWord根值Wo和其他附加信息的數字簽名)。C通過隨機的方式提取一個 PayWord值Wi,并在此基礎上通過哈希函數H以相反的順序創建哈希鏈:Wi-1=H(Wi),其中i=1,2,…,n。( 在這個哈希鏈中,Wo不能用于PayWord支付,它只是該鏈的根部值。)然后,C把承諾書M(Commitment Message)、Wo、和第i個支付對(Wi,i)一同發送給V,V對承諾書中的簽名進行驗證,然后利用 Wo和承諾書驗證支付對(Wi,i),驗證無誤后,V將商品發送給C,V保存具有C簽名的支付憑證,并將它們連同客戶承諾書一起發送給B,從而得到實際的銀行賬戶撥款支付。
在PayWord微支付系統中,B始終處于C和V之間,負責向C發送數字證書,使其可以生成PayWord 鏈值,同時持有C和V雙方的賬戶以備交易結束后劃撥賬款。在整個交易過程中,B除了每段時期一次的證書發放和最終結算外,其余時間都處于離線狀態。
3.協議分析
通過以上的介紹, 我們看到PayWord同其他微支付方式相比具有一定優勢。
(1)PayWord在向一個新商家支付時,不需要聯系第三方。
(2)PayWord支付交易中不需要保留過多的記錄。
(3)系統的很多耗時工作都是離線完成, 如證書簽署和貨幣兌換, 這樣有利于提高效率。
(4)PayWord支持可變大小支付。如消費者在一次交易中需要支付5個單元的PayWord時,首先向V發送(W1,1),然后再發送(W5,5)即可。
(5)由于采用了強散列函數,已知已花費的PayWord,導出未花費的 PayWord在計算上是很困難的, 這樣可以有效防止PayWord的偽造。
(6)在每一次支付中都包含支付承諾和相應的PayWord 鏈,所以,如果要重復花費的話, 都要提交相同的支付承諾和支付鏈。而最后一次消費的PayWord和根都會讓商家和經紀人保留和跟蹤。所以,通過數據庫形式存儲某一支付承諾項及其對應的已花費的PayWord,可以有效防止多重花費(double spending)。
4.PayWord評價
PayWord是基于信用的,不能防止用戶超額消費,必須采取策略減少損失,比如短周期的支付結算等。基于信用的好處是用戶沒有使用完的PayWord可以拋棄掉,不用更新。PayWord使用少量的公鑰加密碼技術,不用保持和查找密鑰數據庫PayWord不能保證用戶的匿名性。PayWord要求用戶與商家的聯系是長期的,只有這樣,用戶才不用頻繁地申請證書,才能保證系統的高效率。
三、微支付系統Npay的設計
Npay的安全模式和參與方與PayWord系統基本一致。Npay中的經紀人B不僅要維護用戶和商家的賬戶,并且還要維護用戶的提取微電子現金的能力。比如用戶的賬戶上的金額為100元,微電子現金的單位為5分錢,那么用戶提取微電子現金的能力是2000。在Npay中用一個與用戶賬戶關聯的計數器來表示用戶提取微電子現金的能力(以下簡稱能力計數器,用Counter表示)。Npay使用與PayWord相同的方式表示微電子現金。
1.Npay的協議過程
(1)系統初始化:
用戶和商家在經紀人處建立帳戶。同時經紀人根據用戶帳戶中的金額給能力計數器Counter賦值。
(2)提取PayWord:
用戶產生密鑰對,向經紀人請求提取n個PayWord。用戶選取隨機數,計算Wi= h(Wi+1 )i = n, n -1,...0,向經紀人發送消息M1={ID} random, IDv, PKu, Wo,n} PKB。經紀人檢查能力計數器的值大于等于n后,發送消息M2= {CU} PKu,Cu={h(IDu, random),IDv,PKu,Wo,expires} SKB是經紀人發給用戶的證書。經紀人把{ h(IDu,random),Wo}存儲在數據庫中,以檢測商家重復存款。h(IDu, random)的作用是隱藏用戶的身份信息,這樣消費者可以匿名消費。
如圖所示:
(3)購買支付:U通過瀏覽器瀏覽Vendor的商品信息,包括商品的ID及計費長度m。
商家利用Cu取得用戶的公鑰,驗證簽名正確,同意提供服務。
V收到(Wi,i)后驗證Wi在數據庫中不存在后,計算,如果表示收到的Wi有效,把{h(IDu,random),Wi}保存在數據庫中,以檢測U重復花費。
(4)支付結算:一段時間以后(一般為一周)V把最后收到的PayWord如:( Wk,k)及Cu等傳送給經紀人B進行支付結算。B首先驗證礦,再檢查Wo在數據庫中存在后,最后按照PayWord的序號值把相應的金額從用戶的帳戶上轉移到商家的帳戶上,并把Wo從數據庫中刪除,以檢測商家重復存款,同時能力計數器Counter=Counter-n-k。
2.協議的安全性分析
(1)提取PayWord:M1使用公鑰加密,只有經紀人才能解密:M2使用用戶的公鑰加密,只有用戶才能解密。對竊聽者來講,由于他不具有用戶和經紀人的私鑰,所以他既不能得到M1和M2的明文信息,又不能進行欺騙攻擊。如果他進行密碼分析的話,那么他得到的利益比所需要的花費要大許多。
(2)購買支付:商家在提供服務前,要驗證用戶的身份只有合法的用戶的合法的PayWord才能被提供服務。用戶提供一個PayWord就會得到一個單位的服務。由于哈希函數的單向性,竊聽者不能從己花費的PayWord推出未花費的PayWord。由于PayWord是指定商家的,并且他也不能偽造Cu,所以竊聽者不能利用得到的PayWord從經紀人處獲得實際的支付。如果在購買支付的第一步,用戶提供會話密鑰,商家利用用戶提供的會話密鑰加密提供的服務內容,就可實現服務內容的保密性,不過協議的效率會有所損失。一般我們采取瀏覽過的內容,以后再使用時不用再交費的策略。
3.Npay評價
Npay是基于“虛借記”的,能有效地防止用戶超額消費。利用h(IDu, random)很好地隱藏了用戶的身份,保護了用戶的隱私權。象PayWord一樣,用戶沒有使用完的PayWord可以拋棄掉,不用更新;Npay使用少量的公鑰加密碼技術,不用保持和查找密鑰數據庫;為保證協議的高效性,Npay要求用戶與商家的聯系是長期的。
4.效率比較
下面以表格的形式對上述三個微支付系統的效率進行比較:
5.NPAY的系統架構
(1)從效率上考慮,NPAY采用768比特的RSA和MD5。
(2)與Web高度集成,不需要額外的通訊協議。使用捎帶技術傳送支付信息。
(3)系統架構如圖6所示。
Wallet可以是插件的形式,它負責提取PayWord和進行購買支付。支付信息附加在HTTP的GET命令中。GateWay可以是CGI,它負責對支付請求進行驗證和響應。
(4)客戶端設計要求:用戶購買信息和服務就像正常瀏覽一樣,對用戶基本沒有影響,但是在光標指向付費鏈接時,應顯示特殊的形狀,并且在狀態欄顯示提示信息。
四、結論
本文在了解微支付系統特點的基礎上,通過對PayWord協議的分析和改進,提出了一種用于解決消費者超額消費問題的NPAY模型,同原有的PayWord協議相比更實用,安全性更高,而對系統整體性能沒有影響(當消費者消費超過其信用度時,由于賣方商家同中間人的交互,會降低系統性能,但這種情況不經常發生).
參考文獻:
[1]梁敏文靜華:PayWord微支付協議分析與改進.電腦知識與技術,2006
[2]沈群力:微支付系統解決方案的研究.安徽大學學報(自然科學版),2002(03)
[3]李明柱李志江楊義先鈕心忻:基于PayWord的WWW微支付模型,北京郵電大學學報,2002(02)
[4]吳偉王九林楊波:一種適用于移動環境中的微支付協議.北京電子科技學院學報,2005(12)
[5]郎為民:微支付協議研究.華中科技大學博士學位論文2005
[6]楊茂云:密碼技術及其在電子支付中的應用.西南交通大學碩士畢業論文,2003
注:本文中所涉及到的圖表、注解、公式等內容請以PDF格式閱讀原文。