一种运用设备长连接实现远程写卡的方法及系统与流程

文档序号:30606551发布日期:2022-07-01 22:37阅读:267来源:国知局
一种运用设备长连接实现远程写卡的方法及系统与流程

1.本发明涉及智能卡处理领域,尤其涉及一种运用设备长连接实现远程写卡的方法及系统。


背景技术:

2.随着物联网应用的广泛发展,大批量的制卡发卡数据请求如果在智能卡的生产环节就需要事先确定好势必会极大的增加操作和管理成本,而作为一种高效的替代解决方案,通过提供后台服务器,并借助https或者短信的通道资源,实现将制卡数据经ota空中的方式远程写卡到终端设备的安全芯片中,从而实现可以先行发卡,然后再按需开卡激活的业务灵活性,为运营商及业务提供商带来了极大的便利。
3.而现阶段的远程写卡,主要通过两种模式及两种空中通道来实现:
4.【consumer消费者模式】:一种是通过用户在终端设备的应用程序(application)上手工点击来触发向服务器拉取(pull)开卡数据的远程写卡请求。通过建立与远程服务器的https连接并获取制卡数据后,再通过应用程序与卡之间的交互接口程序lpa(local profile agent,本地配置文件代理)来将制卡数据写入到智能卡中。(适用场景包括:手机、平板、或穿戴设备等场景);
5.【m2m机器到机器(无人工干预)模式】:一种是通过利用网络运营商的短信网络资源,从平台侧用数据短信的方式推送(push)数据指令来触发卡片向服务器建立http连接并获取远程制卡数据的场景,该场景适合一些无人工现场的处理场景(例如:电表、燃气表、或家居智能的远程写卡),如果不能通过指令来建立终端设备到服务器的https连接,也可以将制卡数据直接通过短信通道下发到卡端并执行来达到远程写卡的目的。
6.除了上面提到两种主要模式(lpa程序通过https拉取制卡数据,或平台通过短信推送制卡数据)之外,实际应用中也还存在一些中间的混杂模式,比如:由用户从终端发送指定的短信请求,通过短信通道来向服务器拉取制卡数据的场景。
7.在现阶段的两种途径中,其技术应用场景各有利弊,也分别有各自的局限性。
8.一、【consumer消费者模式】:通过消费者在终端设备上点击相应的按钮来触发远程写卡的场景,其应用范围有限。因为该方式限制了远程写卡的触发条件,必须需要靠人工的交互操作来完成请求,也就是限制了必须有作为消费者的人在现场,并且终端是具备操作屏幕控制的设备才能使该方案得以实现。(另:针对使用短信通道来拉取制卡数据的场景也一样,局限了使用场景必须是需要现场的人工操作干预)
9.二、【m2m机器到机器(无人工干预)模式】:通过短信的推送,可以实现从平台侧远程推送短信到设备终端来实现远程写卡的目的,从而解决了没有人工在现场的应用场景,但是通过短信方式的信息推送,必然需要消耗短信通道资源,而短信资费相对于gprs的流量而言,费用太高。而且短信通道的数据承载量比较小,也是短信方式的另一个不足。
10.综上所述,不管采取上述具体哪一种途径,在物联网应用中为了触发远程写卡请求,都会存在相应的局限性。基于此,本发明构建一种运用设备长连接实现远程写卡的方
法。


技术实现要素:

