DIY编程器网

 找回密码
 注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 1084|回复: 0
打印 上一主题 下一主题

[待整理] 基于蓝牙通信技术和密钥芯片的手机电子钱包支付系统

[复制链接]
跳转到指定楼层
楼主
发表于 2015-4-27 08:05:24 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
项目概述
        1.1 项目背景
        蓝牙(BlueTooth)是一种支持设备短距离通信的无线电技术。能在移动电话、PDA、无线耳机、笔记本电脑、相关外设等众多设备之间进行无线信息交换。利用蓝牙技术蓝牙技术能够有效地简化移动通信终端设备之间的通信,使数据传输变得更加迅速高效。
         
        电子钱包是电子商务购物活动中常用的一种支付工具,主要适用于小额购物。在电子钱包中存放的电子货币,如电子现金,电子零钱等等。常见的电子钱包有如电话IC卡、交通乘车卡等等。
         
        由于蓝牙设备在手机中有极高的普及度,使用蓝牙通信实现电子钱包对硬件的更新需求小,开发复杂度相对没那么高,能够很快的直接投入应用。在通信过程中的安全主要依赖于加密算法。
         
        实现了该系统之后,手机不仅仅能够用做支付手段,而且能够用作门禁功能。另一方便,如果在家电之后嵌入蓝牙设备,那么就能够容易的实现一台手机与所有家电及外设通信,控制所有的家电。这样,一台手机实现购物、公交、门禁……几乎拥有无限的可能性。
         
        1.2设计摘要
        本项目的目标旨在实现一个使用手机作为支付终端的电子钱包支付系统。将FPGA构建为一个密钥芯片,利用手机中的蓝牙设备作为通信手段,实现整一套的电子钱包系统。密钥芯片通过蓝牙接收手机传送过来的钱包数据,解密认证,之后实施消费支付,然后改变钱包参数,通过蓝牙重写入手机之中。整个系统的关键在于三个地方:蓝牙通信的具体实现、交易协议的设计以及密钥算法的安全性。
         
        1.3 申请捐赠实验板
        Nexys3 FPGA开发板
         
        方案设计
        2.1 系统实现原理与需求分析
        密钥芯片系统需要提供两大功能,一个是认证,另外一个则是加密、解密数据。根据系统设计的需要,在FPGA外围需要接入一个蓝牙的通信设备,以便与手机蓝牙设备通信、交换数据。
         
        由于支付系统的商业性质,该系统最重要的特性就是安全性。为了实现系统的安全特性,在设计交易协议和加密算法的时候就需要有更多的考虑。以抵御非法用户的各种攻击,保护系统。
         
        此外,系统需要考虑一个效率的问题。用户愿意花费在支付或者认证的时间是非常短的,这种非接触式的支付必须在1秒之内完成。考虑到蓝牙的传输速率很高,通讯协议以及密钥算法的耗时则是主要的瓶颈因素。
         
        2.2 硬件资源配置与架构
        需要的硬件资源有:
        具备蓝牙功能的手机、Nexys3 FPGA开发板、相应的蓝牙外设
         
       

        2.3 软件架构
        软件层次的设计,首先涉及到密钥芯片与手机端的交换数据的过程,然后是外设(PC)控制芯片并与芯片交换数据的过程。在外设控制芯片的设计时,主要与具体的应用有关。如果是实现门禁功能,可能外设只需要实现开门或者拒绝认证的功能则可,如果是实现支付功能,则需要从外设中获取具体的扣费信息,并返还认证、扣费成功与否的信息给外设。同时,外设需要设定其扣费额度等信息,配置密钥芯片的运行。
         
        本系统实现的是电子钱包,以之为例,外设需要启动密钥芯片的扣费功能,令其开始接受外部的扣费请求;外设需要设定密钥芯片的扣费额度;当扣费成功(或者失败)的时候,芯片需要返回该信息给外设,而外设则可以做相应的处理。
         
       

         

        在密钥芯片与手机端蓝牙设备交换数据的时候,需要遵循一定的交易协议。由于该协议的设计和实现是本系统的核心部分,决定了整个系统的安全性,因此需要慎重考虑。在本申请书中先提出一个草案,此草案将在具体项目实施的过程中逐步完善,已达到所需的安全性。首先在密钥芯片被设定为可接受请求状态,接着手机端主动发出认证请求,之后密钥芯片返还一段随机明文要求其签名。手机端签名后发送给密钥芯片获得认证。接着手机端获得密钥芯片返还的认证成功的信息之后将加密过的电子钱包数据发送给密钥芯片。芯片完成解密、扣费和加密之后将数据返回给手机端。手机端存储芯片返回的数据,并通知芯片存储成功。整个扣费过程就此结束,接着芯片返回初始状态,等待下一次认证请求。
         
        下图将给出整个业务的粗略流程图。为了保证整个流程的安全性,在实际开发中需要使用到时间戳、唯一可识别序列号、签名私钥等等信息,而图中为了描述方便,省略这些信息。而在实际的开发中,这些要素是必不可少的。
         
       
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友 微信微信
收藏收藏 分享分享 支持支持 反对反对
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|文字版|手机版|DIY编程器网 ( 桂ICP备14005565号-1 )

GMT+8, 2024-12-27 16:06 , 耗时 0.089035 秒, 21 个查询请求 , Gzip 开启.

各位嘉宾言论仅代表个人观点,非属DIY编程器网立场。

桂公网安备 45031202000115号

DIY编程器群(超员):41210778 DIY编程器

DIY编程器群1(满员):3044634 DIY编程器1

diy编程器群2:551025008 diy编程器群2

QQ:28000622;Email:libyoufer@sina.com

本站由桂林市临桂区技兴电子商务经营部独家赞助。旨在技术交流,请自觉遵守国家法律法规,一旦发现将做封号删号处理。

快速回复 返回顶部 返回列表