应用管理方法及相关产品与流程

文档序号:29496283发布日期:2022-04-06 15:25阅读:125来源:国知局
应用管理方法及相关产品与流程

1.本技术涉及应用安全技术领域,尤其涉及一种应用管理方法及相关产品。


背景技术:

2.随着科学技术的发展,物联网技术在人们生活的应用已十分广泛。各种物联网设备常用于消费者、商业、工业和基础设施等不同领域。在实际使用中,物联网设备除了实现设定的功能,设备所属方通常还需要对功能进行拓展,以满足新的功能需求。
3.目前,物联网设备通过安装应用以拓展功能,在验证和安装应用时,需要利用系统供应方提供的工具,验证通过后,可在系统上安装。
4.但是,采用这种方法,由于验证与安装都需要利用系统供应方的工具,依赖于系统供应方,设备所属方对于应用能否在系统上运行缺乏管控,无法自己验证应用,对于应用管理的独立性和安全性低。


技术实现要素:

5.本技术实施例公开了一种应用管理方法及相关产品,提高物联网设备上应用管理的独立性和安全性。
6.第一方面,本技术实施例公开了一种应用管理方法,上述方法应用于物联网设备安装的第一应用,上述方法包括:
7.接收服务器发送的第一信息,上述第一信息包括第一标识、第一明文和第一签名,上述第一明文包括第二应用数据;
8.根据标识与公钥的对应关系,确定与上述第一标识对应的第一公钥;
9.利用上述第一公钥,对上述第一签名进行验签,获得验签结果;
10.在上述验签结果为通过的情况下,将上述第二应用数据写入存储器。
11.在第一方面的一种可能的实施方式中,在上述利用上述第一公钥,对上述第一签名进行验签,获得验签结果之前,上述方法还包括:
12.采用第一函数对上述第一明文进行计算,获得第一校验信息;
13.上述利用上述第一公钥,对上述第一签名进行验签,获得验签结果包括:
14.利用上述第一公钥对上述第一签名进行解密,获得第二校验信息;
15.比较上述第一校验信息和上述第二校验信息,获得验签结果;
16.在上述第一校验信息等于上述第二校验信息的情况下,上述验签结果为通过;
17.在上述第一校验信息不等于上述第二校验信息的情况下,上述验签结果为不通过。
18.在第一方面的一种可能的实施方式中,上述第一信息还包括:第一密文与第三校验信息,在上述根据标识与公钥的对应关系,确定与上述第一标识对应的第一公钥之后,上述方法还包括:
19.利用上述第一公钥对上述第一密文进行解密,获得第二明文;
20.利用第二函数对上述第二明文进行计算,获得第四校验信息;
21.比较上述第三校验信息和上述第四校验信息,获得校验结果;
22.在上述第三校验信息和上述第四校验信息相等的情况下,上述校验结果为通过;
23.在上述第三校验信息和上述第四校验信息不相等的情况下,上述校验结果为不通过;
24.在上述校验结果为通过的情况下,执行上述利用上述第一公钥,对上述第一签名进行验签步骤。
25.在第一方面的一种可能的实施方式中,上述将上述第二应用数据写入存储器包括:
26.获得第二应用在上述存储器中预设存储的起始地址;
27.将上述第二应用数据从上述起始地址写入上述存储器。
28.在第一方面的一种可能的实施方式中,在上述接收服务器发送的第一信息之前,上述方法还包括:
29.在启动上述第一应用的情况下,获得上述第二应用的状态信息,上述状态信息包括不存在或者存在;
30.在上述状态信息为上述不存在的情况下,判断网络连接状态,上述网络连接状态包括连接或者未连接;
31.在上述网络连接状态为上述连接的情况下,向上述服务器发送请求信息,上述请求信息用于请求下载上述第二应用数据;
32.在接收到上述服务器发送的上述第一信息的情况下,确定上述第二应用数据下载成功。
33.在第一方面的一种可能的实施方式中,上述方法还包括:
34.检测上述第二应用的更新状态,上述更新状态包括待更新或者最新;
35.在上述更新状态为上述待更新的情况下,向上述服务器发送更新请求信息,上述更新请求信息用于请求下载上述第二应用的更新数据;
36.接收上述服务器发送的上述更新数据。
37.在第一方面的一种可能的实施方式中,上述检测上述第二应用的更新状态包括:
38.获得上述第二应用的第一版本信息;
39.向上述服务器发送版本请求信息,上述版本请求信息用于上述第二应用的版本信息;
40.接收上述服务器发送的第二版本信息;
41.根据上述第一版本信息和上述第二版本信息,判断上述第二应用的上述更新状态。
42.第二方面,本技术实施例公开了一种应用管理装置,上述装置应用于物联网设备的第一应用,上述装置包括:
43.接收单元,用于接收服务器发送的第一信息,上述第一信息包括第一标识、第一明文和第一签名,上述第一明文包括第二应用数据;
44.获得单元,用于根据标识与公钥的对应关系,确定与上述第一标识对应的第一公钥;
45.计算单元,用于利用上述第一公钥,对上述第一签名进行验签;
46.上述获得单元,还用于获得验签结果;
47.写入单元,用于在上述验签结果为通过的情况下,将上述第二应用数据写入存储器。
48.在第二方面的一种可能的实施方式中,上述获得单元,具体用于获得第一校验信息、第二校验信息和验签结果;
49.上述计算单元,具体用于采用第一函数对上述第一明文进行计算;
50.上述计算单元,具体用于利用上述第一公钥对上述第一签名进行解密;
51.上述计算单元,具体用于比较上述第一校验信息和上述第二校验信息;
52.在上述第一校验信息等于上述第二校验信息的情况下,上述验签结果为通过;
53.在上述第一校验信息不等于上述第二校验信息的情况下,上述验签结果为不通过。
54.在第二方面的一种可能的实施方式中,上述第一信息还包括:第一密文与第三校验信息,上述获得单元,上述获得单元,还用于获得第二明文、第四校验信息和校验结果;
55.上述计算单元,还用于利用上述第一公钥对上述第一密文进行解密;
56.上述计算单元,还用于利用第二函数对上述第二明文进行计算;
57.上述计算单元,还用于比较上述第三校验信息和上述第四校验信息;
58.在上述第三校验信息和上述第四校验信息相等的情况下,上述校验结果为通过;
59.在上述第三校验信息和上述第四校验信息不相等的情况下,上述校验结果为不通过;
60.上述计算单元,还用于在上述校验结果为通过的情况下,执行上述利用上述第一公钥,对上述第一签名进行验签步骤。
61.在第二方面的一种可能的实施方式中,上述获得单元,具体用于获得第二应用在上述存储器中预设存储的起始地址;
62.上述写入单元,具体用于将上述第二应用数据从上述起始地址写入上述存储器。
63.在第二方面的一种可能的实施方式中,
64.上述获得单元,还用于在启动上述第一应用的情况下,获得上述第二应用的状态信息,上述状态信息包括不存在或者存在;
65.上述计算单元,还用于在上述状态信息为上述不存在的情况下,判断网络连接状态,上述网络连接状态包括连接或者未连接;
66.上述装置还包括:
67.发送单元,用于在上述网络连接状态为上述连接的情况下,向上述服务器发送请求信息,上述请求信息用于请求下载上述第二应用数据;
68.上述计算单元,还用于在接收到上述服务器发送的上述第一信息的情况下,确定上述第二应用数据下载成功。
69.在第二方面的一种可能的实施方式中,
70.上述计算单元,还用于检测上述第二应用的更新状态,上述更新状态包括待更新或者最新;
71.上述发送单元,还用于在上述更新状态为上述待更新的情况下,向上述服务器发
送更新请求信息,上述更新请求信息用于请求下载上述第二应用的更新数据;
72.上述接收单元,还用于接收上述服务器发送的上述更新数据。
73.在第二方面的一种可能的实施方式中,
74.上述获得单元,具体用于获得上述第二应用的第一版本信息;
75.上述发送单元,具体用于向上述服务器发送版本请求信息,上述版本请求信息用于上述第二应用的版本信息;
76.上述接收单元,具体用于接收上述服务器发送的第二版本信息;
77.上述计算单元,具体用于根据上述第一版本信息和上述第二版本信息,判断上述第二应用的上述更新状态。
78.第三方面,本技术实施例提供一种电子设备,上述电子设备包括:存储器,用于存储程序;处理器,用于执行上述存储器存储的上述程序,当上述程序被执行时,上述处理器用于执行如上述第一方面及任意一种可选的实施方式的方法。
79.第四方面,本技术实施例提供一种计算机可读存储介质,上述计算机存储介质存储有计算机程序,上述计算机程序包括程序指令,上述程序指令当被处理器执行时使上述处理器执行如上述第一方面及任意一种可选的实施方式的方法。
80.第五方面,本技术实施例提供了一种计算机程序产品,上述计算机程序产品包括:指令或计算机程序;上述指令或上述计算机程序被执行时,使如第一方面中任意一种可能的实施方式中的方法实现。
81.本技术实施例中,上述第一应用接收服务器发送的带有上述第二应用数据的信息,并获得对应的上述第一公钥,对上述第一明文和上述第一签名进行验签。对于诸如上述第二应用的第三方应用在物联网设备上能否下载、安装以及运行的权限交于上述第一应用,该第一应用验证上述第三方应用通过后,可将该第三方应用的数据写入上述物联网设备的存储器,由于上述第一应用由上述设备所属方提供,可以提高对于应用管理的独立性和安全性。
附图说明
82.为了更清楚地说明本技术实施例或背景技术中的技术方案,下面将对本技术实施例或背景技术中所需要使用的附图作简单的介绍。
83.图1为本技术实施例提供的一种物联网设备上应用管理的示意图;
84.图2为本技术实施例提供的一种应用管理方法的流程图;
85.图3为本技术实施例提供的又一种物联网设备上应用管理的示意图;
86.图4为本技术实施例提供的又一种应用管理方法的流程图;
87.图5为本技术实施例提供的一种应用管理的装置的结构示意图;
88.图6为本技术实施例提供的一种电子设备的结构示意图。
具体实施方式
89.为了使本技术的目的、技术方案和优点更加清楚,下面将结合附图对本技术作进一步地描述。
90.本技术的说明书、权利要求书及附图中的术语“第一”和“第二”等仅用于区别不同
对象,而不是用于描述特定顺序。此外,术语“包括”和“具有”以及它们的任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备等,没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单元等,或可选地还包括对于这些过程、方法、产品或设备等固有的其它步骤或单元。
91.在本文中提及的“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本技术的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域技术人员可以显式地和隐式地理解的是,本文所描述的实施例可以与其它实施例相结合。
92.在本技术中,“至少一个(项)”是指一个或者多个,“多个”是指两个或两个以上,“至少两个(项)”是指两个或三个及三个以上,“和/或”,用于描述关联对象的关联关系,表示可以存在三种关系,例如,“a和/或b”可以表示:只存在a,只存在b以及同时存在a和b三种情况,其中a,b可以是单数或者复数。字符“/”一般表示前后关联对象是一种“或”的关系。“以下至少一项(个)”或其类似表达,是指这些项中的任意组合。例如,a,b或c中的至少一项(个),可以表示:a,b,c,“a和b”,“a和c”,“b和c”,或“a和b和c”。
93.本发明实施例提供了应用管理方法、装置、设备以及存储介质,为更清楚地描述本发明的方案,下面先介绍一些本技术实施例提供的应用管理方法、装置、设备以及存储介质所涉及的知识。
94.物联网:物联网(internet of things,iot)是指通过各种信息传感器、射频识别技术、全球定位系统、红外感应器、激光扫描器等各种装置与技术,实时采集任何需要监控、连接、互动的物体或过程,采集其声、光、热、电、力学、化学、生物、位置等各种需要的信息,通过各类可能的网络接入,实现物与物、物与人的泛在连接,实现对物品和过程的智能化感知、识别和管理。物联网是一个基于互联网、传统电信网等的信息承载体,它让所有能够被独立寻址的普通物理对象形成互联互通的网络。
95.固件:固件指是写入可擦写可编程只读存储器或电可擦可编程只读存储器中的程序,设备内部保存的设备“驱动程序”可以叫作固件,通过固件,操作系统才能按照标准的设备驱动实现特定机器的运行动作,比如光驱、刻录机等设备都有内部固件。固件通常担任着一个系统最基础最底层工作的软件。而在硬件设备中,固件就是硬件设备的灵魂,因为一些硬件设备除了固件以外没有其它软件组成,因此固件也就决定着硬件设备的功能及性能。
96.密钥:密钥是一种参数,它是在明文转换为密文或将密文转换为明文的算法中输入的参数。根据密码算法所使用的加密密钥和解密密钥是否相同、能否由加密过程推导出解密过程或者由解密过程推导出加密过程,可将密钥体制分为对称密钥体制和非对称密钥体制。对于密钥体系,信息的发送方和接收方使用同一个密钥去加密和解密数据。它的最大优势是加密者解密速度快,适合于对大数据量进行加密,但密钥管理困难。对于非对称密钥加密,它需要使用不同的密钥来分别完成加密和解密操作,一个公开发布,即公开密钥,另一个由用户自己秘密保存,即私用密钥。信息发送者用公开密钥去加密,而信息接收者则用私用密钥去解密。公钥机制灵活,但加密和解密速度却比对称密钥加密慢得多。
97.加密算法:数据加密的基本过程就是对原来为明文的文件或数据按某种算法进行处理,使其成为不可读的一段代码为“密文”,使其只能在输入相应的密钥之后才能显示出原容,通过这样的途径来达到保护数据不被非法人窃取、阅读的目的,这里的某种算法又被
称作加密算法。该过程的逆过程为解密,即将该编码信息转化为其原来数据的过程。加密算法通常可分为对称式加密算法和非对称式加密算法。
98.数字摘要:数字摘要是将任意长度的消息变成固定长度的短消息,它类似于一个自变量是消息的函数,也就是哈希函数。数字摘要就是采用单向哈希函数将需要加密的明文“摘要”成一串固定长度(128位)的密文这一串密文又称为数字指纹,它有固定的长度,而且不同的明文摘要成密文,其结果总是不同的,而同样的明文其摘要必定一致。
99.数字签名:数字签名是信息发送者产生的别人无法伪造的一段数字串,这段数字串同时也是对信息发送者发送信息真实性的一个有效证明。它是一种类似写在纸上的普通的物理签名,但是使用公钥加密领域的技术来实现的,用于鉴别数字信息的方法。一套数字签名通常定义两种互补的运算,一个用于签名,另一个用于验证。数字签名是非对称密钥加密技术与数字摘要技术结合的应用。对于发送的消息,先采用哈希函数进行运算,得到数字摘要,再对数字摘要采用密钥加密算法,生产数字签名。
100.随着科学技术的发展,物联网技术在人们生活的应用已十分广泛。各种物联网设备常用于消费者、商业、工业和基础设施等不同领域。在实际使用中,物联网设备除了实现设定的功能,设备所属方通常还需要对功能进行拓展,以满足新的功能需求。
101.目前,物联网设备通过安装应用以拓展功能,在验证和安装应用时,需要利用系统供应方提供的工具,验证通过后,可在系统上安装。
102.但是,采用这种方法,由于验证与安装都需要利用系统供应方的工具,依赖于系统供应方,设备所属方对于应用能否在系统上运行缺乏管控,无法自己验证应用,对于应用管理的独立性和安全性低。
103.为了对现有技术中物联网设备上管理应用的方法进行更加详细的说明,本技术实施例提供了一种物联网设备上应用管理的示意图,如图1所示:图1中包括101系统供应方、102设备所属方、103第三方应用开发方、104物联网设备。上述101系统供应方有自己的密钥系统和加解密方式,可以生产公私钥对,为上述104物联网设备提供基本系统模块以及负责固件开发,并将对应的私钥提供给上述102设备所属方和上述103第三方应用开发方,上述102设备所属方为上述104物联网设备提供主应用,保证上述104物联网设备的基本需求功能,将上述104物联网设备的存储区域进行划分,为主应用和第三方应用预留存储空间,上述104物联网设备所属于上述102设备所属方,为上述102设备所属方服务,上述103第三方应用开发方为上述104物联网设备提供第三方应用,可以拓展上述104物联网设备的功能,满足新的需求。在上述104物联网设备上安装应用之前,上述102设备所属方和上述103第三方应用开发方需要对应用数据进行签名,上述104物联网设备的系统模块利用上述101系统供应方提供的对应公钥进行验签,验签通过的情况下,利用上述101系统供应方提供的工具将上述应用数据写入上述物联网设备的存储器中。上述102设备所属方对于上述104物联网设备上的应用管理依赖于上述101系统供应方,需要利用上述101系统供应方提供的密钥体系以及工具才能安装第三方应用,自己无法有效对上述104物联网设备上的应用进行管控,对于应用管理的独立性和安全性低,上述主应用可以是本技术实施例中的第一应用,上述第三方应用可以是本技术实施例中的第二应用。
104.针对上述方法存在的缺陷,本技术实施例提供了一种应用管理方法,该方法应用于物联网设备安装的第一应用,如图2所示,该方法可包括以下步骤:
105.201、接收服务器发送的第一信息,该第一信息包括第一标识、第一明文和第一签名,该第一明文包括第二应用数据。
106.上述第一应用是物联网设备上的主应用程序,由该物联网设备的所属方提供,上述第二应用是第三方应用开发方开发的第三方应用;示例性的,上述物联网设备可以是销售点(point of sales,pos)机器,上述第一应用可以是pos机器上安装的银行收银系统,上述第二应用可以是能够对pos机器功能进行拓展的第三方应用,在该pos机器的使用过程中,除了利用到上述银行收银系统,还会利用到其他的一些功能,这种情况下,需要安装其他应用以扩展该pos机的功能。
107.上述第一应用接收服务器发送的上述第一信息,上述第一应用与上述服务器之间的消息传输可以基于超文本传输协议(hyper text transfer protocol,http)的方式,还可以基于文件传输协议(file transfer protocol,ftp)的方式,本技术实施例对消息的传输方式不作限定。在采用http的方式下载上述第二应用的情况下,上述第一应用可以通过网页向上述服务器发送获得应用数据的请求,服务器响应该请求后,会基于http的方式向上述第一应用发送第三方应用的应用数据。上述第一应用通过对该第一信息进行解析,可得到信息中包括的多个字段信息,从该多个字段信息中可以得到上述第一标识、上述第一明文和上述第一签名。上述第一标识可以是密钥索引,用于上述第一应用获得对应的公钥,上述第一签名是上述第二应用的提供方通过数字签名技术加密得到的数字签名,用于验证应用数据的来源和完整性。
108.202、根据标识与公钥的对应关系,确定与上述第一标识对应的第一公钥。
109.在上述物联网设备中,内置有保存上述标识与公钥对应关系的文件,上述第一应用可以根据上述第一标识,在该文件中找到对应的公钥。上述第一标识是上述第二应用数据被签名使用的私钥的唯一标识,该第一应用可根据该密钥的第一标识识别对应的公钥。在非对称加密技术中,有两种密钥,分为私钥和公钥,私钥用于给数据进行加密,公钥用来解密加密后的数据,或者公钥用于给数据进行加密,私钥用来解密加密后的数据。
110.在本技术的一些实施例中,上述第一信息还包括:第一密文与第三校验信息,在执行步骤202之后,该方法还包括:
111.利用上述第一公钥对上述第一密文进行解密,获得第二明文;
112.利用第二函数对上述第二明文进行计算,获得第四校验信息;
113.比较上述第三校验信息和上述第四校验信息,获得校验结果;
114.在上述第三校验信息和上述第四校验信息相等的情况下,上述校验结果为通过;
115.在上述第三校验信息和上述第四校验信息不相等的情况下,上述校验结果为不通过;
116.在上述校验结果为通过的情况下,执行上述利用上述第一公钥,对上述第一签名进行验签步骤。
117.可以理解,上述第三校验信息和上述第四校验信息用于校验该第一密文的正确性。可选的,该校验信息可以是数字签名算法中的数字摘要,上述第一应用利用上述第一公钥对上述第一密文进行解密,所采用的加解密的算法可以是数据加密标准算法(data encryption standard,des)、三重数据加密标准算法(triple data encryption algorithm,tdes)以及数字签名算法(digital signature algorithm,dsa)等,上述第二函
数用于计算上述第二明文的校验信息,上述第二函数可以是双倍密钥长算法,也可以是其他常用于计算校验信息的数学算法,本技术实施例对此不作限定。具体的,在上述第二函数为双倍密钥长算法的情况下,上述第一应用以上述第二明文作为密钥,该第二明文一半的长度位数的0作为原文,示例性的,在该第二明文为16位数字的情况下,该原文为8位数,每位上的数字为0,并采用双倍密钥算法对该原文进行加密,得到的结果,取该结果的前四位数作为上述第四校验信息。上述第二明文可以是上述第二应用的其他信息;示例性的,上述第二明文可以是上述第二应用的应用编号,在上述第一应用需要安装多个第三方应用的情况下,通过上述应用编号,便于识别下载得到的应用数据的归属,更好地管理多个第三方应用的应用数据;上述第二明文还可以是上述第二应用的数据标识,该数据标识用于记录上述第二应用数据的接收情况,在上述第二应用数据接收不完整的情况下,重新向上述服务器发送获得应用数据的请求,可以避免上述第二应用数据漏发的情况,保证上述第二应用数据传输的完整性。
118.203、利用上述第一公钥,对上述第一签名进行验签,获得验签结果。
119.在本技术的一些实施例中,在执行步骤203之前,该方法还包括:
120.采用第一函数对上述第一明文进行计算,获得第一校验信息;
121.上述执行步骤203包括:
122.利用上述第一公钥对上述第一签名进行解密,获得第二校验信息;
123.比较上述第一校验信息和上述第二校验信息,获得上述验签结果;
124.在上述第一校验信息等于上述第二校验信息的情况下,上述验签结果为通过;
125.在上述第一校验信息不等于上述第二校验信息的情况下,上述验签结果为不通过。
126.上述第一函数可以是常用的计算数字摘要的算法,比如信息摘要算法、安全散列算法以及十六进制编码算法等,上述第一应用利用上述第一公钥对上述第一签名进行解密,所采用的加解密算法可以是数据加密标准算法(data encryption standard,des)、三重数据加密标准算法(triple data encryption algorithm,tdes)以及数字签名算法(digital signature algorithm,dsa)等,本技术实施例对上述第一函数和上述加解密算法不作限定。在上述第一校验信息和上述第二校验信息相等的情况下,上述验签通过,可以保证上述第二应用数据传输的完整性和确定上述第一信息的发送者的身份。
127.204、在上述验签结果为通过的情况下,将上述第二应用数据写入存储器。
128.可以理解,在上述验签结果为不通过的情况下,上述第一应用会丢弃上述第二应用数据。
129.在本技术的一些实施例中,步骤204包括:获得第二应用在上述存储器中预设存储的起始地址;
130.将上述第二应用数据从上述起始地址写入上述存储器。
131.上述第一应用根据设备所属方预设的规定,在上述物联网设备中为上述第二应用预设存储空间,在上述验签结果通过的情况下,上述第一应用将验证通过的上述第二应用数据写入存储器。进一步的,在有多个第三方应用需要安装的情况下,会为该多个第三方应用分别预设存储空间。可以理解,上述起始地址是根据上述第二应用的大小预先设定,上述第二应用数据从上述起始地址写入,可以提高上述存储器空间的利用率,合理规划上述物
联网设备有限的存储空间。
132.在本技术的一些实施例中,在执行步骤201之前,还包括:
133.在启动上述第一应用的情况下,获得上述第二应用的状态信息,上述状态信息包括不存在或者存在;
134.在上述状态信息为上述不存在的情况下,判断网络连接状态,上述网络连接状态包括连接或者未连接;
135.在上述网络连接状态为上述连接的情况下,向上述服务器发送请求信息,上述请求信息用于请求下载上述第二应用数据;
136.在接收到上述服务器发送的上述第一信息的情况下,确定上述第二应用数据下载成功。
137.可以看出,在未接收到上述服务器发送的上述第一信息的情况下,表示该第二应用数据下载失败,上述第一应用会输出提示信息,表示该第二应用数据下载失败;在上述第二应用的状态信息为存在的情况下,表示该第二应用已被安装,上述第一应用可以直接启动该第二应用;在上述第二应用的状态信息为不存在的情况下,表示该第二应用没有被安装在上述物联网设备中,上述第一应用会向上述服务器发送上述请求信息,可以保证上述第二应用的下载权限掌握在上述第一应用,提高上述第一应用的独立性。在上述第一应用向上述服务器发送上述第二应用的请求信息之前,会判断与网络连接的状态,在确保与网络正常连接的情况下,会向上述服务器发送上述请求信息,可以保证下载上述第二应用的稳定性。
138.在本技术的一些实施例中,上述方法还包括:
139.检测上述第二应用的更新状态,上述更新状态包括待更新或者最新;
140.在上述更新状态为上述待更新的情况下,向上述服务器发送更新请求信息,上述更新请求信息用于请求下载上述第二应用的更新数据;
141.接收上述服务器发送的上述更新数据。
142.在上述第二应用可更新的情况下,上述服务器会向上述第一应用发送上述更新信息,该更新信息用于通知上述第二应用可以进行更新。在上述第一应用选择更新的情况下,会向上述服务器发送上述更新请求信息以及接收上述更新数据,可以提高上述第一应用对于第三方应用管理的及时性,保证上述第二应用数据的更新。
143.在本技术的一些实施例中,上述检测上述第二应用的更新状态包括:
144.获得上述第二应用的第一版本信息;
145.向上述服务器发送版本请求信息,上述版本请求信息用于上述第二应用的版本信息;
146.接收上述服务器发送的第二版本信息;
147.根据上述第一版本信息和上述第二版本信息,判断上述第二应用的上述更新状态。
148.上述版本信息可以是上述第二应用的版本号,上述第一版本信息为上述第二应用在上述物联网设备本地的版本信息,上述第二版本信息为上述第二应用在上述服务器的版本信息,示例性的,上述第一应用获取该第一版本信息为100与该第二版本信息为101,将两个版本信息进行比较可以看出,该第二版本信息大于该第一版本信息,故判断上述第二应
用的上述更新状态为上述待更新,通过获取应用在本地和服务器的版本信息进行比较,便于及时判断应用的更新状态。
149.本技术实施例中,上述第一应用接收服务器发送的带有上述第二应用数据的信息,并获得对应的上述第一公钥,对上述第一明文和上述第一签名进行验签。对于诸如上述第二应用的第三方应用在物联网设备上能否下载、安装以及运行的权限交于上述第一应用,该第一应用验证上述第三方应用通过后,可将该第三方应用的数据写入上述物联网设备的存储器,由于上述第一应用由上述设备所属方提供,可以提高物联网设备上应用管理的独立性和安全性。
150.为了对本技术实施例中物联网设备上管理应用的方法进行更加详细的描述,本技术实施例提供了又一种物联网设备上应用管理的示意图,如图3所示。图3包括301系统供应方、302设备所属方、303第三方应用开发方、304物联网设备以及305服务器。上述301系统供应方为上述304物联网设备提供系统模块以及负责固件开发,上述302设备所属方除了为上述304物联网设备提供主应用之外,还拥有自己的密钥系统和加解密方式,可以生产公私钥对,并将生产的私钥分发给303第三方应用开发方,还将上述104物联网设备的存储区域进行划分,为主应用和第三方应用预留存储空间,上述304物联网设备为上述302设备所属方提供服务,上述303第三方应用开发方为上述304物联网设备提供第三方应用,并将应用数据上传到上述305服务器,上述305服务器可将该应用数据发送至上述304物联网设备。在本图中,该304物联网设备在安装和下载第三方应用需要上述主应用进行验证,采用预先约定的验证方式验证、安装以及管理上述第三方应用,该303第三方应用开发方利用分发到的密钥对自己的应用数据进行加密,加密后上传至上述305服务器,由该305服务器将该应用数据发送至上述304物联网设备,上述主应用对接收到的应用数据进行解密验证,验证通过后可在该物联网设备上安装,上述主应用可以是本技术实施例中的第一应用,上述第三方应用可以是本技术实施例中的第二应用。
151.下面结合具体应用场景对应用管理方法进行介绍,如图4所示:该方法应用于物联网设备安装的第一应用,包括以下步骤:
152.401、第一应用启动。
153.上述第一应用是物联网设备上的主应用程序,可以是上述图1和图3中的主应用,由物联网设备的所属方直接提供,内置设备所属方的签名系统。上述物联网设备可以是pos机器,该第一应用可以是收银系统,该pos机器归属于银行,该银行是上述设备所属方,该物联网设备通过下载第三方应用,可以拓展pos机器的功能,满足变化的用户需求。
154.402、第二应用是否存在。
155.上述第一应用获得该第二应用的状态信息,该状态信息包括不存在或者存在,用于该第一应用判断该第二应用是否已安装在上述物联网设备中,本技术实施例以该状态信息为不存在为例。该第二应用可以是上述pos机器中需要使用的第三方应用,以满足功能的拓展。在上述第二应用的状态信息为上述不存在的情况下,上述第一应用会输出信息,表示上述第二应用不存在。
156.403、驻网,下载上述第二应用。
157.上述第一应用连接数据网络,在网络连接状态为连接的情况下,向该第二应用对应的服务器发送数据请求信息,并接收该服务器返回的信息,上述信息基于http报文的方
式传输。上述第二应用的开发方,即第三方应用开发方,该第三方应用开发方在该第一应用下载上述第二应用之前,将上述第二应用的应用数据以与上述物联网设备的所属方约定的算法进行加密,并上传到上述服务器,该约定的算法可以是des、tdes或者dsa等。
158.404、上述第二应用是否下载成功。
159.上述第一应用判断是否收到上述服务器返回的第一信息,若收到,则上述第二应用下载成功,执行步骤405,否则,上述第二应用下载失败,执行414,输出下载错误提示信息。在上述服务器发送至上述第一应用的信息中,存在着特殊字段,该特殊字段表示该信息的用途,上述第一应用可以根据该特殊字段判断该信息的具体用途。
160.405、解析数据包,获得成员变量。
161.上述第一应用解析收到的上述数据包的各个字段,从中获得信息包括密钥索引、密文、第一校验值、第二应用数据以及纵向冗余校验值等。
162.406、纵向冗余校验是否通过。
163.上述第一应用将上述数据包除该纵向冗余校验值外的字段进行纵向冗余校验,得到另外一个纵向冗余校验值,比较这两个纵向冗余校验值是否相等,相等则代表通过,在不相等的情况下,执行步骤414,输出下载错误提示信息。纵向冗余校验可以对上述密文传输的准确性和完整性进行校验。
164.408、校验是否通过。
165.上述密文可以是加密后的上述第二应用的编号,首先上述第一应用根据上述密钥索引,从上述物联网设备中内置的文件中根据索引与公钥的关系,获得对应的公钥,利用该公钥和tdes算法,对上述密文进行解密,获得上述第二应用的应用编号,再采用该应用编号作为密钥,对该应用编号一半长度位数的数值0进行双倍长密钥算法,即电子密码本(electronic codebook,ecb)算法,取结果的前四位作为校验值,比较该校验值与解析得到的上述第一校验值是否相等,相等则表示上述第二应用的应用编号校验通过,否则,表示不通过,执行步骤414,输出错误提示信息,该应用编号可以在上述第一应用下载多个第三方应用的情况下,区分不同的第三方应用的数据;可选的,上述密文还可以是加密后的上述第二应用的数据标识,该数据标识可用于记录上述第二应用数据的接收情况,在上述第二应用数据接收不完整的情况下,重新向上述服务器发送获得应用数据的请求,可以避免上述第二应用数据漏发的情况,保证上述第二应用数据传输的完整性。
166.409、验签是否通过。
167.在上述纵向冗余校验通过和上述校验通过的情况下,对解析得到的上述第二应用数据进行验签,该第二应用数据包括应用数据的镜像文件以及对应的数字签名。上述第一应用利用上述公钥和与上述第二应用的开发方约定的算法对该数字签名进行解密,该约定的算法可以是des、tdes或者dsa等,获得一个校验信息,再对该镜像文件用哈希算法进行计算,获得另外一个校验信息,比较前述两个校验信息是否相等,若相等,则通过验签,否则,上述第一应用执行步骤414,输出错误提示信息。
168.410、将第二应用数据写入存储器。
169.在上述第二应用数据验签通过后,上述第一应用获得上述第二应用在存储器中预设存储的起始地址,该预设存储的起始地址由上述设备所属方预先设定,从该起始地址开始写入存储器。
170.411、修改上述第二应用的状态信息。
171.在上述第一应用将上述第二应用写入存储器之后,修改该状态信息从不存在为存在。
172.412、上述第二应用下载成功。
173.上述第二应用已被安装在上述物联网设备中,处于可运行的状态。
174.413、结束。
175.上述第二应用的安装过程结束。
176.414、输出错误提示。
177.上述第一应用根据出现错误的步骤所在的位置,输出对应的错误信息。示例性的,在步骤409验签未通过的情况下,输出上述第二应用数据验签未通过的提示信息。
178.在本技术实施例中,物联网设备上的第一应用通过获得第二应用的状态信息,判断该第二应用在系统中的状态,与服务器建立网络连接后,向服务器发送合适的请求信息,在收到该服务器发送的包含该第二应用数据的消息之后,对该消息中的数据包的信息安全和传输的准确性进行验证,可以保证系统中上述第二应用的更新以及提高物联网设备上应用管理的独立性和安全性。
179.下面结合应用管理装置的结构来描述应用管理的过程。图5为本技术实施例提供的一种应用管理的装置的结构示意图。根据图5所示,该应用管理的装置应用于物联网设备安装的第一应用,包括:
180.接收单元501,用于接收服务器发送的第一信息,上述第一信息包括第一标识、第一明文和第一签名,上述第一明文包括第二应用数据;
181.获得单元502,用于根据标识与公钥的对应关系,确定与上述第一标识对应的第一公钥;
182.计算单元503,用于利用上述第一公钥,对上述第一签名进行验签;
183.上述获得单元502,还用于获得验签结果;
184.写入单元504,用于在上述验签结果为通过的情况下,将上述第二应用数据写入存储器。
185.在第二方面的一种可能的实施方式中,上述获得单元502,具体用于获得第一校验信息、第二校验信息和验签结果;
186.上述计算单元503,具体用于采用第一函数对上述第一明文进行计算;
187.上述计算单元503,具体用于利用上述第一公钥对上述第一签名进行解密;
188.上述计算单元503,具体用于比较上述第一校验信息和上述第二校验信息;
189.在上述第一校验信息等于上述第二校验信息的情况下,上述验签结果为通过;
190.在上述第一校验信息不等于上述第二校验信息的情况下,上述验签结果为不通过。
191.在第二方面的一种可能的实施方式中,上述第一信息还包括:第一密文与第三校验信息,上述获得单元502,上述获得单元502,还用于获得第二明文、第四校验信息和校验结果;
192.上述计算单元503,还用于利用上述第一公钥对上述第一密文进行解密;
193.上述计算单元503,还用于利用第二函数对上述第二明文进行计算;
194.上述计算单元503,还用于比较上述第三校验信息和上述第四校验信息;
195.在上述第三校验信息和上述第四校验信息相等的情况下,上述校验结果为通过;
196.在上述第三校验信息和上述第四校验信息不相等的情况下,上述校验结果为不通过;
197.上述计算单元503,还用于在上述校验结果为通过的情况下,执行上述利用上述第一公钥,对上述第一签名进行验签步骤。
198.在第二方面的一种可能的实施方式中,上述获得单元502,具体用于获得第二应用在上述存储器中预设存储的起始地址;
199.上述写入单元504,具体用于将上述第二应用数据从上述起始地址写入上述存储器。
200.在第二方面的一种可能的实施方式中,
201.上述获得单元502,还用于在启动上述第一应用的情况下,获得上述第二应用的状态信息,上述状态信息包括不存在或者存在;
202.上述计算单元503,还用于在上述状态信息为上述不存在的情况下,判断网络连接状态,上述网络连接状态包括连接或者未连接;
203.上述装置还包括:
204.发送单元505,用于在上述网络连接状态为上述连接的情况下,向上述服务器发送请求信息,上述请求信息用于请求下载上述第二应用数据;
205.上述计算单元503,还用于在接收到上述服务器发送的上述第一信息的情况下,确定上述第二应用数据下载成功。
206.在第二方面的一种可能的实施方式中,
207.上述计算单元503,还用于检测上述第二应用的更新状态,上述更新状态包括待更新或者最新;
208.上述发送单元505,还用于在上述更新状态为上述待更新的情况下,向上述服务器发送更新请求信息,上述更新请求信息用于请求下载上述第二应用的更新数据;
209.上述接收单元501,还用于接收上述服务器发送的上述更新数据。
210.在第二方面的一种可能的实施方式中,
211.上述获得单元502,具体用于获得上述第二应用的第一版本信息;
212.上述发送单元505,具体用于向上述服务器发送版本请求信息,上述版本请求信息用于上述第二应用的版本信息;
213.上述接收单元501,具体用于接收上述服务器发送的第二版本信息;
214.上述计算单元503,具体用于根据上述第一版本信息和上述第二版本信息,判断上述第二应用的上述更新状态。
215.应理解以上分区装置中的各个单元的划分仅仅是一种逻辑功能的划分,实际实现时可以全部或部分集成到一个物理实体上,也可以物理上分开。例如,以上各个单元可以为单独设立的处理元件,也可以集成在终端的某一个芯片中实现,此外,也可以以程序代码的形式存储于控制器的存储元件中,由处理器的某一个处理元件调用并执行以上各个单元的功能。此外各个单元可以集成在一起,也可以独立实现。这里的处理元件可以是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤或以上各个单元可以通过
处理器元件中的硬件的集成逻辑电路或者软件形式的指令完成。该处理元件可以是通用处理器,例如中央处理器(英文:central processing unit,简称:cpu),还可以是被配置成实施以上方法的一个或多个集成电路,例如:一个或多个特定集成电路(英文:application-specific integrated circuit,简称:asic),或,一个或多个微处理器(英文:digital signal processor,简称:dsp),或,一个或者多个现场可编程门阵列(英文:field-programmable gate array,简称:fpga)等。
216.图6为本技术实施例提供的一种电子设备的结构示意图。如图6所示,该电子设备600包括处理器601、存储器602以及通信接口603;该处理器601、存储器602以及通信接口603通过总线相互连接。
217.存储器602包括但不限于是随机存储记忆体(random access memory,ram)、只读存储器(read-only memory,rom)、可擦除可编程只读存储器(erasable programmableread only memory,eprom)、或便携式只读存储器(compact disc read-only memory,cdrom),该存储器602用于相关指令及数据。通信接口603用于接收和发送数据,其可以实现图5中发送单元505、接收单元501以及获得单元502的功能。
218.处理器601可以是一个或多个中央处理器(central processing unit,cpu),在处理器601是一个cpu的情况下,该cpu可以是单核cpu,也可以是多核cpu。具体的,处理器601可实现图5中计算单元503以及写入单元504的功能。
219.该电子设备600中的处理器601用于读取该存储器602中存储的程序代码,执行前述实施例中的应用管理方法。
220.在本技术的实施例中提供一种计算机可读存储介质,上述计算机可读存储介质存储有计算机程序,上述计算机程序被处理器执行时实现:接收服务器发送的第一信息,该第一信息包括第一标识、第一明文和第一签名,该第一明文包括第二应用数据;根据标识与公钥的对应关系,确定与所述第一标识对应的第一公钥;利用上述第一公钥,对上述第一签名进行验签,获得验签结果;在上述验签结果为通过的情况下,将上述第二应用数据写入存储器。
221.本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。
222.本发明是根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
223.这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或
多个方框中指定的功能。
224.这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1