11.本发明提供了一种运用设备长连接实现远程写卡的系统,包括服务器、终端和智能卡;
12.服务器包括os级消息服务器和业务应用服务器;业务应用服务器在需要向终端发起远程写卡时,通过os级消息服务器向终端os发送推送消息,并接收终端app发起的连接请求,根据连接请求生成连接指令并返回给终端;以及在建立与智能卡的通信通道后向智能卡发送写卡指令;
13.终端包括:终端os、终端app和终端模组;终端os接收os级消息服务器发送的消息通知,将消息通知转发给对应注册的终端app,终端app收到消息后向终端模组发起指令请求建立机卡连接,终端模组从智能卡获取eid并转发给终端app,终端app向业务应用服务器发送连接请求,接收业务应用服务器返回的连接指令,将连接指令转发给终端模组,终端模组向智能卡下发连接指令,智能卡与终端模组建立bip通道,终端模组打开bip通道并建立与业务应用服务器之间的远程https连接;
14.智能卡接收终端模组发送的eid获取指令,向终端模组返回当前eid信息,以及接收终端模组发送的连接指令,根据连接指令建立与终端模组之间的bip通道。
15.如上所述的一种运用设备长连接实现远程写卡的系统,其中,服务器还包括app应用级消息服务器,业务应用服务器在需要向终端发起远程写卡时,通过app应用级消息服务器向终端app应用发送推送消息,并接收终端app发起的连接请求。
16.如上所述的一种运用设备长连接实现远程写卡的系统,其中,业务应用服务器中绑定存储有终端安装app时生成的appid、智能卡的eid、以及用户信息,所述消息推送请求中包括有appid。
17.如上所述的一种运用设备长连接实现远程写卡的系统,其中,在安装终端app时,生成唯一的应用标识appid,将应用标识appid和初始智能卡eid信息上传至服务器进行终端app与智能卡的绑定。
18.如上所述的一种运用设备长连接实现远程写卡的系统,其中,连接请求包括https请求、http请求、ftp请求、sftp请求。
19.本发明还公开一种运用设备长连接实现远程写卡的方法,包括:
20.业务应用服务器通过os级消息服务器向终端os发送消息推送请求;
21.终端os向终端app转发消息通知,终端app通过终端模组向智能卡发送指令获取智能卡的eid之后,终端app向业务应用服务器发送连接请求;
22.业务应用服务器根据连接请求连接指令,并向终端app返回连接指令;
23.终端app通过终端模组将连接指令发送给智能卡;
24.智能卡建立与终端模组的bip通道,并由终端模组开启bip通道,并且建立与业务应用服务器的远程http连接;
25.业务应用服务器在建立与智能卡的通信通道后向智能卡发送写卡指令。
26.如上所述的一种运用设备长连接实现远程写卡的方法,其中,终端app依据最新获取的当前eid信息和应用标识appid生成获取连接参数信息的连接请求,将该请求发送至业
务应用服务器;业务应用服务器接收到终端app发送的连接请求后,从连接请求中获取appid和eid,使用eid生成唯一的连接参数信息,将其组装成连接指令,并返回至终端app。
27.如上所述的一种运用设备长连接实现远程写卡的方法,其中,从连接请求中获取appid和eid之后,如果服务器中存储的eid与连接请求中的eid相同,则说明没有换卡操作,直接使用eid生成唯一的连接参数信息;如果服务器中存储的eid与连接请求中的eid不同,则说明发生了换卡操作,将存储的eid更新为连接请求中的eid,使用最新的eid生成唯一的连接参数信息。
28.如上所述的一种运用设备长连接实现远程写卡的方法,其中,生成连接参数信息,具体为:根据接收到的eid从服务器存储器中获取对应的算法和密钥,对预设连接数据进行加密,生成连接参数信息,并将连接参数信息组装成卡片执行指令,向终端app返回https响应。
29.如上所述的一种运用设备长连接实现远程写卡的方法,其中,在智能卡与业务应用服务器之间建立连接过程中,还包括:业务应用服务器与智能卡之间使用预设鉴权方式来进行身份验证,验证成功后业务应用服务器向智能卡发送业务数据。
30.如上所述的一种运用设备长连接实现远程写卡的方法,其中,业务应用服务器向智能卡发送业务数据的具体操作如下:
31.s1、业务应用服务器通过远程https连接和bip通道向智能卡发送业务数据;
32.s2、智能卡执行业务数据,通过远程https连接和bip通道将执行结果上发至业务应用服务器;
33.s3、业务应用服务器根据业务逻辑判断是否继续发送其他的更多业务数据,如果没有更多的业务数据需要发送,则返回指示本次业务操作交互请求结束的https响应,如果还有其他业务数据发送,则返回执行s1。
34.本发明实现的有益效果如下:在终端app上用消息推送机制来触发https连接的方案,智能卡应用不再依赖于运营商数据短信网关即可触发与后台服务器的https连接,并基于bip通道完成https握手,从而完成智能卡与服务器之间的网络连接建立。一方面,该触发方式避免了对短信网关的资源依赖,由此节省了资费,也增强了业务触发的可靠性和稳定性;另一方面,避免使用人工干预的操作来触发请求,使得业务推广的场景更为广泛,不再局限于人工现场的场景,增强了便捷性。
附图说明
35.为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明中记载的一些实施例,对于本领域普通技术人员来讲,还可以根据这些附图获得其他的附图。
36.图1是本发明实施例一提供的一种运用设备长连接实现远程写卡的系统示意图;
37.图2是本发明实施例二提供的一种运用设备长连接实现远程写卡的方法流程图。
具体实施方式
38.下面结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整
地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
39.实施例一
40.如图1所示,本发明提供一种运用设备长连接实现远程写卡的系统,包括服务器、终端和智能卡。
41.服务器包括os(操作系统)级消息服务器和业务应用服务器,os级消息服务器作为在服务器与智能卡建立长连接之前,业务应用服务器与终端之间的通信桥梁。业务应用服务器在需要向终端发起远程写卡时,通过os级消息服务器向终端发送消息推送请求,业务应用服务器中绑定存储有终端安装app时生成的appid、终端从智能卡中获取的eid、以及用户信息,消息推送请求中包括有appid。此外,在服务器与智能卡建立长连接之前,除通过os级消息服务器与终端通信外,服务器还通过https通道与终端安装的app直接通信,通信内容为7816卡片执行指令。在服务器与智能卡建立长连接之后,服务器能够直接通过终端模组与智能卡通信,通过终端模组向智能卡下发业务数据。
42.另外,服务器也可以包括app应用级消息服务器,业务应用服务器在需要向终端发起远程写卡时,通过app应用级消息服务器向终端app应用发送推送消息,并接收终端app发起的连接请求;
43.终端包括终端os、终端app和终端模组,在安装终端app时,根据当前硬件环境随机生成一个应用标识appid,将应用标识appid和终端内部存储的初始智能卡eid信息上传至服务器进行终端app与智能卡的绑定。
44.终端os作为在智能卡与服务器建立长连接之前,终端与服务器之间的通信桥梁,终端os接收os级消息服务器发送的消息通知,将消息通知转发给对应注册的终端app,终端app收到消息后向终端模组发起指令请求建立机卡连接,终端模组向智能卡获取当前eid信息。需要说明的是,此时重新获取的eid信息目的是为了确保当前智能卡的最新eid,以免因为换卡操作带来的eid不匹配而导致后期指令执行失败。
45.在终端模组接收到智能卡返回的当前eid信息之后,将当前eid信息转发给终端app,终端app此时获取到了服务器发送的appid和智能卡返回的eid,将appid和eid作为与业务应用服务器建立连接的参数信息,直接向业务应用服务器发送https请求,接收业务应用服务器下发的卡片执行指令,将卡片执行指令转发给终端模组,终端模组向智能卡发送卡片执行指令,智能卡根据卡片执行指令与终端模组之间建立bip通道,终端模组与服务器之间建立远程https连接。由此服务器与终端模组之间通过远程https连接进行数据交互,终端模组与智能卡之间通过bip通道连接进行数据交互。
46.智能卡包括智能卡操作系统、智能卡应用和智能卡存储器,智能卡操作系统与终端模组直接通信,智能卡操作系统接收终端模组发送的eid获取指令、卡片执行指令,接收到eid获取指令则从智能卡存储器中获取当前eid信息返回终端模组,接收到卡片执行指令则向智能卡应用转发指令,执行指令与终端模组建立bip通道。
47.本技术实施例中,终端app向业务应用服务器发送的连接请求为设备长连接,除可以是https请求外,还可以是http请求、ftp请求、sftp请求。
48.实施例二
49.如图2所示,本发明提供一种运用设备长连接实现远程写卡的方法,应用于实施例一所述的系统中,所述方法具体包括:
50.步骤210、业务应用服务器通过os级消息服务器向终端os发送消息推送请求;
51.在安装终端app时,根据当前硬件环境随机生成一个应用标识appid,将应用标识appid和终端内部存储的初始智能卡eid信息上传至业务应用服务器进行终端app与智能卡的初始唯一绑定,后续若智能卡eid改变,则操作过程中更新业务应用服务器中存储的绑定关系。业务应用服务器在需要向终端发起远程写卡时,具体包括:步骤210-1、业务应用服务器根据appid生成消息推送请求,将消息推送请求转发至os级消息服务器;步骤210-2、os级消息服务器将消息推送请求发送给终端os。
52.步骤220、终端os向终端app转发消息通知,终端app向终端模组发起指令请求建立机卡连接,终端模组向智能卡发送eid获取指令;
53.终端os接收到的消息推送请求后,从消息推送请求中获取appid,查找终端中对应的终端app,向对应的终端app转发消息通知。
54.步骤230、智能卡依据eid获取指令将存储的当前eid信息返回至终端模组;
55.由于可能发生换卡操作带来的eid不匹配而导致后期指令执行失败,因此在进行远程写卡操作时需要重新从智能卡中获取eid信息,确保是最新的eid,更新终端中存储的eid。
56.步骤240、终端模组将获取的当前eid信息转发给终端app,终端app向业务应用服务器发送https请求;
57.终端模组依据最新获取的当前eid信息和应用标识appid生成获取连接参数信息的https请求,将该请求发送至业务应用服务器。
58.步骤250、业务应用服务器根据https请求生成连接指令,向终端app返回包含连接参数信息的连接指令;
59.业务应用服务器接收到终端模组发送的https请求后,从https请求中获取appid和eid,使用appid查找服务器中存储的对应的eid,如果服务器中存储的eid与https请求中的eid相同,则说明没有换卡操作,直接使用eid生成唯一的连接参数信息,将其包装成智能卡执行指令数据包,向终端app返回https响应,如果服务器中存储的eid与https请求中的eid不同,则说明发生了换卡操作,将存储的eid更新为https请求中的eid,使用最新的eid生成唯一的连接参数信息,将其包装成智能卡执行指令数据包,向终端app返回https响应;
60.其中,生成连接参数信息,具体为:根据接收到的eid从服务器存储器中获取对应的算法和密钥,对预设连接数据(如业务应用服务器ip地址)进行加密,生成连接参数信息,并将连接参数信息组装成7816卡片执行指令,向终端app返回https响应。
61.步骤260、终端app将连接指令转发给终端模组,终端模组将连接指令发送给智能卡;
62.步骤270、智能卡根据连接指令中的连接参数信息,建立与终端模组的bip通道,并通知终端模组开启bip通道,并建立与业务应用服务器的远程https连接;
63.在智能卡根据连接参数信息通知终端模组开启bip通道后,终端模组打开bip通道并建立与业务应用服务器的远程https连接,后续智能卡与服务器的通信数据将直接通过终端模组透传,不需要再经过终端内部操作。
64.此外,在智能卡与业务应用服务器之间建立连接过程中,业务应用服务器需要验证智能卡的身份,因此业务应用服务器与智能卡之间使用预设鉴权方式进行身份验证,验证成功后业务应用服务器向智能卡发送业务数据;具体包括如下子步骤:
65.s1、业务应用服务器与智能卡使用预设鉴权方式进行身份验证,验证成功后将业务数据组装为卡片执行指令,通过远程https连接和bip通道向智能卡发送业务数据;
66.预设鉴权方式包括但不限于使用psk预共享密钥方式、证书链认证方式,或公私钥非对称密钥方式等一种或多种方式结合进行鉴权;
67.其中,psk预共享密钥方式具体为:预先在智能卡与业务应用服务器均预制共享的对称密钥,然后通过pskid进行关联,智能卡终端在需要握手鉴权身份的过程中,上发pskid值到业务应用服务器,业务应用服务器根据pskid找到智能卡对应的关联密钥,并通过该关联密钥以及握手过程中产生的随机数进行相关计算来完成验证。证书链方式具体为:智能卡上预制卡片证书,证书由工厂eum签发,eum工厂证书由第三方ci签发,同时业务应用服务器证书也由第三方ci签发,因此,在握手鉴权身份过程中通过互相交换证书,并且证书都在同一个ci证书链之下,由此达到身份合法性校验。公私钥方式具体为:智能卡上存在智能卡特有的公钥和私钥,业务应用服务器也存在业务应用服务器特有的公钥私钥,在握手鉴权身份过程中,分别通过使用对方的公钥和自身的私钥,利用ecc椭圆曲线算法,协商计算出用于业务敏感数据加密传输所需要的保护密钥,由此实现对后续敏感数据的加密传输。
68.以psk预共享密钥方式为例,业务应用服务器与智能卡使用预设鉴权方式进行身份验证,具体包括:

