基于藍(lán)牙通信技術(shù)和密鑰芯片的手機(jī)電子錢包支付系統(tǒng)
1.1 項目背景
本文引用地址:http://m.butianyuan.cn/article/201612/326318.htm藍(lán)牙(BlueTooth)是一種支持設(shè)備短距離通信的無線電技術(shù)。能在移動電話、PDA、無線耳機(jī)、筆記本電腦、相關(guān)外設(shè)等眾多設(shè)備之間進(jìn)行無線信息交換。利用藍(lán)牙技術(shù)藍(lán)牙技術(shù)能夠有效地簡化移動通信終端設(shè)備之間的通信,使數(shù)據(jù)傳輸變得更加迅速高效。
電子錢包是電子商務(wù)購物活動中常用的一種支付工具,主要適用于小額購物。在電子錢包中存放的電子貨幣,如電子現(xiàn)金,電子零錢等等。常見的電子錢包有如電話IC卡、交通乘車卡等等。
由于藍(lán)牙設(shè)備在手機(jī)中有極高的普及度,使用藍(lán)牙通信實現(xiàn)電子錢包對硬件的更新需求小,開發(fā)復(fù)雜度相對沒那么高,能夠很快的直接投入應(yīng)用。在通信過程中的安全主要依賴于加密算法。
實現(xiàn)了該系統(tǒng)之后,手機(jī)不僅僅能夠用做支付手段,而且能夠用作門禁功能。另一方便,如果在家電之后嵌入藍(lán)牙設(shè)備,那么就能夠容易的實現(xiàn)一臺手機(jī)與所有家電及外設(shè)通信,控制所有的家電。這樣,一臺手機(jī)實現(xiàn)購物、公交、門禁……幾乎擁有無限的可能性。
1.2設(shè)計摘要
本項目的目標(biāo)旨在實現(xiàn)一個使用手機(jī)作為支付終端的電子錢包支付系統(tǒng)。將FPGA構(gòu)建為一個密鑰芯片,利用手機(jī)中的藍(lán)牙設(shè)備作為通信手段,實現(xiàn)整一套的電子錢包系統(tǒng)。密鑰芯片通過藍(lán)牙接收手機(jī)傳送過來的錢包數(shù)據(jù),解密認(rèn)證,之后實施消費支付,然后改變錢包參數(shù),通過藍(lán)牙重寫入手機(jī)之中。整個系統(tǒng)的關(guān)鍵在于三個地方:藍(lán)牙通信的具體實現(xiàn)、交易協(xié)議的設(shè)計以及密鑰算法的安全性。
1.3 申請捐贈實驗板
Nexys3 FPGA開發(fā)板
二 方案設(shè)計
2.1 系統(tǒng)實現(xiàn)原理與需求分析
密鑰芯片系統(tǒng)需要提供兩大功能,一個是認(rèn)證,另外一個則是加密、解密數(shù)據(jù)。根據(jù)系統(tǒng)設(shè)計的需要,在FPGA外圍需要接入一個藍(lán)牙的通信設(shè)備,以便與手機(jī)藍(lán)牙設(shè)備通信、交換數(shù)據(jù)。
由于支付系統(tǒng)的商業(yè)性質(zhì),該系統(tǒng)最重要的特性就是安全性。為了實現(xiàn)系統(tǒng)的安全特性,在設(shè)計交易協(xié)議和加密算法的時候就需要有更多的考慮。以抵御非法用戶的各種攻擊,保護(hù)系統(tǒng)。
此外,系統(tǒng)需要考慮一個效率的問題。用戶愿意花費在支付或者認(rèn)證的時間是非常短的,這種非接觸式的支付必須在1秒之內(nèi)完成??紤]到藍(lán)牙的傳輸速率很高,通訊協(xié)議以及密鑰算法的耗時則是主要的瓶頸因素。
2.2 硬件資源配置與架構(gòu)
需要的硬件資源有:
具備藍(lán)牙功能的手機(jī)、Nexys3 FPGA開發(fā)板、相應(yīng)的藍(lán)牙外設(shè)
2.3 軟件架構(gòu)
軟件層次的設(shè)計,首先涉及到密鑰芯片與手機(jī)端的交換數(shù)據(jù)的過程,然后是外設(shè)(PC)控制芯片并與芯片交換數(shù)據(jù)的過程。在外設(shè)控制芯片的設(shè)計時,主要與具體的應(yīng)用有關(guān)。如果是實現(xiàn)門禁功能,可能外設(shè)只需要實現(xiàn)開門或者拒絕認(rèn)證的功能則可,如果是實現(xiàn)支付功能,則需要從外設(shè)中獲取具體的扣費信息,并返還認(rèn)證、扣費成功與否的信息給外設(shè)。同時,外設(shè)需要設(shè)定其扣費額度等信息,配置密鑰芯片的運行。
本系統(tǒng)實現(xiàn)的是電子錢包,以之為例,外設(shè)需要啟動密鑰芯片的扣費功能,令其開始接受外部的扣費請求;外設(shè)需要設(shè)定密鑰芯片的扣費額度;當(dāng)扣費成功(或者失敗)的時候,芯片需要返回該信息給外設(shè),而外設(shè)則可以做相應(yīng)的處理。
在密鑰芯片與手機(jī)端藍(lán)牙設(shè)備交換數(shù)據(jù)的時候,需要遵循一定的交易協(xié)議。由于該協(xié)議的設(shè)計和實現(xiàn)是本系統(tǒng)的核心部分,決定了整個系統(tǒng)的安全性,因此需要慎重考慮。在本申請書中先提出一個草案,此草案將在具體項目實施的過程中逐步完善,已達(dá)到所需的安全性。首先在密鑰芯片被設(shè)定為可接受請求狀態(tài),接著手機(jī)端主動發(fā)出認(rèn)證請求,之后密鑰芯片返還一段隨機(jī)明文要求其簽名。手機(jī)端簽名后發(fā)送給密鑰芯片獲得認(rèn)證。接著手機(jī)端獲得密鑰芯片返還的認(rèn)證成功的信息之后將加密過的電子錢包數(shù)據(jù)發(fā)送給密鑰芯片。芯片完成解密、扣費和加密之后將數(shù)據(jù)返回給手機(jī)端。手機(jī)端存儲芯片返回的數(shù)據(jù),并通知芯片存儲成功。整個扣費過程就此結(jié)束,接著芯片返回初始狀態(tài),等待下一次認(rèn)證請求。
下圖將給出整個業(yè)務(wù)的粗略流程圖。為了保證整個流程的安全性,在實際開發(fā)中需要使用到時間戳、唯一可識別序列號、簽名私鑰等等信息,而圖中為了描述方便,省略這些信息。而在實際的開發(fā)中,這些要素是必不可少的。
評論