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