具体实施方式
下面结合附图对本发明的具体实施方式进行说明。
本发明提供一种远程管理电子钱包状态的系统。
在目前的有条件接收广播系统中,分别对发送端和终端进行改造,即可实现广播的远程管理电子钱包状态的系统。
结合图1对该系统进行介绍。
服务运营支撑系统(BOSS)将生成的对终端电子钱包的管理命令发送给发送端,发送端组装电子钱包状态信令并交给发送端的加密授权模块进行发送;电子钱包信令经过广播信道发送到各个终端;终端的加密授权模块接收该电子钱包信令,终端解析执行该电子钱包信令完成对电子钱包状态的管理。具体来说,远程管理电子钱包状态的系统包括:发送端、广播信道和终端,其中发送端包括:
报文组装模块,用于根据获得的管理命令,按照报文格式组装电子钱包信令。发送端报文组装模块获得的管理命令可以是由业务运营支撑系统(BOSS)生成,也可以是在其他计算机上单独生成管理命令文件通过拷贝、网络等方式传送到发送端的报文组装模块中。
加密处理模块,用于选择密钥和算法对电子钱包信令进行加密处理。为保证信息传递的安全性,减少被破解的概率,可以使用非固定的密钥和算法,例如:多密钥和固定算法、固定密钥和多算法以及多密钥和多算法等多种方式。
发送模块,用于将经过加密处理的电子钱包信令通过广播信道进行发送;发送模块可以包括在服务端的加密授权模块中,将需要发送的电子钱包信令与其他信号一起通过授权管理信息(EMM)进行发送。
终端利用现有技术中的加密授权模块通过广播信道接收包含电子钱包信令的信息,为实现对终端电子钱包状态的管理,还要包括以下模块:
密钥算法模块,存储有与发送端对应的密钥和算法;
电子钱包模块,存储电子钱包以及电子钱包的状态;
解密解析模块,利用存储的密钥和算法将接收到的加密电子钱包信令解密并解析电子钱包信令;
状态维护模块,根据电子钱包信令内容维护电子钱包状态。
发送端加密处理模块存储的和终端密钥算法模块存储的发送端对应的密钥至少为两个和/或算法至少为两个,以保证加密的安全性,提高被破解的难度。
电子钱包信令由报文头和信令载荷组成,报文头包括加密参数和信令载荷长度,加密参数记录加密处理模块加密时所使用的密钥和/或算法;信令载荷包括信令类型、被管理的电子钱包标识、被管理的对象标识和管理动作,还可以包括用于验证信令合法性的随机数和消息认证码,以实现对电子钱包各个状态的管理。
发送端电子钱包信令生成过程为:发送端报文组装模块选择密钥和算法,加密处理模块生成随机数,利用密钥和随机数计算消息认证码,计算消息认证码时,可以利用二级密钥体系密钥、过程密钥来计算,可以更好的提高安全性,具体为:利用密钥和随机数生成过程密钥,使用过程密钥计算消息认证码;同样的道理,也可以使用一级密钥体系实现,即直接利用密钥和随机数计算消息认证码,只是安全性偏低,这种类似的变通加密方法思想基本一致。根据上述电子钱包信令载荷报文格式,报文组装模块组装信令载荷,加密处理模块使用选择的密钥和算法加密所述的信令载荷,并根据报文格式,报文组装模块将报文头和经过加密的信令载荷组装信令报文并发送给发送模块。
终端接收到电子钱包信令后,解密解析模块解析电子钱包信令的报文头,根据加密参数从密钥算法模块获得加密时使用的密钥和/或算法,解密信令载荷;解析解密后的信令载荷中的被管理电子钱包标识,与自身标识比对,比对错误丢弃该信令;解析信令载荷中的随机数和消息认证码,利用密钥、随机数和消息认证码进行信令合法性比对,比对错误丢弃该信令,具体比对方法有多种,如:按照与发送端对应的过程,利用密钥和随机数计算消息认证码,并与信令载荷中的消息认证码进行比对;或按照与发送端对应的过程,利用密钥和消息认证码计算随机数,并与信令载荷中的随机数进行比对;状态维护模块根据信令载荷中的信令类型、被管理对象标识和管理动作,对应更新电子钱包的状态。
电子钱包信令包括钱包状态管理信令、增值方式管理信令和钱包密钥管理信令三种信令类型,由信令载荷中的信令类型唯一标识;最佳的,三种类型的电子钱包信令具有相同的长度,以实现管理上的便利性。
终端电子钱包模块存储的电子钱包状态包括下述状态的任意组合:钱包的消费状态、增值状态、在线圈存增值状态、智能充值卡增值状态、充值码增值状态、EMM充值增值状态以及记录在密钥存储文件中的钱包密钥状态,这些状态与电子钱包信令中的被管理对象标识对应,均可以通过信令内容进行维护。
终端还具有交易状态检查模块,在终端利用电子钱包进行数据处理时,检查电子钱包对应的状态,根据状态的有效性,决定是否进行该数据处理。
利用本实施例,可以方便的实现对终端电子钱包的远程管理。
为方便的实现对电子钱包的管理,以及提高电子钱包管理的安全性和破解难度,本发明还提供一种实现远程管理电子钱包状态的装置,即将如图1所示的上述终端的密钥算法模块、解密解析模块、状态维护模块独立出来,封装于一个具有安全运算能力的设备中,如智能卡、嵌入式安全模块、MMC接口安全设备、SD接口安全设备或USB接口安全设备等,使用时,将该装置连接于终端设备上,当然嵌入式安全模块也可以直接内嵌于终端中,即可方便的实现对电子钱包的远程管理。例如,终端可以是可以进行有条件接收的各种移动终端:手机、PDA、笔记本等,将该装置通过相应的接口与终端连接,即可实现对终端的电子钱包的管理。为保证电子钱包的安全性,减少被破解的概率,也可以将电子钱包模块封装于该装置中。较优的,为保证利用电子钱包进行数据处理时,都涉及到个人电子货币的安全性,为减少数据处理时安全性检查被攻击的概率,装置中还具有交易状态检查模块,在利用电子钱包进行数据处理时,检查电子钱包对应的状态,根据状态的有效性,决定是否进行该数据处理。装置中涉及的各模块的相互关系和功能与终端中各模块的相互关系和功能相同,在此就不作赘述。
下面结合附图对本发明实施例的具体工作原理进行介绍
图2示出了本发明实施例远程管理电子钱包状态的工作流程。
步骤101:生成对终端电子钱包的管理命令
管理命令可以是由服务运营支撑系统统一生成并进行传递,也可以是单独生成的一组管理命令,依据管理命令进行电子钱包信令的组装。
管理命令,包括终端寻址标识、管理命令类型、被管理的电子钱包标识、被管理的对象标识和管理动作;其中,终端寻址标识用于广播信道寻址使用,其它内容用于电子钱包信令的封装。
管理命令类型包括三种类型,钱包状态管理信令、增值方式管理信令、和钱包密钥管理信令。
被管理的电子钱包标识:用来判定该管理命令对哪个终端生效。
被管理的对象标识:与命令类型共同决定信令对电子钱包中的哪一个对象进行管理。
管理动作:对被管理的对象进行管理,如使电子钱包的各项状态生效/失效,修改钱包中各种密钥,管理钱包进行充值实现增值方式的生效/失效。
步骤102:发送端报文组装模块根据管理命令,按照报文格式组装电子钱包信令,加密处理模块选择密钥和/或算法进行加密处理;
电子钱包信令由报文头和信令载荷组成。表1表示了电子钱包信令的具体报文编码格式。
说明 |
长度(字节) |
取值 |
保留 |
2 |
缺省为0xFF FF |
加密参数 |
2 |
第一字节:密钥索引;第二字节:算法标识,取值参见表2。 |
载荷长度 |
1 |
字节数,载荷长度相同,Lc=0x20。 |
信令类型 |
1 |
取值参见表3。 |
数据 |
Lc-1 |
数据格式取值参见各子类型描述。 |
表1电子钱包信令的具体报文编码格式
报文头包括加密参数和信令载荷长度;加密参数分别记录加密时使用的密钥的索引和/或算法的标识,算法可以预先定义,如表2所示,算法标识0X01代表使用DES算法,算法标识0X02代表使用Tri-DES算法,算法标识0X03代表使用AES算法,也可以为其他的算法,报文组装模块在组装报文时只需要在加密参数中表示出即可。当然记录的密钥参数也可以根据具体加密的方法作相应的调整,例如用固定的一个密钥和可选择的多个算法,此时密钥参数则可以只记录算法标识;同样,也可以用固定的一个算法和可选择的多个密钥,此时密钥参数则可以只记录密钥索引;当然,也可以用固定的密钥和算法,但是安全性相对偏低了。
算法标识 |
说明 |
0x00 |
保留 |
0x01 |
DES |
0x02 |
Tri-DES |
0x03 |
AES |
0x04~0xFF |
保留 |
表2算法标识报文编码
信令载荷包括信令类型、被管理的电子钱包标识、被管理的对象标识、管理动作、随机数和消息认证码,具体报文编码格式参见表4。其中信令类型、被管理的电子钱包标识、被管理的对象标识、管理动作(管理动作报文编码参见表5)分别与步骤101中生成的管理命令的管理命令类型、被管理的电子钱包标识、被管理的对象标识和管理动作相对应,相应的信令类型也对应分为三种:钱包状态管理信令、增值方式管理信令和钱包密钥管理信令,由该信令类型唯一标识,具体标识参加表3,为保证信令组装发送时的通用性,三种类型的电子钱包信令具有相同的长度,32字节。
三种信令类型分别实现对电子钱包中各种状态的管理。
钱包密钥管理信令,管理指定电子钱包中对应的各种类型的密钥,如:圈存密钥、充值密钥、消费密钥等。被管理的密钥由信令载荷中2字节的管理对象标识唯一确定;其中,高位字节标识密钥类型,低位字节标识密钥索引,反之亦可。
增值方式管理信令,管理指定电子钱包的各种可以实现增值的方式,如:在线圈存、智能充值卡充值、充值码充值、EMM充值等。被管理的增值方式由信令载荷数据中2字节的管理对象标识唯一确定。
钱包状态管理信令,管理指定电子钱包的各种钱包状态,如消费状态、增值状态等。被管理的钱包状态由信令载荷数据中2字节的管理对象标识唯一确定。
子类型取值 |
说明 |
0x00 |
保留 |
0x01 |
密钥管理 |
0x02 |
增值方式管理 |
0x03 |
钱包状态管理 |
0x04~0xFF |
保留 |
表3信令类型标识
|
(字节) |
|
电子钱包标识 |
8 |
被管理的电子钱包标识 |
管理对象标识 |
2 |
被管理的对象标识 |
管理动作 |
1 |
取值参见管理动作表 |
保留 |
12 |
取值为0xFF…FF |
随机数 |
4 |
由发送端产生的4字节随机数 |
MAC |
4 |
与随机数相关的4字节消息验证码 |
表4信令载荷报文编码
管理动作取值 |
说明 |
0x00 |
生效 |
0x01 |
失效 |
0x02~0xFF |
保留 |
表5管理动作报文编码
随机数和消息认证码用来验证此信令的合法性,具体实现方法后面描述。
为保证信令的安全性,电子钱包信令的信令载荷部分是经过加密处理模块加密的,加密使用的密钥和/或算法由发送端报文组装模块或者加密处理模块确定,并记录在报文头的加密参数中。电子钱包信令具体报文编码格式如图3所示。
电子钱包信令由报文头和信令载荷组成,其中报文头为明文,信令载荷为密文,报文头包括2字节的加密参数、1字节的载荷长度,另外为后续通讯扩展可以保留2字节,加密参数记录对信令载荷进行加密时所使用的密钥索引和/或算法标识,以方便终端能够依照加密参数解密信令载荷;信令载荷包括1字节的信令类型和31字节的数据,根据数据进行电子钱包的管理,数据内容具体可以包括被管理的电子钱包标识、被管理的对象标识和管理动作,还可以包括用于验证信令合法性的随机数和消息认证码。
下面结合图4详细说明步骤102如何生成电子钱包信令:
301报文组装模块解析管理命令的具体内容,获得信令类型、被管理的电子钱包标识、被管理的对象标识、管理动作;
302报文组装模块或者加密处理模块选择密钥和算法,加密处理模块生成随机数;
303加密处理模块利用密钥和随机数计算消息认证码;
计算消息认证码时,可以利用二级密钥体系密钥、过程密钥来计算,可以更好的提高安全性,具体为:利用密钥和随机数生成过程密钥,使用过程密钥计算消息认证码;同样的道理,也可以使用一级密钥体系实现,即直接利用密钥和随机数计算消息认证码,只是安全性偏低,这种类似的变通加密方法思想基本一致。
下面介绍一下利用二级密钥体系计算消息认证码:
消息认证码(MAC)由过程密钥SK对表6数据,使用密钥和约定的MAC生成算法进行加密,取加密结果的高位4字节作为MAC。
数据 |
长度(字节) |
取值 |
电子钱包标识 |
8 |
- |
管理对象标识 |
2 |
- |
管理动作 |
1 |
- |
Padding |
5 |
0x80 00 00 00 00 |
表6消息认证码计算参数
过程密钥SK的计算:
使用密钥对包括随机数的表7数据,使用约定的过程密钥生成算法,加密生成的16字节的过程密钥SK。
|
(字节) |
|
随机数 |
4 |
- |
Padding |
12 |
0x8000…00 |
表7过程密钥SK计算参数
304根据电子钱包信令载荷报文格式,报文组装模块组装信令载荷;
305加密处理模块使用选定密钥和算法加密信令载荷,报文组装模块根据报文格式,组装信令报文。
报文组装模块组装报文时,需要将加密使用的密钥索引和算法标识记录在报文的加密参数中,计算出信令的长度,记录在报文的信令长度中,并把上述加密得到的信令载荷组装到信令中。
步骤103:发送端发送模块通过广播信道将电子钱包信令发送到终端;
广播信道是指有条件接收系统中逻辑上的授权管理信息(EMM)通道,是通过发送端的加密授权模块对多个终端的加密授权模块广播发送的可寻址逻辑通道。
步骤104:终端解密解析模块利用密钥和算法解密并解析电子钱包信令,状态维护模块根据信令内容维护电子钱包状态。
电子钱包的状态主要包括下述状态:钱包的消费状态、增值状态、在线圈存增值状态、智能充值卡增值状态、充值码增值状态、EMM充值增值状态以及记录在密钥存储文件中的钱包密钥状态,这些状态与电子钱包信令中的被管理对象标识对应,均可以通过信令内容进行维护。
终端解密解析模块根据电子钱包信令中被管理的电子钱包标识来判定该电子钱包信令是否对其生效。
结合图5对步骤104进行详细描述,具体为:
401解密解析模块解析电子钱包信令的报文头,根据加密参数确定密钥和/或算法;
402解密解析模块从密钥算法模块中调用确定的密钥和算法解密电子钱包信令载荷;
403解密解析模块解析信令载荷中的被管理电子钱包标识,与自身标识比对,比对错误丢弃该信令;
404解密解析模块解析信令载荷中的随机数和消息认证码,利用随机数、密钥和消息认证码进行信令合法性验证。
验证方法可以有多种,如:按照与发送端对应的过程,利用密钥和随机数计算消息认证码,并与信令载荷中的消息认证码进行比对;或按照与发送端对应的过程,利用密钥和消息认证码计算随机数,并与信令载荷中的随机数进行比对,比对错误丢弃该信令。利用随机数、密钥和消息认证码进行信令合法性验证的方法有多种,在此不一一列举。
需要说明的是步骤403是为了判断接收到的信令是否对该终端的电子钱包生效,步骤404是为了判断接收到的信令是否是合法的,均是为了保证信令对终端电子钱包状态修改的安全性,先进行任何一种判断均可,没有先后之分。
405状态维护模块解析信令载荷中的信令类型、被管理对象标识和管理动作,更新电子钱包状态。
通过上述系统可以方便的实现远程管理电子钱包状态,从而方便各项业务的开展和管理。终端的电子钱包在进行各种数据业务处理时,检查电子钱包对应于该数据处理的状态,根据状态的有效性,决定是否执行该数据处理。
本发明提供对电子钱包状态的远程管理系统和装置,利用本发明能在广播领域中方便的实现有条件接收系统电子钱包的远程管理,为利用电子钱包开展各项业务提供了便利,方便的解决了现在有条件接收方式下引入电子钱包所带来的管理不便问题,使终端电子钱包的管理更全面更迅速。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。