一种应用在移动设备上安全安装方法及装置
技术领域
本发明涉及信息安全领域,特别涉及一种应用在移动设备上安全安装方法及装置。
背景技术
随着移动支付技术的日渐走入百姓的生活,越来越多的移动设备支持支付应用软件的下载和安装,让移动设备具备了支付的功能。但是关于如何确保支付应用的安全,却没有被给予足够的重视,毕竟移动支付涉及了三方的利益,电信运营商、支付应用提供方和移动设备拥有者,在应用的下载和安装时,必须要充分考虑如何保障各方的利益不被损害,也就是安全问题。目前在移动支付领域所采用应用安装方式,基本上是采用预装方式,即支付应用在移动设备出厂时已经被预装好了,移动设备拥有者想要开通支付应用的话,再到支付应用提供方所指定的场所做个人化并开通应用,这样做固然解决了安全问题,可是这种做法却存在着很大的弊病,那就是移动设备拥有者所拥有的应用不能动态更新,也无法再拓展应用,如果想要实现任何更新,则必须更换移动设备或再到指定的场所进行更新,客户的体验度十分不好,无法大规模推广。
另外,在安全问题方面,现有的解决方案还有采用空中下载、安装和个人化,即支付应用通过无线网络下载和安装到移动设备上。客户无需更换设备和跑几个地方进行安装应用,大大方便了客户的使用,对移动支付应用的大规模推广有着非常积极的意义。但是,方便的同时,安全问题也暴露出来了,因为支付应用的下载和安装是在开放的环境下进行的,采用的是标准的GP技术,支付应用很容易被截取和复制,支付应用提供方无法区别该应用是合法的应用还是被克隆的应用。损害了电信运营商、支付应用提供方和移动设备拥有者三方的利益。应用提供者提供的其他应用下载时也存在类似的问题,应用提供者的合法利益难以得到保障。
发明内容
本发明的目的是鉴于目前移动支付通过空中下载、安装和个人化的安全措施不够完善,提出一种支付应用在移动设备上安全安装方法及装置,在安装和个人化阶段,加入了安全认证机制,来达到每次的安装都具有唯一性,无法被复制,同时增加了双向的认证机制,即支付应用提供方和支付应用之间的认证,任何一方的认证失败,都会导致安装的不成功,确保三方的利益得到最大程度上的保护。同时本发明的技术方案也可以解决其它类型应用的安全下载和安装以保护应用提供者的合法利益。
为实现上述目的,本发明提供了一种应用在移动设备上安全安装方法,该方法基于应用提供者、电信运营商和移动设备进行;包括:
所述电信运营商把应用下载到所述移动设备过程中获取应用唯一数据,并发送至所述应用提供者;
所述应用提供者根据所述应用唯一数据和随机数产生安装令牌,并将所述安装令牌发送至所述电信运营商;
所述电信运营商在应用安装至所述移动设备过程中将所述安装令牌传递到应用中;
安装结束后所述电信运营商启动应用个人化;所述应用对所述安装令牌验证,校验应用唯一数据是否一致,如果一致,则利用所述应用提供者的随机数和应用信息产生确认令牌,并通过所述电信运营商传输至所述应用提供者;
所述应用提供者验证所述确认令牌中的随机数与产生所述安装令牌时使用的随机数是否一致;如果一致,所述应用在移动设备上安全安装完成。
可选的,在本发明一实施例中,所述电信运营商把应用下载到所述移动设备过程中获取应用唯一数据,并发送至所述应用提供者的步骤包括:
所述应用提供者提供应用给所述电信运营商;
所述电信运营商将应用下载至所述移动设备上,在下载过程中,所述电信运营商获取第一应用唯一数据,并将所述第一应用唯一数据发送至所述应用提供者。
可选的,在本发明一实施例中,所述应用提供者根据应用提供者自身的密钥的私钥、第一应用唯一数据和随机数产生安装令牌。
可选的,在本发明一实施例中,所述电信运营商启动应用个人化的步骤包括:
在安装结束后,所述电信运营商向所述应用提供者发起应用个人化申请;
所述应用提供者提供个人化数据给所述电信运营商;
所述电信运营商根据所述个人化数据启动应用个人化。
可选的,在本发明一实施例中,所述应用对所述安装令牌验证包括:所述应用的密钥的公钥对所述安装令牌进行还原获取第二应用唯一数据,校验所述第二应用唯一数据与所述第一应用唯一数据是否一致。
为实现上述目的,本发明还提供了一种应用在移动设备上安全安装装置,该装置基于应用提供者、电信运营商和移动设备进行;包括:
应用唯一数据单元,用于所述电信运营商把应用下载到所述移动设备过程中获取应用唯一数据,并发送至所述应用提供者;
安装令牌单元,用于所述应用提供者根据所述应用唯一数据和随机数产生安装令牌,并将所述安装令牌发送至所述电信运营商;
安装单元,用于所述电信运营商在应用安装至所述移动设备过程中将所述安装令牌传递到应用中;
确认令牌单元,用于安装结束后所述电信运营商启动应用个人化;所述应用对所述安装令牌验证,校验应用唯一数据是否一致,如果一致,则利用所述应用提供者的随机数和应用信息产生确认令牌,并通过所述电信运营商传输至所述应用提供者;
验证确认令牌单元,用于所述应用提供者验证所述确认令牌中的随机数与产生所述安装令牌时使用的随机数是否一致;如果一致,所述应用在移动设备上安全安装完成。
可选的,在本发明一实施例中,所述应用唯一数据单元包括:
应用提供模块,用于所述应用提供者提供应用给所述电信运营商;
下载模块,用于所述电信运营商将应用下载至所述移动设备上,在下载过程中,所述电信运营商获取第一应用唯一数据,并将所述第一应用唯一数据发送至所述应用提供者。
可选的,在本发明一实施例中,所述安装令牌单元根据应用提供者自身的密钥的私钥、第一应用唯一数据和随机数产生安装令牌。
可选的,在本发明一实施例中,所述确认令牌单元包括:
个人化申请模块,用于在安装结束后,所述电信运营商向所述应用提供者发起应用个人化申请;
个人化数据模块,用于所述应用提供者提供个人化数据给所述电信运营商;
应用个人化模块,用于所述电信运营商根据所述个人化数据启动应用个人化;
验证安装令牌模块,用于所述应用对所述安装令牌验证,校验应用唯一数据是否一致,如果一致,则利用所述应用提供者的随机数和应用信息产生确认令牌,并通过所述电信运营商传输至所述应用提供者。
可选的,在本发明一实施例中,所述验证安装令牌模块根据所述应用的密钥的公钥对所述安装令牌进行还原获取第二应用唯一数据,校验所述第二应用唯一数据与所述第一应用唯一数据是否一致。
上述技术方案具有如下有益效果:由于在安装和个人化中加入了双向令牌认证,并且加入了唯一数据和随机数来参与认证,所以保障了三方的最大利益,即便整个过程被监听也无法复用,因为每个移动设备的唯一数据是不会重复的,同时又有随机数的加扰,这样就确保了应用安装过程的唯一性,是不能被重复使用的。同时又加强了应用提供方和应用之间的相互身份确认,避免了伪造身份的第三方干扰应用。由于应用可以安全地被空中下载和安装在移动设备上,对移动支付技术的推广具有非凡的意义,客户可以随时添加和更改应用,并且能够保证整个过程是安全的。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。本发明的附图和具体实施方式都以支付应用的安全安装进行示例性描述,本领域的技术人员可以完全理解,参照本发明的技术方案,可以完全适用于其他类型应用的安全安装而不会超出本发明的发明内容,也属于本发明保护的技术范围。
图1为本发明提出的一种支付应用在移动设备上安全安装方法流程图;
图2为本发明提出的一种支付应用在移动设备上安全安装装置框图;
图3为本发明提出的一种支付应用在移动设备上安全安装装置中的应用唯一数据单元框图;
图4为本发明提出的一种支付应用在移动设备上安全安装装置中的确认令牌单元框图;
图5为本发明实施例的支付应用在移动设备上安全安装过程图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述。显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
如图1所示,为本发明提出的一种支付应用在移动设备上安全安装方法流程图。该方法基于应用提供者、电信运营商和移动设备进行;包括:
步骤101):所述电信运营商把应用下载到所述移动设备过程中获取应用唯一数据,并发送至所述应用提供者;
步骤102):所述应用提供者根据所述应用唯一数据和随机数产生安装令牌,并将所述安装令牌发送至所述电信运营商;
步骤103):所述电信运营商在应用安装至所述移动设备过程中将所述安装令牌传递到应用中;
步骤104):安装结束后所述电信运营商启动应用个人化;所述应用对所述安装令牌验证,校验应用唯一数据是否一致,如果一致,则利用所述应用提供者的随机数和应用信息产生确认令牌,并通过所述电信运营商传输至所述应用提供者;
步骤105):所述应用提供者验证所述确认令牌中的随机数与产生所述安装令牌时使用的随机数是否一致;如果一致,所述应用在移动设备上安全安装完成。
在上述方法中,步骤101)具体包括:
步骤1011):所述应用提供者提供应用给所述电信运营商;
步骤1012):所述电信运营商将应用下载至所述移动设备上,在下载过程中,所述电信运营商获取第一应用唯一数据,并将所述第一应用唯一数据发送至所述应用提供者。
所述应用提供者根据应用提供者自身的密钥的私钥、第一应用唯一数据和随机数产生安装令牌。
步骤104)中的启动应用个人化的步骤包括:
首先,在安装结束后,所述电信运营商向所述应用提供者发起应用个人化申请;
然后,所述应用提供者提供个人化数据给所述电信运营商;
最后,所述电信运营商根据所述个人化数据启动应用个人化。
所述应用对所述安装令牌验证包括:所述应用的密钥的公钥对所述安装令牌进行还原获取第二应用唯一数据,校验所述第二应用唯一数据与所述第一应用唯一数据是否一致。
如图2所示,为本发明提出的一种支付应用在移动设备上安全安装装置框图。该装置基于应用提供者、电信运营商和移动设备进行;包括:
应用唯一数据单元201,用于所述电信运营商把应用下载到所述移动设备过程中获取应用唯一数据,并发送至所述应用提供者;
安装令牌单元202,用于所述应用提供者根据所述应用唯一数据和随机数产生安装令牌,并将所述安装令牌发送至所述电信运营商;
安装单元203,用于所述电信运营商在应用安装至所述移动设备过程中将所述安装令牌传递到应用中;
确认令牌单元204,用于安装结束后所述电信运营商启动应用个人化;所述应用对所述安装令牌验证,校验应用唯一数据是否一致,如果一致,则利用所述应用提供者的随机数和应用信息产生确认令牌,并通过所述电信运营商传输至所述应用提供者;
验证确认令牌单元205,用于所述应用提供者验证所述确认令牌中的随机数与产生所述安装令牌时使用的随机数是否一致;如果一致,所述应用在移动设备上安全安装完成。
如图3所示,为本发明提出的一种支付应用在移动设备上安全安装装置中的应用唯一数据单元框图。所述应用唯一数据单元201包括:
应用提供模块2011,用于所述应用提供者提供应用给所述电信运营商;
下载模块2012,用于所述电信运营商将应用下载至所述移动设备上,在下载过程中,所述电信运营商获取第一应用唯一数据,并将所述第一应用唯一数据发送至所述应用提供者。
所述安装令牌单元202根据应用提供者自身的密钥的私钥、第一应用唯一数据和随机数产生安装令牌。
如图4所示,为本发明提出的一种支付应用在移动设备上安全安装装置中的确认令牌单元框图。所述确认令牌单元204包括:
个人化申请模块2041,用于在安装结束后,所述电信运营商向所述应用提供者发起应用个人化申请;
个人化数据模块2042,用于所述应用提供者提供个人化数据给所述电信运营商;
应用个人化模块2043,用于所述电信运营商根据所述个人化数据启动应用个人化;
验证安装令牌模块2044,用于所述应用对所述安装令牌验证,校验应用唯一数据是否一致,如果一致,则利用所述应用提供者的随机数和应用信息产生确认令牌,并通过所述电信运营商传输至所述应用提供者。
所述验证安装令牌模块2044根据所述应用的密钥的公钥对所述安装令牌进行还原获取第二应用唯一数据,校验所述第二应用唯一数据与所述第一应用唯一数据是否一致。
实施例:
如图5所示,为本发明实施例的支付应用在移动设备上安全安装过程图。
1:应用提供者提供应用给电信运营商;在本实施例中,应用提供者为某商业银行,提供的应用为PBOC应用,电信运营商为中国移动。某商业银行和中国移动合作,提供PBOC应用给中国移动。
2:电信运营商通过无线网络把应用下载到移动设备上;在本实施例中,中国移动的网络经网络把应用下载到带支付功能的手机上。
3:电信运营商在下载过程中从移动设备上得到第一应用唯一数据,发给应用提供者来申请安装令牌;应用唯一数据可为手机卡号、SIM卡或SD卡或安全模块的唯一序列号和分散数据。在本实施例中,采用SIM卡的唯一序列号作为应用唯一数据。
4:应用提供者用自己的非对称密钥的私钥、第一应用唯一数据和随机数产生安装令牌,并发给电信运营商。
在本实施例中,某商业银行用自己的非对称密钥的私钥,对SIM卡的唯一序列号和16位字节的随机数进行数字签名,把结果作为安装令牌发给中国移动。
5:电信运营商通过无线网络把应用安装到移动设备上,在安装过程中,并把安装令牌传递到应用中,但此时应用不验证安装令牌。
在本实施例中,中国移动通过OTA网络把应用安装到SIM卡中,并且把安装令牌作为安装参数传递到PBOC应用中,但此时PBOC应用不去检验这个安装令牌。
6:电信运营商在安装结束后,向应用提供者发起应用个人化申请。中国移动在成功安装完应用后,向某商业银行发起应用个人化申请。
7:应用提供者提供个人化数据给电信运营商。某商业银行会根据个人化申请把PBOC应用需要的个人化数据(包括持卡人信息、银行应用信息等)打包发给中国移动。
8:电信运营商通过无线网络开始启动个人化流程。中国移动根据某商业银行提供的个人化数据,按照GP的标准流程,把个人化数据通过指令发给PBOC应用,PBOC应用接到个人化指令后,启动个人化流程。
9:应用在这个阶段对安装令牌进行验证,用自身携带的非对称密钥的公钥对安装令牌进行还原获取第二应用唯一数据,并校验第一应用唯一数据和第二应用唯一数据是否一致,一致则利用应用提供者的随机数和应用信息产生确认令牌;否则拒绝个人化。在本实施例中,PBOC应用启动个人化流程后,收到第一个个人化指令时,启动验证安装令牌流程,用自身携带的某商业银行的非对称密钥的公钥对安装令牌进行还原,获取某商业银行传递过来的SIM卡的唯一序列号和16位字节的随机数,并校验该SIM卡的唯一序列号和承载本应用的SIM卡数据是否一致,一致则允许个人化流程继续,否则则给出错误信息,并终止个人化流程。PBOC应用在收到最后一条个人化指令后,利用某商业银行的非对称密钥的公钥,对安装令牌还原出的16位字节随机数和应用的版本号及持卡人信息,进行加密产生确认令牌,并作为返回码传递给中国移动。
10:电信运营商把确认令牌发给应用提供者。
11:应用提供者验证确认令牌中的随机数是否与在产生安装令牌过程中使用的随机数一致,一致则通知电信运营商结束安装和个人化流程,否则安装失败。
12:电信运营商通过无线网络结束在移动设备上应用的安装和个人化。
在上述实施例中,在应用安装环节中,应用提供者利用移动设备的应用唯一数据产生安装令牌,供校验应用提供者是否合法;在个人化阶段中,应用对应用唯一数据进行验证,并产生确认令牌供应用提供者验证;应用提供者通过验证确认令牌中的随机数来验证应用是否是合法的。安装令牌和确认令牌可以是同一组非对称密钥,也可以是两组不同的密钥。
由于在安装和个人化中加入了双向令牌认证,并且加入了唯一数据和随机数来参与认证,所以保障了三方的最大利益,即便整个过程被监听也无法复用,因为每个移动设备的唯一数据是不会重复的,同时又有随机数的加扰,这样就确保了应用安装过程的唯一性,是不能被重复使用的。同时又加强了应用提供方和应用之间的相互身份确认,避免了伪造身份的第三方干扰应用。
以上所述的具体实施方式,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施方式而已,并不用于限定本发明的保护范围,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。