智能卡向业务应用服务器发送clienthello信息进行密钥交换,clienthello信息包含tls版本号、客户端随机数、会话id、加密算法以及pskid扩展信息;

业务应用服务器根据pskid找到对应的关联密钥信息,对serverhello信息加密后发送至智能卡,serverhello信息包含服务器随机数、选择的加密算法以及用对应密钥加密的pskid扩展信息,并且业务应用服务器根据客户端随机数、服务器随机数和约定的密钥算法生成会话密钥,用于后期的业务数据传输;

智能卡也根据pskid找到预置的关联密钥验证业务应用服务器返回的加密信息,根据客户端随机数、服务器随机数以及约定的密钥算法生成会话密钥,用于后期的业务数据传输。由此智能卡与业务应用服务器身份验证成功。
69.s2、智能卡执行业务数据,通过远程https连接和bip通道将执行结果上发至业务应用服务器;
70.s3、业务应用服务器根据业务逻辑判断是否继续发送其他的更多业务数据,如果没有更多的业务数据需要发送,则返回https响应(如以204为状态码),指示本次业务操作交互请求结束,无后续数据需要发送。如果还有其他业务数据发送,则返回执行s1。
71.采用本技术技术方案能够达到如下技术效果:
72.(1)通过利用操作系统级的长连接,可以实现将消息从远程的profile服务器,推送到达终端设备的app应用程序中,由此可避免现有技术中需要的人工干预操作。
73.(2)终端app建立https通道来获取profile的配置地址信息,是通过推送消息中的内容来确定的,与现有技术中直接通过预制缺省地址的方式访问相比较,具备更大的灵活性。
74.(3)通过从profile服务器中获取到的写卡数据,让智能卡在执行卡片指令的过程中建立bip通道,并建立与服务器的https连接,通过该通道来获取制卡数据,数据无需再经
过终端app。该方式因涉及卡片指令的加解密操作而具备更大的安全性和简便性。
75.以上所述的具体实施方式,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施方式而已,并不用于限定本发明的保护范围,凡在本发明的技术方案的基础之上,所做的任何修改、等同替换、改进等,均应包括在本发明的保护范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1