你的位置:首頁 > 測試測量 > 正文

獨家解讀:移動支付的電子收據(jù)的設計

發(fā)布時間:2015-01-09 責任編輯:echolady

【導讀】隨著移動終端技術的涌現(xiàn),手機支付技術越來越時髦,手機支付也成為了財務支付的服務方式之一。雖然手機支付是新興產(chǎn)業(yè),但是電子收據(jù)已經(jīng)趨于成熟,移動支付產(chǎn)業(yè)前景大好。與紙質收據(jù)相比,電子收據(jù)具備明顯優(yōu)勢。

電子收據(jù)

本項目所實現(xiàn)的技術是面向移動支付服務中的一個必要環(huán)節(jié):電子收據(jù)憑證。電子收據(jù)的核心部分是數(shù)字簽名技術。使用數(shù)字簽名技術需要三方的參與:可信第三方(仲裁)、商家以及消費者。所有使用電子收據(jù)服務的商家事先公布必要的簽名信息(公鑰)。消費者消費之后從商家獲得電子收據(jù),并從可靠的第三方獲得商家的公鑰,從而驗證該收據(jù)的有效性。由于電子簽名的不可偽造性,消費者之后能夠利用可信第三方的信息和自己手機存儲器上的收據(jù)信息來證明消費的單據(jù),從而維護自己的權益。

基于彩虹算法的數(shù)字簽名技術

1、數(shù)字簽名介紹

數(shù)字簽名是一中認證機制,它使得消息的產(chǎn)生著可以添加一個起簽名作用的碼字。通過計算消息的散列值并用產(chǎn)生者的私鑰加密散列值來生成簽名。簽名保證了消息的來源和完整性。

數(shù)字簽名可以用于雙向認證和單向認證。雙向認證使得通信的雙方對相互的身份感到放心,并交換會話密鑰。而單向認證的時候,接收方能夠確保消息的確來源于發(fā)送方,而且發(fā)送方無法抵賴層放松的消息。

數(shù)字簽名包含幾個特征:簽名能夠驗證簽名者、簽名日期和時間;簽名能夠驗證被簽的消息內(nèi)容;簽名能夠由第三方仲裁,以解決爭執(zhí)。

一個能夠應用的數(shù)字簽名算法需要滿足以下幾個最基本的條件:產(chǎn)生和識別簽名是容易的;偽造簽名是不可能的;保存簽名備份是可行的。

2、數(shù)字簽名安全性與不可抵賴性

在本項目中,使用數(shù)字簽名的作用是使電子收據(jù)的接受方(消費者)能夠確認收據(jù)來源的權威性,而且使商家不能夠抵賴已進行的交易,以電子票據(jù)的方式保護消費者的權益。
由于數(shù)字簽名的不可偽造性,當發(fā)現(xiàn)爭執(zhí)的時候,消費者能夠用保存在終端(手機)之中的消費數(shù)據(jù)中的簽名,證明消費過程和權益。數(shù)字簽名和普通的紙質票據(jù)具有同樣的法律效力,且數(shù)字簽名具有易攜性和非易失性的特點,必會在將來得到大規(guī)模的應用。

3、簽名的過程

在本項目簽名的過程中涉及到商家(發(fā)送方),消費者(接收方),可能還涉及到第三方仲裁者。我們假設商家已經(jīng)將其公鑰公布出去。當消費者進行消費的時候,已經(jīng)其公鑰了。那么,當需要產(chǎn)生一個簽名票據(jù)的時候,商家將票據(jù)信息(時間日期商品數(shù)量價格廠家名字等等)做一個HASH,得到一個固定字長的序列,假設為M,然后用其私鑰對該M進行加密,即得到S=Eprivate(H(M))。然后將其發(fā)送給接收方。接收方就可以保存M||S作為電子票據(jù)。

那么如何驗證發(fā)送方的簽名呢?消費者只需要計算S1=Epublic(S),然后計算S2 =H(M),再判斷S1與S2是否相等即可。相等則簽名的驗證通過,否則不通過。

