一种使用贴膜卡实现加密消息推送的系统的制作方法

文档序号:32519658发布日期:2022-12-13 18:40阅读:42来源:国知局
一种使用贴膜卡实现加密消息推送的系统的制作方法

1.本发明涉及信息通讯技术领域。


背景技术:

2.贴膜卡是一种特殊薄膜封装的智能卡,可以贴敷在sim(用户身份识别模块)卡,无缝放置到手机里面,不影响手机和sim卡的原有数据报文交互,同时能增加更多应用功能,包括密码安全类应用,stk(sim应用工具包)类应用等等。贴膜卡实现基于3gpp规范,适用于当前的各个android系统,苹果的ios系统,系统不依赖于手机厂商的配置,不依赖于移动运营商,企业客户自建服务器,与贴膜卡交互,就能实现消息的实时下推。
3.目前,手机客户端可以直接从应用后台拉取消息,但是那是用户自己主动打开客户端后才能去做的事情。当供应商(例如银行)想让用户立即查看一个消息,它是做不到的。因为打开客户端app与否完全是用户主动的行为,供应商不知道他何时去打开,就做不到即时通知。因此,本技术设计了使用贴膜卡实现加密消息推送的系统。


技术实现要素:

4.本发明的目的在于提供一种使用贴膜卡实现加密消息推送的系统,在手机上实现加密消息下推,方便及时通知用户重要消息。
5.实现上述目的的技术方案是:
6.一种使用贴膜卡实现加密消息推送的系统,贴膜卡贴敷在sim卡,其特征在于,包括:应用后台、bip(独立传输协议)服务器、贴膜卡、手机内部的stk应用单元、手机内部的客户端app单元,其中,
7.所述应用后台根据场景需要发起消息下推,应用后台将消息加密后发送给bip服务器;
8.所述bip服务器将消息下推给贴膜卡;
9.所述贴膜卡将消息解密,并通过stk应用单元的显示指令,在手机屏幕显示消息主题,并接收用户的交互信息,stk应用单元根据交互信息返回消息状态;
10.所述贴膜卡将消息状态返回给bip服务器,所述bip服务器根据消息状态确定是否重复推送当前消息,还是继续推送下一条消息;
11.所述客户端app单元根据所述交互信息决定是否通过应用后台从所述bip服务器或应用后台拉取消息并显示消息内容。
12.优选的,所述应用后台包括消息发起模块和bip指令透传模块,其中,
13.所述消息发起模块接收消息推送请求,对消息进行加密和组包,发送消息到bip服务器;
14.所述客户端app单元通过所述bip指令透传模块从所述bip服务器拉取消息;当所述客户端app单元为ios客户端app时,还通过bip指令透传模块+bip服务器与贴膜卡进行指令交互。
15.优选的,所述bip服务器包括:消息管理模块和消息下推模块,其中,
16.所述消息管理模块接收并管理来自应用后台的加密消息;
17.所述消息下推模块检查bip服务器与贴膜卡之间的通道状态,根据通道状态决定是否下推消息到贴膜卡,并返回消息状态到消息管理模块。
18.优选的,所述客户端app单元包括sdk消息处理模块和客户端sdk,客户端sdk为android sdk或iossdk,
19.所述sdk消息处理模块发送请求到应用后台,从应用后台的消息发起模块直接拉取消息明文,或者通过bip指令透传模块发送请求到bip服务器拉取消息密文;
20.当需要拉取消息密文时,所述sdk消息处理模块发送请求到bip服务器拉取加密的消息,解析消息中数字信封并发送到贴膜卡,通过贴膜卡解密得到会话密钥;
21.所述sdk消息处理模块使用会话密钥解密消息,展示消息内容,对浏览过的消息上传已读状态到bip服务器;
22.当需要拉取消息明文时,所述sdk消息处理模块发送请求到应用后台,从消息发起模块拉取消息明文后展示消息内容,对浏览过的消息上传已读状态到消息发起模块。
23.优选的,所述客户端app单元拉取到的消息可以是明文,也可以是密文,当是明文时客户端app单元直接显示给用户;
24.当是密文时,若所述客户端app单元为android客户端,通过androidsdk使用uicc通道把当前加密消息的数字信封传输给贴膜卡解密出当前加密消息的会话密钥,解密后的会话密钥原路返回给sdk消息处理模块,sdk消息处理模块使用会话密钥解密当前加密消息后显示到app界面供用户查看;
25.当是密文时,若所述客户端app单元为ios客户端,通过iossdk使用bip指令透传模块把当前加密消息的数字信封传输给贴膜卡解密出当前加密消息的会话密钥,解密后的会话密钥原路返回给sdk消息处理模块,sdk消息处理模块使用会话密钥解密当前加密消息后显示到app界面供用户查看;
26.所述andorid sdk使用的通道包括但不限于uicc通道、oma通道、and通道。
27.优选的,所述贴膜卡包括通道管理模块和贴膜卡消息处理模块,
28.所述通道管理模块管理其与客户端app单元以及bip服务器的通道;
29.所述贴膜卡消息处理模块用于解密从bip服务器下推的加密消息以及用于解密从客户端sdk传来的数字信封,贴膜卡消息处理模块判断当前接收的报文,当报文为bip服务器下推的加密消息时,将消息解密,显示消息主题到stk应用单元,并返回消息状态到所述bip服务器;当报文为客户端sdk传来的数字信封时,将数字信封解密得到会话密钥,并原来返回会话密钥到客户端sdk,以便客户端sdk对加密消息进行解密。
30.优选的,通过stk应用单元的launchbrowser指令,拉起用户的浏览器并利用传送的ip地址实现显示消息内容,或者拉取特定的app并在app的消息列表中展示消息内容。
31.优选的,所述消息发起模块对消息进行加密和组包指:使用通道保护公钥加密随机会话密钥生成数字信封数据,使用当前随机会话密钥加密消息内容明文数据得到消息内容密文数据;组装附加信息+数据信封数据+消息内容密文数据得到加密消息数据,即:加密后的消息。
32.优选的,所述交互信息指:用户点击stk应用单元的stk显示界面上的确认按钮或
取消按钮,或者手机返回超时;
33.用户点击取消,表明当前消息用户已查看确认,不再重复推送当前消息;
34.用户点击确认,表明当前消息用户已查看确认,不再重复推送当前消息。
35.手机返回超时,表明当前消息用户未查看确认,后续需重复推送当前消息。
36.优选的,管理加密的消息指管理各消息的状态和生命周期;消息的状态包括:初始态、已推送、已拉取;消息的生命周期包括:接收、入消息队列、响应拉取、删除。
37.本发明的有益效果是:本发明通过bip下推stk弹框,使得用户如果用手机的话,能立马看到下推消息,实现及时通知。本发明推送的加密消息,对于企业应用比较关注的一些用户敏感信息的泄漏和消息被劫持等风险起到了一定的安全保障的作用。
附图说明
38.图1是本发明的使用贴膜卡实现加密消息推送的系统的结构图;
39.图2是本发明中应用后台消息发起流程图;
40.图3是本发明中消息接收处理流程图;
41.图4是本发明中消息下推轮询处理流程图;
42.图5是本发明中客户端拉取后台消息处理流程图;
43.图6是本发明中批量处理结果通知后台处理流程图。
具体实施方式
44.下面将结合附图对本发明作进一步说明。
45.请参阅图1,本发明的使用贴膜卡实现加密消息推送的系统,贴膜卡贴敷在sim卡,包括:应用后台1、bip服务器2、贴膜卡3、手机内部的stk应用单元4、手机内部的客户端app单元5。
46.用户通过应用后台1根据场景需要发起消息下推,应用后台将消息加密后发送给bip服务器2。具体地,应用后台1包括消息发起模块和bip指令透传模块,消息发起模块接收消息推送请求,对消息进行加密和组包,发送消息到bip服务器2。客户端app单元5通过bip指令透传模块从bip服务器2拉取消息。bip指令透传模块实现客户端app单元5与bip服务器2的信息透传。当客户端app单元5为ios客户端app时,还通过bip指令透传模块+bip服务器2与贴膜卡3进行指令交互。
47.bip服务器2将消息下推给贴膜卡3;贴膜卡3将消息解密,并通过stk应用单元4的显示指令,在手机屏幕显示消息主题,并接收用户的交互信息,stk应用单元根据交互信息返回消息状态。其中,除了显示消息主题,还会显示额外的文字信息提醒用户有加密消息下推,提示用户可以打开客户端app查看当前加密消息的更多详情。具体地,bip服务器2包括:消息管理模块和消息下推模块,消息管理模块接收并管理来自应用后台1的加密的各消息。指管理各消息的状态和生命周期。消息的状态包括:是否下推到贴膜卡成功、是否被客户端app单元拉取成功等;消息的生命周期包括:接收、入消息队列、响应拉取、删除等。如下表1:
[0048][0049]
表1
[0050]
消息下推模块检查bip服务器2与贴膜卡3之间的通道状态,根据通道状态决定是否下推消息到贴膜卡3,并返回消息状态到消息管理模块。
[0051]
贴膜卡3将消息状态返回给bip服务器2,所述bip服务器2根据消息状态确定是否重复推送当前消息,还是继续推送下一条消息。具体地,贴膜卡3包括通道管理模块和贴膜卡消息处理模块,通道管理模块管理其与客户端app单元5以及bip服务器2的通道,一般对贴膜卡两种机卡通道(uicc(通用集成电路卡,此处特指客户端app与贴膜卡通信的协议)和bip)进行打开、关闭、切换管理:开机默认打开bip;收到手机屏幕触摸事件时打开bip;收到uicc指令时关闭bip;收到uicc指令要求打开bip时打开bip;定时检查bip通道为关闭且在特定时间不打开bip。
[0052]
贴膜卡通道管理过程:贴膜卡上电;贴膜卡打开通道,建立与bip服务器2的连接;定时发送心跳包;接收到用户进入息屏状态后,不再发送心跳包;接收到用户重新点亮屏幕,贴膜卡卡重新建立于bip服务器2的连接;循环等待接收bip服务器2发来的指令;处理接收到的指令;继续发送心跳包,维持与bip服务器2的连接。
[0053]
贴膜卡消息处理模块用于解密从bip服务器2下推的加密消息以及用于解密从客户端sdk传来的数字信封,贴膜卡消息处理模块判断当前接收的报文,当报文为bip服务器下推的加密消息时,将消息解密,显示消息主题到stk应用单元4,并返回消息状态到所述bip服务器2;当报文为客户端sdk传来的数字信封时,将数字信封解密得到会话密钥,并原来返回会话密钥到客户端sdk,以便客户端sdk对加密消息进行解密。
[0054]
消息中的消息内容明文数据包括消息主题和消息内容。消息主题内容较短,起提示作用,一般包含文字信息,通过stk界面展示;消息内容信息较多,可以包含图片、视频等信息,通过客户端app单元拉取后展示。
[0055]
用户与stk应用单元交互完成后,根据stk应用单元的提示,手动打开客户端app,客户端app单元5根据交互信息决定是否通过应用后台从所述bip服务器2或应用后台1拉取消息并显示消息内容。具体地,客户端app单元5包括sdk消息处理模块和客户端sdk,客户端sdk为android sdk或iossdk,
[0056]
sdk消息处理模块发送请求到应用后台1,从应用后台1的消息发起模块直接拉取消息明文,或者通过bip指令透传模块发送请求到bip服务器2拉取消息密文;当需要拉取消息密文时,sdk消息处理模块发送请求到bip服务器2拉取加密的消息,解析消息中数字信封并发送到贴膜卡3,通过贴膜卡3解密得到会话密钥;sdk消息处理模块使用会话密钥解密消息,展示消息内容,对浏览过的消息上传已读状态到bip服务器2。
[0057]
具体实施时是拉取明文还是密文,根据应用场景需要决定。
[0058]
当需要拉取消息明文时,sdk消息处理模块发送请求到应用后台1,从消息发起模块拉取消息明文后展示消息内容,对浏览过的消息上传已读状态到消息发起模块。
[0059]
客户端app单元5拉取到的消息可以是明文,也可以是密文,当是明文时客户端app单元5直接显示给用户。当是密文时,若客户端app单元5为android客户端,通过android sdk使用uicc通道把当前加密消息的数字信封传输给贴膜卡解密出当前加密消息的会话密钥,解密后的会话密钥原路返回给sdk消息处理模块,sdk消息处理模块使用会话密钥解密当前加密消息后显示到app界面供用户查看。
[0060]
当是密文时,若客户端app单元5为ios客户端,通过iossdk使用bip指令透传模块把当前加密消息的数字信封传输给贴膜卡解密出当前加密消息的会话密钥,解密后的会话密钥原路返回给sdk消息处理模块,sdk消息处理模块使用会话密钥解密当前加密消息后显示到app界面供用户查看。andorid sdk使用的通道包括但不限于uicc通道、oma通道、and通道。
[0061]
仿照短消息应用的做法实现消息列表的展示,供用户浏览和选择消息进行浏览;维护特定容量的消息列表缓存供用户后期查看;对浏览过的消息,上送已读状态到bip服务器,便于服务器删除后台消息缓存队列。sdk消息处理模块还提供消息查询接口供客户端应用层查询当前是否有新消息。
[0062]
sdk消息处理模块拉取消息指:通过stk应用单元的launchbrowser(启动浏览器)指令,拉起用户的浏览器并利用传送的ip地址实现显示消息内容,或者拉取特定的app并在app的消息列表中展示消息内容。
[0063]
交互信息指:用户点击stk应用单元的stk显示界面上的确认按钮或取消按钮,或者手机返回超时;
[0064]
用户点击取消,表明当前消息用户已查看确认,不再重复推送当前消息;
[0065]
用户点击确认,表明当前消息用户已查看确认,不再重复推送当前消息。
[0066]
手机返回超时,表明当前消息用户未查看确认,后续需重复推送当前消息。
[0067]
客户端app单元5还包括android sdk和ios sdk。android sdk管理与贴膜卡交互的uicc通道状态;需要与贴膜卡交互时,通过uicc通道下发指令到贴膜卡,贴膜卡会临时关闭bip通道;指令处理完毕时下发特定指令告知贴膜卡打开bip通道。ios没有uicc通道,始终通过bip通道完成指令交互。
[0068]
以上,整体工作流程如下:
[0069]
用户通过应用后台1发起消息下推,将消息加密(可选);应用后台后1发送消息给bip服务器2;bip服务器2与贴膜卡3保持有长连接,bip服务器2将消息下发给贴膜卡3,贴膜卡3接收到消息后,进行解密(可选);贴膜卡3通过stk的显示指令,让手机弹框显示给用户;用户通过点击显示屏幕中的“确定”或“取消”按钮,通知贴膜卡查看消息的状态;贴膜卡可以将消息状态返回给bip服务器;bip服务器根据消息状态确定是否继续推送,或者是重复推送;用户点击确认后,通过stk的launchbrowser指令,拉起用户的浏览器;拉起用户浏览器时,传送的ip地址可以实现显示消息的全部内容,也可以是拉取特定的app并在app的消息列表中展示消息的内容。
[0070]
其中,消息发起模块对消息进行加密和组包指:使用通道保护公钥加密随机会话密钥生成数字信封数据,使用当前随机会话密钥加密消息内容明文数据得到消息内容密文数据;组装附加信息+数据信封数据+消息内容密文数据得到加密消息数据,即:加密后的消息体如图2所示。
[0071]
消息管理模块维护一个消息循环队列,队列的每个节点为接收到的一个加密消息数据包,以消息索引进行唯一标识区分。每收到一个加密消息,首先进行入队列操作,采用先进先出、后进后出的策略。同时每个节点维护如下表所示的几个状态:已推送、已拉取、节点删除。
[0072]
如图3所示,为消息接收处理流程示意图。
[0073]
图4所示,为消息下推轮询处理流程图。
[0074]
另外,客户端app单元5可以直接从后台的bip服务器2拉取消息。通过sdk消息处理模块向bip服务器2请求,同时获取多条消息内容密文信息。sdk消息处理模块一次性解密得到多条消息内容的明文信息。如图5所示。
[0075]
批量处理结果通知,指的是sdk消息处理模块展示了一批消息列表供用户查看。针对用户点击查看过的消息,sdk消息处理模块需做状态记录。当用户退出消息浏览管理界面时,sdk消息处理模块通过此指令批量告知bip服务器2,哪些消息已经被用户查看过。针对已查看过的消息,bip服务器2会设置已拉取状态并作节点删除处理。如图6所示。
[0076]
以上实施例仅供说明本发明之用,而非对本发明的限制,有关技术领域的技术人员,在不脱离本发明的精神和范围的情况下,还可以作出各种变换或变型,因此所有等同的技术方案也应该属于本发明的范畴,应由各权利要求所限定。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1