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