4、彩虹算法

彩虹算法是一種多變量公鑰密鑰體制的簽名算法。多變量密碼體制(MPKC)被認為是能夠抵御基于量子計算機攻擊的新型公鑰密碼體制之一。其基本理論依據(jù)是基于求解有限域上的一組隨機選擇的非線性方程組的困難性。這是一個NP難問題,即使是使用量子計算機也不會減少破解其的困難性。彩虹算法被認為是MPKC體系發(fā)展至今,一個公認的安全可靠的簽名算法。彩虹算法是基于油醋算法的變形,其可以理解為多層的非平衡油醋。而油醋多項式的特征是:油變量僅以線性形式出現(xiàn)的二次多項式。當簽名者隨機選取醋變量的值后,通過求解多元一次方程組即可得出簽名信息。而驗證者只需做簡單的算術運算即可驗證簽名是否正確。簽名和驗證的過程都效率都十分高。同時,在彩虹體系中,公鑰是油醋變量混合在一起的非線性方程,具有很高的安全性。

系統(tǒng)整體架構與工作流程

1、軟件架構

商家PC端手機發(fā)送商品以及交易信息到FPGA開發(fā)板,開發(fā)板上實現(xiàn)彩虹簽名算法,開發(fā)板對商品信息做了簽名之后,通過藍牙將電子收據(jù)發(fā)送到手機Android端。Android手機在藍牙端接收到電子收據(jù)后,從第三方獲取公鑰,并在本地驗證電子收據(jù)簽名的有效性。有效則交易完成,否則可重新要求商家簽發(fā)電子收據(jù)。

2、硬件架構

PC端通過藍牙與FPGA板塊通信,實現(xiàn)交易信息的發(fā)送。FPGA板通過藍牙與手機android端通信,實現(xiàn)簽名完成后的電子收據(jù)的發(fā)送。

3、系統(tǒng)工作數(shù)據(jù)流

首先商家向權威第三方注冊,公布自己的公鑰。在交易之后,商家首先將交易信息(時間、商品、數(shù)量和價格等等信息)以及自己的私鑰發(fā)送到FPGA板上,FPGA板對交易信息做簽名,連同商品信息一道,作為電子收據(jù),通過藍牙通信發(fā)送到移動android終端。移動終端從第三方獲取公鑰信息,并在手機本地做簽名的驗證。驗證通過則保存該電子收據(jù)作為交易憑證,交易過程結束。

而當發(fā)生糾紛消費者需要維權的時候,由于可信的第三方保存著商家的公鑰,而擁有公鑰的實體都可以進行電子收據(jù)簽名的認證。是商家不能抵賴電子收據(jù)所表示的進行過的電子交易。

具體實現(xiàn)

1、藍牙通信的實現(xiàn)


本項目的藍牙是使用HC-05嵌入式藍牙串口通訊模塊實現(xiàn)的。fpga開發(fā)板通過控制藍牙串口通信模塊,使用AT指令與手機android端進行數(shù)據(jù)交換。手機android端在與fpga板成功對接之后,利用藍牙通信技術與fpga板子通信。從fpga板子上獲取經(jīng)過電子簽名之后的電子收據(jù)。

2、密鑰芯片的實現(xiàn)

本項目的核心模塊是密鑰模塊。即使為電子收據(jù)做簽名的硬件模塊。使用verilogHDL語言實現(xiàn),并生成為一個IP核。使用開發(fā)板上的microblaze核來實現(xiàn)所有的邏輯業(yè)務,將實現(xiàn)彩虹簽名算法的ip核作為一個被調(diào)用的模塊添加進來。

相關閱讀:

智能家居市場ZigBee/WiFi/藍牙三足鼎立,誰能稱霸?
實用電路匯總:藍牙耳機及其放大電路的設計
“藍牙技術聯(lián)盟”的全面揭秘

要采購開發(fā)板么,點這里了解一下價格!
特別推薦
技術文章更多>>
技術白皮書下載更多>>
熱門搜索
?

關閉

?

關閉