发明内容
本发明的目的是提供一种基于智能卡的电子票实现方法及***,实现基于智能卡的服务凭证出具,以及验票过程的安全性,用于唯一性的证明交易和服务的存在。
本发明的技术方案包括:
一种基于智能卡的电子票实现方法,其中,包括验证电子票的过程步骤如下:
A、验票终端向持票人的移动终端发送读票命令及一终端随机数;
B、所述移动终端查找所存储的电子票记录,并以出票方验票密钥、卡代码、及所述终端随机数生成过程密钥,用该过程密钥以电子票、终端随机数计算第一校验信息MAC1;所述移动终端向验票终端发送电子票的唯一标识码、票据信息、第一校验信息、出票方代码和卡代码发送给所述验票终端;
C、所述验票终端根据票据信息,合成电子票,计算过程密钥,并验证第一校验信息是否合法,如合法则验票通过。
所述的方法,其中,还包括写票操作的步骤如下:
D、验票终端用过程密钥以电子票的唯一标识码、写票操作命令为输入计算第二校验信息MAC2,并向持票人的移动终端发送该操作命令和第二校验信息MAC2;
E、所述移动终端在收到后验证所述第二校验信息MAC2,如正确则执行写票的操作命令,并用所述过程密钥对执行结果计算出电子票执行信息,同时向所述验票终端反馈执行结果和电子票执行信息。
所述的方法,其中,还包括以下电子票生成步骤:
F、移动终端通过购票终端将持票人信息、购票信息以及购票签名用出票方的公钥加密生成购票密文,并发送给出票方网络设备;
G、出票方收到该购票密文后,用出票方的私钥解密并验证所述购票终端是否合法,如正确则再次使用出票方公钥加密生成二次购票密文,并发送给售票方网络设备;
H、所述售票方网络设备收到该二次购票密文,并用出票方私钥解密,并验证出票方是否合法,如正确则根据购票信息查询有效票源,并得到票证的唯一标识码及票据信息;
I、所述售票方网络设备使用出票方的公钥加密生成中间出票密文,并发送给出票方网络设备;
J、所述出票方网络设备收到该中间出票密文,并采用所述出票方私钥解密,生成电子票。
所述的方法,其中,还包括电子票的下载过程包括:
K、所述出票方网络设备采用持票人的公钥对所述电子票进行加密生成出票密文,并持票人的移动终端验证通过后向其移动终端发送;
L、所述移动终端在收到所述出票密文后用持票人的私钥解密并验证其出票签名是否合法,如正确则在所述智能卡中存储所述电子票。
所述的方法,其中,所述步骤K中还包括:
K1、所述出票方网络设备生成电子票下载初始化命令,并签名后发送给持票人的移动终端;
K2、所述移动终端在收到该电子票下载初始化命令后进行验证并在验证通过后生成MAC信息,以出票方的公钥进行加密并回复给所述出票方的网络设备;
K3、所述出票方网络设备在收到该MAC信息后解密并验证是否合法,如正确则向持票人的移动终端发送出票密文。
所述的方法,其中,所述电子票下载初始化命令包括:出票方代码、随机数、日期时间的信息。
所述的方法,其中,所述各网络设备之间以及与移动终端之间的数据传输采用短信、GPRS或互联网方式。
一种基于智能卡的电子票实现***,其包括至少一移动终端,和一验票终端,其中,所述移动终端中设置有智能卡,并在所述智能卡中存储有以出票方验票密钥加密的电子票,并用于向所述验票终端发送电子票的唯一标识码、票据信息、第一校验信息、出票方代码以及卡代码;
所述第一校验信息由所述移动终端以出票方验票密钥、卡代码及终端随机数生成过程密码,以及由该过程密码以电子票、终端随机数计算而得;
所述验票终端用于接收所述移动终端发送过来的票据信息,并合成电子票,计算过程密钥,并验证第一校验信息是否合法,如合法则验票通过。
所述的***,其中,还包括:一售票方网络设备,一出票方网络设备,所述移动终端用于通过购票终端将持票人信息、购票信息以及购票签名用出票方的公钥加密后生成购票密文,并发送给出票方网络设备,以及接收电子票信息;所述移动终端中设置有智能卡;
所述出票方网络设备用于接收所述购票密文,用出票方的私钥解密并验证所述购票终端是否合法,在验证正确时再次使用出票方公钥加密生成二次购票密文,并发送给售票方网络设备,以及接收所述售票方网络设备使用出票方公钥加密生成的中间出票密文,并解密生成电子票;
所述售票方网络设备用于在收到该二次购票密文后用解密并验证出票方是否合法,如正确则根据购票信息查询有效票源,并得到票证的唯一标识码及票据信息,并使用出票方公钥加密生成的中间出票密文。
本发明所提供的一种基于智能卡的电子票实现方法及***,由于采用了非对称的密钥体系以及网络加密数据传输,用来在智能卡上实现了交易或服务的存在证明,本发明电子票只能由售票人发行,指定人员购买,防止了非法伪造、非法仿造、非法复制和非法冒用;电子票的传输和存储采用不相干的两种密钥方式,保证了电子票验证和传输的安全性;电子票装载失败时,持票人可重新下载电子票,但任何人都无法复制电子票,并可使用对称密码技术或非对称密码技术进行加密及验证,是实现方式简单快捷。
具体实施方式
以下结合附图,将对本发明的各较佳实施例进行更为详细的说明。
本发明基于智能卡的电子票实现方法采用了智能卡与电子票的密钥分离机制、电子票的双密钥机制实现电子票,以保证电子票的安全,通过密钥的分级管理和分级存放实现了电子票大规模、跨***的使用,其原理如下:
1)智能卡密钥用以验证机具能否下载电子票、能否存储电子票;电子票密钥用以验证电子票是否合法,两套密钥各自分离,持票机具不接触电子票密钥,确保电子票密钥的安全;
2)电子票中包含售票方、出票方两者签名,售票方签名保证票据生成合法,出票方签名保证传输和存储合法,这两方的签名过程采用了不同的非对称密钥,保证了传输过程的安全性和合法唯一性,并可追踪其来源;而对于智能卡中所存储的电子票,通过采用售票方签名保证了电子票本身不能被智能卡修改复制;
3)售票、出票、存储票、验票两两分别认证,并以售票为中心实现密钥级联,确保电子票从生成到存储到使用的全过程安全;
4)售票方、验票方可以只对很少量的出票方认证,出票方对各自的持票人、持票机具认证,实现电子票大规模、跨***的使用。
现代密码技术根据密钥的特点分为两类:对称密码技术和非对称密码技术。对称密码技术即解密密钥和加密密钥相同,在这种***中,密钥的分发是应用中的一个难点。非对称密码技术又叫公钥密码技术,在公钥密码***中,用户有两把钥匙,一把公开(公钥),另一把用户私有(私钥),从一个难以推出另一个,通信双方无需事先交换密钥就可建立保密通信。
传统的公钥***一般都采用证书机制实现用户的身份和用户的钥匙的安全对应。证书机制一般都采用公钥基础设施(Public Key Infrastructure:PKI)技术。它综合使用了数字摘要、数字签名等多项安全技术以及一套完整的证书管理机制来提供安全服务。***需建设有公信力的认证中心(Certification Authority:CA)鉴定用户身份,然后为用户签发数字证书。数字证书安全地将用户身份和用户密钥绑定在一起。用户在业务***中先交换证书,然后使用公私钥完成用户的身份认证、访问控制、信息安全传递等操作。
为了降低公钥***中密钥管理和使用的复杂性,Shamir在1984[S84]年提出了基于标识的密码技术(Identity-Based Cryptography:IBC):即用户的标识就可以用做用户的公钥(更加准确地说是用户的公钥可以从用户的标识和***指定的一个方法计算得出)。在这种情况下,用户不需要申请和交换证书,从而简化了密码***管理的复杂性。用户的私钥由***中的一个受信任的第三方(密钥生成中心)使用标识私钥生成算法计算生成。这样的***具有天然的密码委托功能,适合于有监管的应用环境。
本发明基于智能卡的电子票实现方法具体实施例的购买电子票流程包括:
购买电子票的过程涉及到购票终端和存储电子票的智能卡终端,两者可以是同一设备,也可以不是,但两者都必须是经认证的终端。属于售票方自有的终端由售票方进行认证及安装下载有关密钥;属于第三方代理(称为出票方)的终端由出票方进行认证及安装下载有关密钥,而出票方则由售票方认证。
步骤101,购票者决定购买后,通过购票终端以持票人(ETO,ElectricTicket Owner)、购票信息为输入信息,生成购票签名。为他人购买的,购票者需提供持票人信息,如手机号码。签名可以使用对称密码技术计算MAC的技术生成,或者使用非对称密码技术的技术生成。
步骤102,购票终端用出票方公钥加密持票人ETO、购票信息、购票签名生成购票密文,并发送给出票方网络设备,如前所述,该购票终端可以与用户的带智能卡移动终端是同一个设备。发送媒介可以是短信、GPRS、互联网等。
步骤103,出票方网络设备收到购票密文后,解密,验证购票终端是否合法。正确的,使用出票方公钥对持票人ETO、购票信息、购票签名加密生成二次购票密文,并发送给售票方网络设备。如购票终端为售票方自有,此时所述出票方即为售票方。
步骤104,售票方收到二次购票密文后,解密,验证出票方是否合法。正确的,根据购票信息从***查询有效票源,如有则取到票证的唯一标识码(TID,Ticket IDentification)及票据信息(TI,Ticket Information),然后以TID、TI为输入信息,生成票据签名。
步骤105,售票方网络设备使用出票方公钥加密TID、TI、票据签名生成中间出票密文,发送给出票方网络设备。
步骤106,出票方网络设备收到该中间出票密文后,解密,使用TID、TI、出票方代码生成出票签名,生成完整的电子票ET(包括TID、TI、票据签名、出票方代码、出票签名),使用持票人ETO的公钥加密电子票ET生成出票密文。
如图1所示,以下为本发明方法中下载电子票的步骤:
步骤107,出票方网络设备生成电子票ET下载初始化命令(包括出票方代码、随机数、日期时间)签名后通过短信发给持票人ETO智能卡设备,如RF-SIM手机,即移动终端。
步骤108,持票人ETO的移动终端验证签名,以初始化命令生成MAC信息,并用出票方公钥加密以短信回复出票方的网络设备。
步骤109,出票方验证该MAC信息是否合法,如正确则向持票人ETO的移动终端发送出票密文。
步骤110,持票人ETO的智能卡设备即移动终端经过解密出票密文,并验证出票签名是否合法。如正确则在该智能卡中存储电子票ET。
上述各操作处理步骤中,在每次判断和验证是否合法时,如果不正确,则转向相应的失败处理,例如提升失败信息和原因等。本发明方法的每次数据传输发送时都采用了加密方式,而收到数据的一方设备都采用了解密和验证的方式,并且上述加密解密过程可采用非对称密钥方式,因此保证了数据传输的安全性,适合于大规模实现电子票服务凭证的购买和分发工作,而且可以大大减轻整个***的工作复杂度,提升工作效率。
如图2所示,本发明方法中验证电子票的过程步骤包括:
步骤201,验票终端向智能卡发送读票命令及一终端随机数;
步骤202,带有智能卡的移动终端检查是否有指定电子票如指定日期和指定车次的电子票,如无则返回“未找到记录”,如有则进入下一步骤;
步骤203,带有智能卡的移动终端使用出票方(含售票方自售情形,下同)验票密钥、卡代码、终端随机数生成过程密钥,用过程密钥以电子票ET、终端随机数为输入计算第一校验信息MAC1信息;
步骤204,带有智能卡的移动终端向验票终端返回唯一标识码TID、票据信息TI、MAC1、出票方代码、卡代码等信息;
步骤205,验票终端检查TI,合成电子票ET,计算过程密钥,验证MAC1信息是否合法,验证通过则视为验票通过。
步骤206,如需执行检票、改签等写票操作,则验票终端用过程密钥以TID、写票操作命令为输入计算MAC2信息,向带智能卡的移动终端发送操作命令及MAC2信息;
步骤207,带智能卡的移动终端验证MAC2信息,正确则执行写票动作,用过程密钥以执行结果为输入计算电子票执行信息TAC,并向验票终端返回执行结果及TAC。
如此,即可实现对移动终端内智能卡所存储的电子票进行验票的过程,整个验票过程中数据的传输也采用加密方式处理,保证了验票过程中的安全性和唯一性。
当需要重新下载电子票时,操作步骤如下:
首先,持票人通过带有智能卡的移动终端设备向出票方发出刷新请求;出票方验证请求的合法性后,回复当前有效的电子票列表;持票人的智能卡移动终端设备比对电子票列表与卡内的电子票,如有缺漏,则逐条发出重新下载申请;出票方在验证请求的合法性后,重新发送电子票,发送电子票的过程与前述实施例相同,在此不再赘述。
本发明基于智能卡的电子票实现方法中采用了智能卡、电子票的密钥分离机制,并对电子票采用双密钥机制,支持跨***认证的电子票生成和传递方法,可通过短信或GPRS等数据传输方式获得电子票,实现了票据的非现场发售、非纸质凭证、可靠网络传递、跨***应用,大大突破了现有票据的局限,将电子票提升到了可大范围、跨***的应用场合,对于推动票据电子化、票据实名制有很大的帮助。
以下举一实际应用购买火车票的例子说明本发明方法的应用好处:
首先,用户在手机钱包STK菜单上选择“订购火车票”,输入火车票日期和车次,手机将其按格式如20090808T108组织加上随机数,以私钥加密成带有身份认证的密文,通过短信发送到手机钱包中心;
其次,手机钱包中心以用户公钥验证身份,向火车票售票***发送购票请求,火车票售票***验证手机钱包中心的报文,查找是否还有所需的车票,如有则得到车票号、车票票面信息,并对以上信息签名,用钱包中心的公钥加密后发给手机钱包中心;
第三,手机钱包中心解密报文,对车票信息签名,生成一张含有车票号、车票票面信息、火车票售票***签名、钱包中心签名的电子火车票;
第四,手机钱包中心将电子火车票以用户公钥加密后,通过短信发送到用户手机;
第五,用户手机解密后存储电子火车票;
第六,在登车检票时,用户使用手机直接在车站电子终端进行验证刷卡,手机中的电子票即完成检票。
须说明的是,上述手机必须是具有智能卡功能的手机终端,例如具有手机钱包功能。如果在票据签名中加入身份信息,如身份证号等,则可以实现票据实名制;如果售票方与出票方为同一利益共同体,可以省略出票签名,由此简化票据结构;在移动终端下载电子票的环节,除短信外,也可以是其他如GPRS等传输方式。而在下载电子票的环节,可简化为无需初始化而直接下载电子票。
本发明所述基于智能卡的电子票实现***中,其至少包括一移动终端,用来发出票据请求,如图3所示,该票据请求需要用出票方的公钥进行加密;出票方在收到该加密后的票据请求后,用出票方的私钥进行解密,再将数据通过购票***的公钥加密后发送给购票***;该购票***生成电子票信息后用出票方的公钥加密后发送给对应的出票方;该出票方在收到该电子票,并解密验证正确后,生成并存储电子票信息;所述移动终端从所述出票方下载电子票数据后保存到本地的智能卡中。同时还设置一验票终端,在移动终端到达现场入场时,通过所述验票终端与所述移动终端的数据交互实现数据的验证,在验票过程中通过非对称加密解密过程对中间数据进行处理,以保证数据的安全性。
应当理解的是,对本领域普通技术人员来说,可以根据上述说明加以改进或变换,而所有这些改进和变换都应属于本发明所附权利要求的保护范围。