CN102833745A - 一种软件安全升级的方法、通信设备和通信系统 - Google Patents
一种软件安全升级的方法、通信设备和通信系统 Download PDFInfo
- Publication number
- CN102833745A CN102833745A CN2012102470604A CN201210247060A CN102833745A CN 102833745 A CN102833745 A CN 102833745A CN 2012102470604 A CN2012102470604 A CN 2012102470604A CN 201210247060 A CN201210247060 A CN 201210247060A CN 102833745 A CN102833745 A CN 102833745A
- Authority
- CN
- China
- Prior art keywords
- signature
- aku
- verification
- equipment
- upgraded
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Landscapes
- Storage Device Security (AREA)
- Stored Programmes (AREA)
Abstract
本发明公开了一种软件安全升级的方法,包括待升级设备从服务器获取升级包和升级包的签名,待升级设备对自身状态进行校验,若校验通过则对升级包签名进行校验,若对升级包的签名校验通过则待升级设备运行所获取的升级包。该方法不仅对升级包的合法性进行了校验,而且对待升级设备自身的状态进行了校验,提高了软件升级过程中的安全性,而且该方法所述的软件升级流程简单,需要的组网方式也较简单,整个软件升级的过程可以只需要待升级设备和服务器的参与,可以不借助第三方设备。
Description
技术领域
本发明涉及通信技术领域,具体涉及一种软件安全升级的方法、通信设备和通信系统。
背景技术
随着基站部署向人流涌动的地方发展,基站特别是小型基站受到了越来越多的安全威胁,为应对这种针对设备本身软硬件安全的威胁,许多设备都要求设计上具备一定的可信环境(Trusted Enviroment,TrE)模块,用于校验设备及其组件的合法性和有无被攻击的异常发生,TrE模块可以提供值得信赖的环境,保证敏感职能的可信执行和保障存储的敏感数据完整性、机密性。
可信平台模块(Trusted Platform Module,TPM)是TrE的核心模块,TPM通常以系统级芯片(System on Chip,SoC)的形式将几个密码功能模块封装在一个芯片里,外部未经授权无法访问。芯片在出厂时预先植入一对签名密钥对(Endorsement Key,EK),且EK随后被销毁并不保存在其它设备中。TPM的构成如图1所示,TPM包括持久性存储单元,EK以及由EK推演出的万能密钥(Master Key,MK)存储在其中,以及易失性存储单元,用来存储计算的中间数据。此外,还有随机数生成器、签名密钥生成器、散列函数、加解密/签名计算单元等。
3GPP国际标准中对家庭基站H(e)NB的可信环境功能做了如下要求,要求小基站从硬件上支持可信环境。当H(e)NB处于开机或者重启状态时,TrE必须由不可移除的、基于硬件的信任根构成的一个安全启动的过程建立。信任根必须物理上绑定到H(e)NB。安全启动过程应包括执行的TrE信任根的完整性检查。只有成功校验的组件才能被加载或启动。TrE已成功启动后,须继续校验H(e)NB中可信运行所需要的其他组件,如操作系统和程序。
目前对基站软件的升级,在基站和服务器的基础上,通常借助第三方设备对基站本身的状态进行检测,以此保证软件的准确、安全升级。在对此方法的研究和实践过程中,本发明的发明人发现,这种借助第三方设备进行升级的方法不仅软件升级流程复杂,而且组网的结构也较复杂。
发明内容
本发明实施例提供一种软件安全升级的方法、通信设备和通信系统。以期在可信环境下更加快捷地实现通信设备中软件的安全升级。
为了解决上述技术问题,本发明实施例提供以下技术方案实现。
一种软件安全升级的方法,所述方法包括以下步骤:
待升级设备从服务器获取升级包和所述升级包的签名;
获取所述待升级设备自身当前的第一特征值,并对获得的第一特征值进行签名得到第一状态值签名,其中,所述第一特征值包括用于校验升级包签名的第一升级包签名公钥;
对获得的第一状态值签名进行校验,若校验不通过,则停止升级,若校验通过,则利用第一升级包签名公钥对获取的升级包的签名进行校验,若对升级包的签名校验通过,则待升级设备运行所获取的升级包。
本发明实施例提供另一种软件安全升级的方法,所述方法包括以下步骤:
待升级设备从服务器获取升级包和所述升级包的签名;
获取待升级设备自身当前的第二特征值和用于校验升级包签名的第二升级包签名公钥,并对获得的第二特征值和第二升级包签名公钥分别进行签名,分别得到第二状态值签名和第二升级包签名公钥签名;
分别对获得的第二状态值签名和第二升级包签名公钥签名进行校验,若其中至少一个校验不通过,则停止升级,若校验都通过,则利用获得的第二升级包签名公钥对获取的升级包的签名进行校验,若对升级包的签名校验通过,则待升级设备运行所获取的升级包。
本发明实施例还提供一种通信设备,所述设备包括:
第一获取模块,用于从服务器获取升级包和所述升级包的签名;
第二获取模块,用于获取设备自身当前的第一特征值,其中,第一特征值包括用于校验升级包签名的第一升级包签名公钥;
签名模块,用于对获得的第一特征值进行签名得到第一状态值签名;
校验模块,用于对获得的第一状态值签名进行校验,若校验不通过,则不启动运行模块,若校验通过,则利用第一升级包签名公钥对获取的升级包的签名进行校验,若对升级包的签名校验通过,则启动运行模块;
运行模块,用于运行所获取的升级包。
本发明实施例还提供一种通信系统,所述系统包括:
服务器,用于根据软件升级请求将升级包和所述升级包的签名发送给待升级设备;
待升级设备,用于获取自身当前的第一特征值,并对获得的第一特征值进行签名得到第一状态值签名,其中,所述第一特征值包括用于校验升级包签名的第一升级包签名公钥;对获得的第一状态值签名进行校验,若校验不通过,则停止升级,若校验通过,则利用第一升级包签名公钥对接收的升级包的签名进行校验,若对升级包的签名校验通过,则运行获取的升级包。
由上可见,待升级设备在运行升级包之前,自己对自身的状态和升级包签名公钥进行了检测,当自身状态和升级包签名公钥检测通过后再对升级包签名进行检测,提高了软件升级过程中的安全性,而且本发明实施例提供的软件升级方法流程和组网较简单,整个软件升级的过程只需要待升级设备和服务器的参与,不需要借助第三方设备。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他附图。
图1是现有技术中可信平台模块的结构示意图;
图2是本发明实施例提供的一种软件安全升级方法的基本流程示意图;
图3是本发明实施例提供的另一种软件安全升级方法的基本流程示意图;
图4是本发明实施例提供的一种通信设备的结构示意图;
图5是本发明实施例提供的一种通信系统的结构示意图。
具体实施方式
本发明实施例提供一种软件安全升级的方法,由于所述方法由待升级设备自身而不是借助第三方验证设备对升级包签名进行了校验,并且待升级设备在运行升级包之前,预先对本身的状态进行了检查,从而更加快捷地实现了待升级设备中软件的安全升级。本发明实施例还提供一种通信设备和通信系统,该通信设备和通信系统也可以实现软件的快捷安全升级。以下结合附图对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明实施例提供一种软件安全升级的方法,该方法包括以下步骤:
待升级设备从服务器获取升级包和所述升级包的签名;
获取所述待升级设备自身当前的第一特征值,并对获得的第一特征值进行签名得到第一状态值签名,其中,所述第一特征值包括用于校验升级包签名的第一升级包签名公钥;
对获得的第一状态值签名进行校验,若校验不通过,则停止升级,若校验通过,则利用第一升级包签名公钥对获取的升级包的签名进行校验,若对升级包的签名校验通过,则待升级设备运行所获取的升级包。
需要说明的是,所述待升级设备本身具备可信环境(Trusted Environment,TrE)模块,该TrE模块含有散列函数、加解密计算单元、随机数生成器等,TrE模块提供值得信赖的环境,可以对升级包的合法性进行校验。
在本实施例中,待升级设备中预先存储有经TrE签名的第一初始特征值,称为第一初始状态值签名,其中第一初始特征值除包括升级包签名公钥外,还可包括但不仅限于以下特征中的一个或者多个:待升级设备的硬件特征值、待升级软件的当前版本、信任根密钥特征、flash特征值、硬盘特征值。
在待升级设备运行升级包之前,TrE模块对待升级设备自身进行检查,检测方式可以为TrE模块获取待升级设备当前的第一特征值,并对获取的第一特征值进行签名得到第一状态值签名,其中第一特征值除包括升级包签名公钥外,还可包括但不仅限于以下特征中的一个或者多个:待升级设备的硬件特征值、待升级软件的当前版本、信任根密钥特征、flash特征值、硬盘特征值。
对第一特征值的签名可以通过加密计算单元对第一特征值进行签名,或者通过散列函数对第一特征值进行签名,对第一特征值进行签名后,将得到的第一状态值签名与待升级设备中预先存储的第一初始状态值签名进行比较,如果两者不相同,则停止升级,并上报告警;如果两者相同,则说明待升级设备在升级前状态正常,且升级包签名公钥也未被篡改,可以进行后续步骤。
在待升级设备状态正常的情况下,使用升级包签名公钥对获得的升级包的签名进行校验,若校验通过,则待升级设备运行升级包。
在设备运行完升级包后,TrE模块获取设备升级后的特征值,并利用TrE中的信任根密钥或者其衍生的密钥,或者散列函数对特征值进行签名,并将签名后的特征值取代第一初始状态值签名存储于待升级设备当中。
由上可见,由于待升级设备不仅对升级包的合法性进行了校验,而且在升级之前对自身状态进行了校验,提高了软件升级过程中的安全性,而且本发明的实施例提供的软件升级流程简单和组网较简单,整个软件升级的过程可以只需要待升级设备和服务器的参与,不需要借助第三方设备。
本发明实施例还提供一种软件安全升级的方法,参见图2,所述方法包括以下步骤:
S201、基站向服务器发送软件升级指令;
此处基站可以是家庭小基站,服务器可以是OAM Server(OperationAdministration and Maintenance Server,操作管理维护服务器)。
S202、服务器向基站传送升级包和升级包的签名;
S203、基站获取自身当前的第一特征值,并利用其内置的信任根密钥或者其衍生密钥,或者散列函数对第一特征值进行签名得到第一状态值签名,其中,第一特征值包括用于校验升级包签名的第一升级包签名公钥;
需要说明的是,本实施例中的第一特征值还可以包括基站的硬件特征值、待升级软件的当前版本、信任根密钥、flash特征值、硬盘特征值等中的一个或多个。
所述的信任根密钥或者其衍生密钥或者散列函数存储于基站的TrE模块中。
S204、基站将获得的第一状态值签名与基站中预存的第一初始状态值签名进行比较,若两者不相同,则停止升级,并上报告警,若两者相同,则进行步骤S205;
需要说明的是,所述的第一初始状态值签名为基站第一初始特征值经基站TrE模块中内置的信任根密钥或者其衍生的密钥签名后得到的结果,其中第一初始特征值除包括用于校验升级包签名的初始升级包签名公钥,还可以包括但不仅限于以下特征中的一个或者多个:待升级设备的硬件特征值、待升级软件的当前版本、信任根密钥特征、flash特征值、硬盘特征值。
S205、基站利用第一升级包签名公钥对接收的升级包签名进行校验,若校验不通过,则停止升级,并上报告警,若校验通过,则基站运行接收的升级包;
其中,对升级包签名的校验包括校验升级包的完整性、升级包的版本信息等等。
S206、基站获取升级后自身的特征值,并利用内置的信任根密钥或者其衍生密钥或者散列函数对特征值进行签名,并将签名后的特征值取代基站中预存的第一初始状态值签名,用于再次升级中的校验过程。
所述的信任根密钥或者其衍生密钥存储于基站的TrE中。
由上可见,在本实施例中,升级包签名公钥属于基站第一特征值的一部分,若经签名的第一特征值通过校验,即第一状态值签名与预存的第一初始状态值签名相同,则说明升级包签名公钥未被篡改,简化了对升级包签名公钥的校验。
在本实施例提供的软件安全升级的方法中,由于基站在运行升级包之前,利用内置的信任根密钥或者其衍生的密钥或者散列函数不仅对升级包进行校验,而且对自身的状态进行了校验,保证了基站软件升级的安全,而且这些校验工作都是由基站本身来完成的,简化了软件升级的流程以及组网。并且,在基站完成升级后,基站对自身状态进行了刷新和保存,从而为再次升级提供了基础。
本发明实施例还提供一种软件升级的方法,该方法包括以下步骤:
待升级设备从服务器获取升级包和所述升级包的签名;
获取待升级设备自身当前的第二特征值和用于校验升级包签名的第二升级包签名公钥,并对获得的第二特征值和第二升级包签名公钥分别进行签名,分别得到第二状态值签名和第二升级包签名公钥签名;
分别对获得的第二状态值签名和第二升级包签名公钥签名进行校验,若其中至少一个校验不通过,则停止升级,若校验都通过,则利用获得的第二升级包签名公钥对获取的升级包的签名进行校验,若对升级包的签名校验通过,则待升级设备运行所获取的升级包。
需要说明的是,在本实施例中,待升级设备中预先存储有经TrE模块签名的第二特征值和第二升级包签名公钥,称为为第二初始状态值签名和第一初始升级包签名公钥签名,其中,上述第二特征值可包括但不仅限于以下特征中的一个或者多个:待升级设备的硬件特征值、待升级软件的当前版本、信任根密钥特征、flash特征值、硬件特征值,但是第二特征值不包括第二升级包签名公钥。
在待升级设备运行升级包之前,TrE模块对待升级设备自身以及第二升级包签名公钥进行校验,对待升级设备进行校验的过程具体为:
TrE模块获取待升级设备当前的第二特征值和第二升级包签名公钥,并对获取的第二特征值和第二升级包签名公钥分别进行签名得到第二状态值签名和第二升级包签名公钥签名,其中,对第二特征值和第二升级包签名公钥的签名可以通过密钥或者散列函数进行签名;
将得到的第二状态值签名与待升级设备中预先存储的第二初始状态值签名进行比较,如果两者不相同,则说明待升级设备中某些信息被篡改,停止升级,并上报告警,如果两者相同,则说明待升级设备在升级之前状态正常,校验通过;
对第二升级包签名公钥签名的校验过程具体为:
将第二升级包签名公钥签名与待升级设备中预存的第一初始升级包签名公钥签名进行比较,如果两者相同,则说明第二升级包签名公钥未被篡改,校验通过,如果两者不相同,则校验不通过。
若对第二状态值签名和第二升级包签名公钥签名的校验中至少有一个校验不通过时,则停止升级,若对两者校验都通过时,则利用获得的第二升级包签名公钥对获取的升级包的签名进行校验,若对升级包的签名校验通过,则待升级设备运行所获取的升级包。
在设备运行完升级包后,TrE模块获取设备升级后的特征值和升级包签名公钥,并利用TrE模块中的信任根密钥或者其衍生的密钥,或者散列函数对特征值和升级包签名公钥进行签名,并分别取代第二初始状态签名和第一初始升级包签名公钥签名存储在该设备当中,用于再次升级中的校验过程。
由上可见,由于待升级设备不仅对升级包的合法性进行了校验,而且待升级设备在运行升级包之前,对自身的状态和升级包签名公钥的状态进行了校验,提高了软件升级过程中的安全性,而且本发明的实施例提供的软件升级流程和组网较简单,整个软件升级的过程只需要待升级设备和服务器的参与,不需要借助第三方校验设备。
本发明实施例还提供另一种软件升级的方法,参见图3,该方法包括以下步骤:
S301、基站向服务器发送软件升级指令;
S302、服务器向基站传送升级包和升级包的签名;
S303、基站获取自身当前的第二特征值和用于校验升级包签名的第二升级包签名公钥,并利用内置的信任根密钥或者其衍生密钥,或者散列函数对第二特征值和第二升级包签名公钥分别进行签名,分别得到第二状态值签名和第二升级包签名公钥签名;
需要说明的是,第二特征值可包括但不仅限于以下特征中的一个或者多个:基站硬件特征值、待升级软件的当前版本、信任根密钥、flash特征值、硬件特征值,但是第二特征值不包括第二升级包签名公钥。
所述的信任根密钥或者其衍生密钥,或者散列函数存储于基站的TrE模块中。
S304、基站将获得的第二状态值签名与基站中预存的第二初始状态值签名进行比较,若两者不相同,说明基站中某些特征值被篡改,停止升级,并上报告警,若两者相同,则进行步骤S305;
S305、基站将获得的第二升级包签名公钥签名与基站中预存的第一初始升级包签名公钥签名进行比较,若两者不相同,则说明第二升级包签名公钥被篡改,停止升级,并上报告警,若两者相同,则进行步骤S306;
需要说明的是,上述第二初始状态值签名为基站第二初始特征值经基站TrE模块中内置的信任根密钥或者其衍生的密钥或者散列函数签名后得到的结果,上述第一初始升级包签名公钥签名为基站初始升级包签名公钥经基站内置的信任根密钥或者其衍生的密钥或者散列函数签名后得到的结果。
S306、基站利用第二升级包签名公钥对接收的升级包签名进行校验,若校验不通过,则停止升级,并上报告警,若校验通过,则基站运行接收的升级包;
S307、基站获取升级后自身的特征值和升级包签名公钥,并利用内置的信任根密钥或者其衍生密钥或者散列函数对特征值和升级包签名公钥分别进行签名,并将签名后的特征值和升级包签名公钥分别取代基站中预存的第二初始状态值签名和第一初始升级包签名公钥签名,用于再次升级中的校验过程。
由上可见,在本实施例中,由于待升级设备不仅对升级包的合法性进行了校验,而且待升级设备在运行升级包之前,自己对自身的状态和升级包签名公钥的状态进行了校验,提高了软件升级过程中的安全性,而且本发明的实施例提供的软件升级流程和组网较简单,整个软件升级的过程只需要待升级设备和服务器的参与,不需要借助第三方设备。
本发明实施例还提供一种通信设备,该通信设备包括:
第一获取模块,用于从服务器获取升级包和所述升级包的签名;
第二获取模块,用于获取设备自身当前的第一特征值,其中,第一特征值包括用于校验升级包签名的第一升级包签名公钥;
签名模块,用于对获得的第一特征值进行签名,从而得到第一状态值签名;
校验模块,用于对获得的第一状态值签名进行校验,若校验不通过,则不启动运行模块,若校验通过,则利用第一升级包签名公钥对获取的升级包的签名进行校验,若对升级包的签名校验通过,则启动运行模块;
运行模块,用于运行所获取的升级包。
需要说明的是,所述通信设备中预先存储有经签名的第一初始特征值,称为第一初始状态值签名,其中第一初始特征值除包括升级包签名公钥外,还可包括但不仅限于以下特征中的一个或者多个:通讯设备的硬件特征值、待升级软件的当前版本、信任根密钥特征、flash特征值、硬盘特征值。
校验模块对第一状态值签名进行校验的过程具体为,校验模块将第一状态值签名与通信设备中预存的第一初始状态值签名进行比较,若两者不相同,则校验不通过,若两者相同,则校验通过;
当对第一状态值签名的校验通过后,校验模块利用利用第一升级包签名公钥对获取的升级包的签名进行校验。
在通信设备运行完升级包后,第二获取模块重新获取通信设备的特征值,并对特征值进行签名,将签名后的特征值取代第一初始状态值签名存储于通信设备中。
由上可见,由于本发明的实施例提供的通信设备中包括校验模块,该模块在运行模块运行升级包之前,对通信设备自身的状态和升级包签名公钥进行了校验,当对自身状态和升级包签名公钥的检测通过后再对升级包签名进行校验,提高了软件升级过程中的安全性。
本发明实施例提供另一种通信设备,参见图4所示,该设备包括:
第一获取模块401,用于从服务器获取升级包和所述升级包的签名;
其中,第一获取模块401获取升级包和升级包的签名后,将升级包传递给运行模块405,将升级包的签名传递给校验模块404;
第二获取模块402,用于获取设备自身当前的第一特征值,其中,第一特征值包括用于校验升级包签名的第一升级包签名公钥;
其中,第一特征值还包括但不仅限于以下特征中的一个或者多个:通信设备本身的硬件特征值、待升级软件的当前版本、信任根密钥特征、flash特征值、硬盘特征值。
签名模块403,用于对获得的第一特征值进行签名得到第一状态值签名;
其中,签名模块403可以通过信任根密钥或者其衍生密钥,或者通过散列函数对第一特征值进行签名。
校验模块404,用于对获得的第一状态值签名进行校验,若校验不通过,则不启动运行模块,若校验通过,则利用第一升级包签名公钥对获取的升级包的签名进行校验,若对升级包的签名校验通过,则启动运行模块;
其中,校验模块404对第一状态值签名进行校验的方式可以为,校验模块404将第一状态值签名与通信设备的存储模块中预先存储的第一初始状态值签名进行比较,若两者不相同,则校验不通过,若两者相同,则校验通过;
上述第一初始状态值签名为通信设备的第一初始特征值经签名模块403签名后得到的结果,第一初始特征值包括用于校验升级包签名的初始升级包签名公钥。
运行模块405,用于运行所获取的升级包。
进一步的,在运行模块405运行完升级包后,第二获取模块402再次获取该通信设备的特征值,并由签名模块403对该特征值进行签名,并将签名后的特征值取代该通信设备中存储的第一初始状态值签名。
由上可见,由于本发明的实施例提供的通信设备中包括校验模块404,该模块在运行模块405运行升级包之前,对通信设备自身的状态和升级包签名公钥进行了校验,当对自身状态和升级包签名公钥的检测通过后再对升级包签名进行校验,提高了软件升级过程中的安全性。
本发明实施例还提供一种通信系统,该系统包括:
服务器,用于根据软件升级请求将升级包和所述升级包的签名发送给待升级设备;
待升级设备,用于获取自身当前的第一特征值,并对获得的第一特征值进行签名得到第一状态值签名,其中,所述第一特征值包括用于校验升级包签名的第一升级包签名公钥;对获得的第一状态值签名进行校验,若校验不通过,则停止升级,若校验通过,则利用第一升级包签名公钥对接收的升级包的签名进行校验,若对升级包的签名校验通过,则运行获取的升级包。
需要说明的是,本实施例中,待升级设备对获得的第一状态值签名进行校验具体为,待升级设备将获得的第一状态值签名与待升级设备中预存的第一初始状态值签名进行比较,若两者不相同,说明待升级设备中某些特征值被篡改,上报告警,停止升级,若两者相同,则校验通过。
本系统中的待升级设备在运行完升级包后,再获取自身的特征值,并对特征值进行签名,将签名后的特征值取代该设备预存的第一初始状态值签名,用于再次升级中的校验过程。
由上可见,由于本实施例提供的系统中的待升级设备不仅对升级包的合法性进行了校验,而且在升级之前对自身状态进行了校验,提高了软件升级过程中的安全性,而且本发明实施例提供的系统机构简单,只有待升级设备和服务。
本发明实施例还提供另一种实现软件安全升级的系统,参见图5,该系统包括:
服务器501,用于根据软件升级请求将升级包和所述升级包的签名发送给基站502;
基站502,用于获取自身当前的第一特征值,并对获得的第一特征值进行签名得到第一状态值签名,其中,所述第一特征值包括用于校验升级包签名的第一升级包签名公钥;
基站502对获得的第一状态值签名进行校验,若校验不通过,则停止升级,若校验通过,则利用用于校验升级包签名的第一升级包签名公钥对接收的升级包的签名进行校验,当对升级包的签名校验通过时,则运行获取的升级包。
在本实施例中,基站502对获得的第一状态值签名进行校验的方式可以为,基站502将获得的第一状态值签名与基站502中预存的第一初始状态值签名进行比较,若两者不相同,说明基站502中某些特征值被篡改,上报告警,停止升级,若两者相同,则校验通过。
本系统中的基站502在运行完升级包后,再获取自身的特征值,并对特征值进行签名,将签名后的特征值取代该基站中预存的第一初始状态值签名,用于基站再次升级中的校验过程。
由上可见,由于本实施例提供的系统中的基站502不仅对升级包的合法性进行了校验,而且在升级之前对自身状态进行了校验,提高了软件升级过程中的安全性,而且本发明实施例提供的系统机构简单,只有基站和服务器。
以上对本发明进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
Claims (16)
1.一种软件安全升级的方法,其特征在于,包括:
待升级设备从服务器获取升级包和所述升级包的签名;
获取所述待升级设备自身当前的第一特征值,并对获得的第一特征值进行签名得到第一状态值签名,其中,所述第一特征值包括用于校验升级包签名的第一升级包签名公钥;
对获得的第一状态值签名进行校验,若校验不通过,则停止升级,若校验通过,则利用第一升级包签名公钥对获取的升级包的签名进行校验,若对升级包的签名校验通过,则待升级设备运行所获取的升级包。
2.根据权利要求1所述的方法,其特征在于,所述对获得的第一状态值签名进行校验具体为,将获得的第一状态值签名与待升级设备中预存的第一初始状态值签名进行比较,若两者相同,则校验通过,若两者不相同,则校验不通过,其中,所述第一初始状态值签名为所述待升级设备的第一初始特征值经签名后得到的结果,所述第一初始特征值包括用于校验升级包签名的初始升级包签名公钥。
3.根据权利要求2所述的方法,其特征在于,所述方法还包括:
获取待升级设备运行完升级包后的特征值,对特征值进行签名,并将签名后的特征值取代待升级设备中预储的第一初始状态值签名。
4.根据权利要求2所述的方法,其特征在于,所述第一特征值包括待升级设备的硬件特征值、待升级软件的当前版本、信任根密钥特征、升级包签名公钥。
5.根据权利要求2所述的方法,其特征在于,所述对获得的第一特征值进行签名具体为,待升级设备利用内置的加密计算单元或者散列函数对第一特征值进行签名。
6.一种软件安全升级的方法,其特征在于,所述方法包括以下步骤:
待升级设备从服务器获取升级包和所述升级包的签名;
获取待升级设备自身当前的第二特征值和用于校验升级包签名的第二升级包签名公钥,并对获得的第二特征值和第二升级包签名公钥分别进行签名,分别得到第二状态值签名和第二升级包签名公钥签名;
分别对获得的第二状态值签名和第二升级包签名公钥签名进行校验,若其中至少一个校验不通过,则停止升级,若校验都通过,则利用获得的第二升级包签名公钥对获取的升级包的签名进行校验,若对升级包的签名校验通过,则待升级设备运行所获取的升级包。
7.根据权利要求6所述的方法,其特征在于,所述对获得的第二状态值签名进行校验具体为,将获得的第二状态值签名与待升级设备中预存的第二初始状态值签名进行比较,若两者相同,则校验通过,若两者不相同,则校验不通过,其中,所述第二初始状态值签名为所述待升级设备的第二初始特征值经签名后得到的结果,且所述第二初始特征值不包括用于校验升级包签名的初始升级包签名公钥;
所述对获得的第二升级包签名公钥签名进行校验具体为,将获得的第二升级包签名公钥签名与待升级设备中预存的第一初始升级包签名公钥签名进行比较,若两者相同,则校验通过,若两者不相同,则校验不通过,其中,所述第一初始升级包签名公钥签名为所述待升级设备的初始升级包签名公钥经签名后得到的结果。
8.根据权利要求7所述的方法,其特征在于,所述方法还包括:
获取待升级设备运行完升级包后的特征值和升级包签名公钥,对特征值和升级包签名公钥分别进行签名,并将签名后的特征值和升级包签名公钥分别取代待升级设备中预存的第二初始状态值签名和第一初始升级包签名公钥签名。
9.根据权利要求7所述的方法,其特征在于,所述第二特征值包括待升级设备的硬件特征值、待升级软件的当前版本、信任根密钥特征。
10.根据权利要求7所述的方法,其特征在于,所述对获得的第二特征值和第二升级包签名公钥分别进行签名具体为,待升级设备利用内置的加密计算单元或者散列函数分别对第二特征值和第二升级包签名公钥进行签名。
11.一种通信设备,其特征在于,所述设备包括:
第一获取模块,用于从服务器获取升级包和所述升级包的签名;
第二获取模块,用于获取设备自身当前的第一特征值,其中,第一特征值包括用于校验升级包签名的第一升级包签名公钥;
签名模块,用于对获得的第一特征值进行签名得到第一状态值签名;
校验模块,用于对获得的第一状态值签名进行校验,若校验不通过,则不启动运行模块,若校验通过,则利用第一升级包签名公钥对获取的升级包的签名进行校验,若对升级包的签名校验通过,则启动运行模块;
运行模块,用于运行所获取的升级包。
12.根据权利要求11所述的设备,其特征在于,所述设备包括存储模块,用于存储第一初始状态值签名,所述第一初始状态值签名为所述第一初始特征值经签名后得到的结果,所述第一初始特征值包括用于校验升级包签名的初始升级包签名公钥;
所述校验模块对获得的第一状态值签名进行校验具体为,将获得的第一状态值签名与存储模块中存储的第一初始状态值签名进行比较,若两者相同,则校验通过,若两者不相同,则校验不通过。
13.根据权利要求12所述的设备,其特征在于,所述第二获取模块还用于在运行模块运行完升级包后获取设备的特征值,并且签名模块对所述特征值进行签名,将签名后的特征值取代存储模块中存储的第一初始状态值签名。
14.一种通信系统,其特征在于,所述系统包括:
服务器,用于根据软件升级请求将升级包和所述升级包的签名发送给待升级设备;
待升级设备,用于获取自身当前的第一特征值,并对获得的第一特征值进行签名得到第一状态值签名,其中,所述第一特征值包括用于校验升级包签名的第一升级包签名公钥;对获得的第一状态值签名进行校验,若校验不通过,则停止升级,若校验通过,则利用第一升级包签名公钥对接收的升级包的签名进行校验,若对升级包的签名校验通过,则运行获取的升级包。
15.根据权利要求14所述的系统,其特征在于,所述待升级设备对获得的第一状态值签名进行校验具体为,将获得的第一状态值签名与待升级设备中预存的第一初始状态值签名进行比较,若两者相同,则校验通过,若两者不相同,则校验不通过,其中,所述第一初始状态值签名为所述待升级设备的初始特征值经签名后得到的结果。
16.根据权利要求15所述的系统,其特征在于,所述待升级设备获取自身运行完升级包后的特征值,对特征值进行签名,并将签名后的特征值取代待升级设备中预存的第一初始状态值签名。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210247060.4A CN102833745B (zh) | 2012-07-17 | 2012-07-17 | 一种软件安全升级的方法、通信设备和通信系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210247060.4A CN102833745B (zh) | 2012-07-17 | 2012-07-17 | 一种软件安全升级的方法、通信设备和通信系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102833745A true CN102833745A (zh) | 2012-12-19 |
CN102833745B CN102833745B (zh) | 2016-03-30 |
Family
ID=47336653
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201210247060.4A Active CN102833745B (zh) | 2012-07-17 | 2012-07-17 | 一种软件安全升级的方法、通信设备和通信系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102833745B (zh) |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103354496A (zh) * | 2013-06-24 | 2013-10-16 | 华为技术有限公司 | 一种公钥密码的处理方法、装置及系统 |
CN104052818A (zh) * | 2014-06-27 | 2014-09-17 | 青岛海信移动通信技术股份有限公司 | 一种移动终端的版本升级方法及装置 |
CN104866351A (zh) * | 2015-05-27 | 2015-08-26 | 百富计算机技术(深圳)有限公司 | 一种数据传输方法、服务端及客户端 |
CN105117651A (zh) * | 2015-09-16 | 2015-12-02 | 上海华为技术有限公司 | 一种控制单板安全启动的方法、软件包升级的方法及装置 |
CN105897421A (zh) * | 2015-11-17 | 2016-08-24 | 乐视致新电子科技(天津)有限公司 | 用于路由器离线升级的方法和系统 |
CN106372498A (zh) * | 2016-09-05 | 2017-02-01 | 杭州华三通信技术有限公司 | 一种软件保护的方法和装置 |
CN106843927A (zh) * | 2016-12-21 | 2017-06-13 | 北京奇虎科技有限公司 | 系统升级方法、装置以及刷机方法、装置 |
WO2021092745A1 (zh) * | 2019-11-12 | 2021-05-20 | 华为技术有限公司 | 一种设备升级方法及相关设备 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080046758A1 (en) * | 2006-05-05 | 2008-02-21 | Interdigital Technology Corporation | Digital rights management using trusted processing techniques |
CN101867694A (zh) * | 2010-05-21 | 2010-10-20 | 中兴通讯股份有限公司 | 交互式网络电视iptv机顶盒的升级方法及系统 |
-
2012
- 2012-07-17 CN CN201210247060.4A patent/CN102833745B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080046758A1 (en) * | 2006-05-05 | 2008-02-21 | Interdigital Technology Corporation | Digital rights management using trusted processing techniques |
CN101867694A (zh) * | 2010-05-21 | 2010-10-20 | 中兴通讯股份有限公司 | 交互式网络电视iptv机顶盒的升级方法及系统 |
Cited By (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103354496A (zh) * | 2013-06-24 | 2013-10-16 | 华为技术有限公司 | 一种公钥密码的处理方法、装置及系统 |
WO2014206171A1 (zh) * | 2013-06-24 | 2014-12-31 | 华为技术有限公司 | 一种公钥密码的处理方法、装置及系统 |
CN104052818A (zh) * | 2014-06-27 | 2014-09-17 | 青岛海信移动通信技术股份有限公司 | 一种移动终端的版本升级方法及装置 |
CN104052818B (zh) * | 2014-06-27 | 2017-07-11 | 青岛海信移动通信技术股份有限公司 | 一种移动终端的版本升级方法及装置 |
WO2016187970A1 (zh) * | 2015-05-27 | 2016-12-01 | 百富计算机技术(深圳)有限公司 | 一种数据传输方法、服务端及客户端 |
CN104866351A (zh) * | 2015-05-27 | 2015-08-26 | 百富计算机技术(深圳)有限公司 | 一种数据传输方法、服务端及客户端 |
CN104866351B (zh) * | 2015-05-27 | 2018-03-09 | 百富计算机技术(深圳)有限公司 | 一种数据传输方法、服务端及客户端 |
US10516526B2 (en) | 2015-05-27 | 2019-12-24 | Pax Computer Technology (Shenzhen) Co., Ltd. | Data transmitting method, server and client |
CN105117651A (zh) * | 2015-09-16 | 2015-12-02 | 上海华为技术有限公司 | 一种控制单板安全启动的方法、软件包升级的方法及装置 |
WO2017045627A1 (zh) * | 2015-09-16 | 2017-03-23 | 华为技术有限公司 | 一种控制单板安全启动的方法、软件包升级的方法及装置 |
CN105117651B (zh) * | 2015-09-16 | 2018-05-29 | 上海华为技术有限公司 | 一种控制单板安全启动的方法、软件包升级的方法及装置 |
CN105897421A (zh) * | 2015-11-17 | 2016-08-24 | 乐视致新电子科技(天津)有限公司 | 用于路由器离线升级的方法和系统 |
CN106372498A (zh) * | 2016-09-05 | 2017-02-01 | 杭州华三通信技术有限公司 | 一种软件保护的方法和装置 |
CN106843927A (zh) * | 2016-12-21 | 2017-06-13 | 北京奇虎科技有限公司 | 系统升级方法、装置以及刷机方法、装置 |
WO2021092745A1 (zh) * | 2019-11-12 | 2021-05-20 | 华为技术有限公司 | 一种设备升级方法及相关设备 |
Also Published As
Publication number | Publication date |
---|---|
CN102833745B (zh) | 2016-03-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102833745B (zh) | 一种软件安全升级的方法、通信设备和通信系统 | |
US11171790B2 (en) | Systems and methods for trusted path secure communication | |
CN103843303B (zh) | 虚拟机的管理控制方法及装置、系统 | |
CN103595530B (zh) | 软件密钥更新方法和装置 | |
CN102624699B (zh) | 一种保护数据的方法和系统 | |
US8594652B2 (en) | Cross domain notification | |
US20170170966A1 (en) | Trusted platform module certification and attestation utilizing an anonymous key system | |
CN105260663A (zh) | 一种基于TrustZone技术的安全存储服务系统及方法 | |
CN108399329A (zh) | 一种提高可信应用程序安全的方法 | |
Jeong et al. | An efficient authentication system of smart device using multi factors in mobile cloud service architecture | |
KR20070084326A (ko) | 이동 단말기에서의 구성 파라미터 갱신 | |
CN107563207B (zh) | 加密方法、装置及解密方法、装置 | |
CN105099705B (zh) | 一种基于usb协议的安全通信方法及其系统 | |
CN104991526A (zh) | 工业控制系统安全支撑框架及其数据安全传输和存储方法 | |
CN110795126A (zh) | 一种固件安全升级系统 | |
CN106452786A (zh) | 加解密处理方法、装置和设备 | |
CN101983375A (zh) | 将密码模块绑定到平台 | |
CN106384042B (zh) | 一种电子设备以及安全系统 | |
CN109960903A (zh) | 一种应用加固的方法、装置、电子设备及存储介质 | |
US10686612B2 (en) | Cryptographic data | |
CN104680061A (zh) | 一种Android环境下应用程序启动中代码签名验证的方法和系统 | |
Jung et al. | A secure platform for iot devices based on arm platform security architecture | |
CN104104650B (zh) | 数据文件访问方法及终端设备 | |
CN107315945B (zh) | 一种电子设备的磁盘解密方法和装置 | |
CN107908962A (zh) | 应用于Android智能终端的自检方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |