用于移动支付的电子收据设计与实现
扫描二维码
随时随地手机看文章
一 简介
1.1 电子支付与电子收据
随着互联网以及移动终端技术的发展,手机支付技术将会越来越流行。
手机支付是指允许移动用户通过手机对所消费的商品或者服务进行账务支付的一种服务方式。移动支付产业属于新兴产业,有非常广阔的发展前景。而一旦提起移动支付,电子收据就势在必行。目前在北美,电子收据的研发已经成熟,并走向了市场。
与纸质收据相比,电子收据具有不可比拟的优势。纸质收据不但浪费资源而且制造“垃圾”,而且非常碍事,不利于保存,容易遗失或者损坏。而电子收据保存简单,只需要存储在手机的存储器中,也可以导出存储到别的存储介质中保存。使用电子收据也将非常简单,一切都是电子化的过程,用户只需要提供自身的帐号信息就能够使用票据。
一旦手机支付流行起来,就像谷歌钱包一样,电子收据将会形成一种模式。为了保证电子收据服务的可靠性和可用性,电子收据需要使用一种签名算法。这种签名算法需要快速、安全。电子签名必须具有不可抵赖性和不可仿冒性。
1.2 电子收据
本项目所实现的技术是面向移动支付服务中的一个必要环节:电子收据凭证。电子收据的核心部分是数字签名技术。使用数字签名技术需要三方的参与:可信第三方(仲裁)、商家以及消费者。所有使用电子收据服务的商家事先公布必要的签名信息(公钥)。消费者消费之后从商家获得电子收据,并从可靠的第三方获得商家的公钥,从而验证该收据的有效性。由于电子签名的不可伪造性,消费者之后能够利用可信第三方的信息和自己手机存储器上的收据信息来证明消费的单据,从而维护自己的权益。
二 基于彩虹算法的数字签名技术
2.1 数字签名介绍
数字签名是一中认证机制,它使得消息的产生着可以添加一个起签名作用的码字。通过计算消息的散列值并用产生者的私钥加密散列值来生成签名。签名保证了消息的来源和完整性。
数字签名可以用于双向认证和单向认证。双向认证使得通信的双方对相互的身份感到放心,并交换会话密钥。而单向认证的时候,接收方能够确保消息的确来源于发送方,而且发送方无法抵赖层放松的消息。
数字签名包含几个特征:签名能够验证签名者、签名日期和时间;签名能够验证被签的消息内容;签名能够由第三方仲裁,以解决争执。
一个能够应用的数字签名算法需要满足以下几个最基本的条件:产生和识别签名是容易的;伪造签名是不可能的;保存签名备份是可行的。
2.2 数字签名安全性与不可抵赖性
在本项目中,使用数字签名的作用是使电子收据的接受方(消费者)能够确认收据来源的权威性,而且使商家不能够抵赖已进行的交易,以电子票据的方式保护消费者的权益。
由于数字签名的不可伪造性,当发现争执的时候,消费者能够用保存在终端(手机)之中的消费数据中的签名,证明消费过程和权益。数字签名和普通的纸质票据具有同样的法律效力,且数字签名具有易携性和非易失性的特点,必会在将来得到大规模的应用。
2.3 签名的过程
在本项目签名的过程中涉及到商家(发送方),消费者(接收方),可能还涉及到第三方仲裁者。我们假设商家已经将其公钥公布出去。当消费者进行消费的时候,已经其公钥了。那么,当需要产生一个签名票据的时候,商家将票据信息(时间日期商品数量价格厂家名字等等)做一个HASH,得到一个固定字长的序列,假设为M,然后用其私钥对该M进行加密,即得到S=Eprivate(H(M))。然后将其发送给接收方。接收方就可以保存。