实现非结构化补充数据业务中数据安全传输的方法及系统
技术领域
本发明涉及数字移动通讯领域的USSD业务,尤其涉及一种应用USSD技术实现业务菜单管理和数据传输的方法及系统。
背景技术
为了吸引新的用户,移动领域的竞争重点已从网络覆盖逐步转向业务竞争。目前移动通信公司已经引入了提供预付费业务的移动智能网,提供手机银行、一点通、信息点播(包括SIM卡)业务的短消息平台(SMS),提供手机上网业务的WAP平台,以及USSD业务。
USSD(Unstructured Supplementary Service Data)即非结构化补充数据业务,是一种基于GSM网络的新型交互式数据业务,它是在GSM的短信系统技术基础上推出的新业务,可以提供证券交易、信息查询、移动银行、收发电子邮件、网上订票等等业务。
图1是常用的USSD系统结构示意图,如图所示,USSD节点机(或者叫USSD服务器)10一方面通过7号信令与GSM系统11相连,一方面通过以太网与应用服务器12、USSD处理服务器13及数据管理终端14相连,应用服务器12则提供各种应用接口,与股票交易所、银行等应用中心连接在一起。该业务直接使用7号信令信道实现USSD节点机与GSM手机的数据交互,并借助USSD处理服务器实现与应用服务器的业务数据交互。
虽然USSD系统与SMS平台的应用范围相似,但7号信令的数据传输速度明显快于短信。USSD在会话过程中一直保持无线连接,提供透明通道,而SMS在物理承载层没有会话通道,只是一个存储转发系统,用户完成一次查询需要进行多次会话过程。因此USSD的响应速度更快,一定程度上缓解了短信交互存在的时延性问题,特别适合于端到系统的交互。使用USSD技术,还可以在服务器端对服务内容进行调整,方便地修改菜单。
使用7号信令信道实现USSD节点机与手机的业务数据交互,首先必须建立USSD呼叫。图2是应用USSD技术进行数据交互的流程,业务菜单全部预置在USSD节点机中,由USSD节点机下发给手机并由手机显示给用户;该过程包括以下步骤:
步骤100,用户建立USSD呼叫;在该步骤中,用户用手机拨一特定号码(如“#10#”)向GSM发起接入请求,其中包含IMSI或TMSI号码,GSM将MS接入USSD接点机,在接入过程中可进行鉴权;
步骤101,USSD节点机和手机之间进行菜单交互,直到用户完成对最终菜单的操作;在该步骤中,先由USSD节点机通过GSM网络向手机发主菜单,并由手机显示给用户,用户选择菜单选项并将选择结果发送给USSD节点机,USSD节点机再发回用户选择的菜单,供用户进行下一次的菜单选择或数据输入,菜单的选择一次一交互。
步骤102,结束USSD呼叫;在该步骤中,USSD节点机接到最终菜单数据后,通知GSM网USSD呼叫结束,USSD呼叫拆线。
上续过程完成后,USSD节点机将所接收的数据整合,并发送给相应的应用服务器处理。
但是,在上述流程中的USSD呼叫期间,手机只能与USSD节点机交互,而无法与SIM卡(Subscriber Identify Module,用户身份识别模块)进行数据交互。使得手机与USSD节点机之间的交互只能采取明文传送,当需要SIM卡对关键数据进行加解密,并实现密文数据传输时(如传输转账金额、取款密码、转账账号等信息),单纯采用USSD技术已经无法满足要求,即数据安全无法保证,而只能实现菜单管理。因此,完全采用USSD技术进行数据交互的模式无法满足需要密文传输的数据业务,如移动电子商务、移动电子政务业务等。
STK(SIM Toolkit)又称SIM卡应用工具箱,用来开发SIM卡上的应用程序。通过在SIM卡植入软件,提供SIM卡对手机ME的主动式命令,实现互动反应。STK技术可以通过SIM卡按标准的传输协议进行数据的签名校验和加密(如采用3DES加密技术)。
发明内容
有鉴于此,本发明要解决的技术问题是提供一种实现非结构化补充数据业务中数据安全传输的方法,可以在利用USSD技术缓解短信交互时延性的同时,实现数据密文传输。
为了达到上述目的,本发明提供了一种实现非结构化补充数据业务中数据安全传输的方法,包括以下步骤:
(a)用户建立USSD呼叫;
(b)USSD节点机和手机之间进行菜单交互,直到用户选择了数据需要加密的菜单发给USSD节点机;这里的数据需要加密是指用户根据该菜单输入的数据需要加密。
(c)结束USSD呼叫;以及
(d)SIM卡与USSD节点机之间使用密文短信进行菜单交互,USSD节点机将获得的加密信息解密并存储。
上述方法的步骤(d)可以通过以下步骤来完成:USSD节点机通过短信服务交换中心用数据短信将用户选择的菜单下发给SIM卡,SIM卡用主动式命令将菜单显示给用户,等用户输入数据后,SIM卡按传输协议对数据进行签名检验和加密,并将密文信息用普通短信发到短信服务交换中心,由短信服务交换中心转发到USSD节点机,或SEND USSD指令上发给USSD节点机,USSD节点机将该密文信息解密后暂存,然后再将下一级菜单以数据短信方式下发给SIM卡,如此循环完成菜单交互过程。
上述方法的步骤(d)后还可以包括以下步骤:当本次操作的数据全部获得后,USSD节点机按对应的应用协议形成完整的密文信息,发送给相应的应用服务器解密并处理;所述的应用服务器根据申请进行后台处理后,将结果信息以加密的数据短信下发给手机SIM卡,SIM卡解密后显示给手机。
本发明要解决的另一技术问题是提供一种可实现上述方法的系统。
为了达到上述目的,本发明提供了一种可实现非结构化补充数据业务中数据安全传输的系统,包含通过GSM系统互联的用户手机和USSD节点机,以及与USSD节点机连接的应用服务器,所述用户手机上的SIM卡采用了STK技术,其特征在于,该系统还包括与USSD节点机和用户手机互联的短信服务交换中心,其中:
所述用户手机用于建立USSD呼叫,在呼叫过程中接收显示USSD节点机下发的数据无需保密的菜单,将用户选择的菜单或输入数据后上发至USSD节点机,在结束USSD呼叫后,通过STK技术接收USSD节点机下发的菜单并显示给用户,并利用SIM卡将用户输入的需加密的信息加密后,上发给USSD节点机;
所述USSD节点机用于在USSD呼叫过程中接收用户手机上发信息,向用户手机下发其选择的菜单,在用户选择数据需要加密的菜单后,结束USSD呼叫,通过数据短信的方式向手机SIM卡下发菜单并接收手机上发的密文信息,操作完成后,将所接收的数据解密并整合,发送至所述应用服务服务器;
所述应用服务器用于对USSD节点机传来的用户申请进行处理;
所述短信服务交换中心,用于在USSD呼叫结束后,将USSD节点机上的菜单通过数据短信方式下发给用户手机,并将用户手机上发的密文信息转发至USSD节点机。
上述系统中,所述USSD节点机还可对用户申请进行加密;所述应用服务器对用户申请解密并处理后,用密文短信的方式将结果下发给手机。
上述系统中,所述USSD节点机可通过电信专线和网关与短信服务交换中心实现互联,双方通过SMPP协议进行通讯。
由上可知,本发明方法和系统利用USSD节点机和手机进行部分菜单的交互,而对于数据需要加密的菜单,则结合STK技术,采用密文短信完成USSD节点机和手机SIM卡之间的菜单交互,从而充分发挥了USSD和STK技术的各自优势,从根本上解决了单纯采用USSD无法与SIM卡交互的矛盾,在缓解了短信收发的时延性问题的同时,使得数据加解密和签名校验成为可能。
附图说明
图1是USSD系统的结构示意图;
图2是现有技术的USSD的数据交互流程图;
图3是本发明实施例的USSD节点机与短信服务交换中心及用户互联的系统示意图;
图4是本发明实施例的银行转账业务的操作菜单示意图;以及
图5是本发明实施例银行转账业务的数据交互流程图。
具体实施方式
为了实现SIM卡与USSD节点机的短信交互,需要将USSD节点机与短信服务交换中心互联,组成的系统如图3所示,图中,USSD节点机30通过电信专线(如,ISDN等)和网关31与短信服务交换中心32实现互联,双方通过SMPP协议进行通讯,实现信息的传输和识别。而短信服务交换中心32通过短信网关33、基站34及相应的通讯链路和用户手机35互联。这样,通过短信服务交换中心存储转发,USSD节点机就可以与SIM卡之间进行短信收发了。当然,完成业务所需的整个系统还包括图1中与应用中心连接的应用服务器,以及相关的辅助设备。
本实施例以用户完成一次银行转账业务为例,说明一种采用USSD结合STK的应用模式实现一次银行转账的数据流程。其中,应用USSD技术进行业务菜单管理,同时结合了STK技术的密文短信数据交互模式。本实施例的流程图如图5所示。
图4是银行转账操作菜单。这些菜单数据全部预置在USSD节点机中,统一进行菜单操作管理。用户手机的SIM上已经用STK技术植入了相应软件,假设用户进行银行转账前已经设置过4个银行账号(没有设置银行账号无法进行交易业务)。请同时参照图4和图5,该操作流程由以下步骤完成:
步骤200,用户建立USSD呼叫;
步骤201,第一组业务菜单20由USSD节点机下发给手机并由手机显示给用户。菜单上有“天气预报”、“新闻”、“游戏”和“移动银行”等选单;
步骤202,用户选择“移动银行”,选择结果由手机发送给USSD节点机;
步骤203,USSD节点机和手机之间逐级进行菜单交互,直到用户选择了“银行转账”并发给USSD节点机;
在该过程中,USSD节点机先将“移动银行”21的子菜单下发给手机。菜单上有“选择账号”、“历史交易信息”、“设置账号”等选单;用户选择“选择账号”,选择结果由手机发送给USSD节点机;USSD节点机将“选择账号”22的子菜单下发给手机,菜单上有用户已设置好的4个账号选单;用户选择“账号4”,选择结果由手机发送给USSD节点机;USSD节点机再将“账号”的子菜单23下发给手机,菜单上有“账务查询”、“银行转账”、“缴费查询”、“移动缴费”等4个选单;最后,用户选择“银行转账”,选择结果由手机发送给USSD节点机。
步骤204,USSD呼叫结束,转入利用密文短信进行SIM卡和USSD节点机之间的菜单交互;
步骤205,USSD节点机用数据短信(也称二级短信或点对点短信,SMS-PP DOWNLOAD)将“请输入转账金额:”菜单24经短信服务交换中心下发给SIM卡(通过手机ME传递);
步骤206,SIM卡用Get Input主动式命令提示用户输入转账金额,用户输入转账金额后,SIM卡按传输协议对数据进行签名校验和加密,并将密文信息用普通短信经短信服务交换中心上发给节点机;这里,SIM卡也可以通过STK技术中的SEND USSD指令来完成上发操作,此时数据是通过USSD信道传输的。
步骤207,USSD节点机将密文信息解密后,将转账金额暂存,完成一次密文短信的菜单交互过程;
步骤208,USSD节点机与SIM卡之间继续利用密文短信进行逐级菜单交互,直到完成最终菜单的操作。
在该过程中,USSD节点机先将“请输入取款密码:”菜单25经短信服务交换中心下发给SIM卡;SIM卡用户输入取款密码,用户输入取款密码后,SIM卡对数据进行签名校验和加密,并将密文信息经短信服务交换中心上发给节点机;USSD节点机将密文信息解密后,将取款密码暂存;并将“请输入转账账号:”菜单26经短信服务交换中心下发给SIM卡;最后,SIM卡提示用户输入转账账号,用户输入转账账号后,SIM卡对数据进行签名校验和加密,并将密文信息经短信服务交换中心上发给节点机,USSD节点机将密文信息解密后,将转账账号暂存;
以上步骤实现了SIM卡与USSD节点机之间的数据密文传输,解决了现有技术中只能采用明文传输的缺陷。
从完成一次转账业务的角度,还包括以下步骤,但需要指出的是,在不同的业务中,步骤209和210中USSD节点机和应用服务器的处理过程是有差异的,本发明对此并不作限定。
步骤209,USSD节点机将先后三次获得的转账金额、取款密码、转账账号,以及账号等信息按向银行服务器发出的交易申请格式协议重新整合、加密并发送;
步骤210,银行服务器解密交易申请数据,根据申请进行后台处理,并将交易结果信息以数据短信密文下发给手机SIM卡,卡解密后显示给手机,完成银行转账业务。