程序运行的方法及装置与流程

文档序号:15205118发布日期:2018-08-21 07:49阅读:151来源:国知局

本发明涉及移动互联网技术领域,具体而言,本发明涉及一种程序运行的方法及装置。



背景技术:

二进制签名机制是以密码学为基础,验证程序的方法,程序在未运行前,必然是一种二进制文件的形式,系统在加载二进制文件时,为了确认程序的合法来源,校验程序文件自身的数字签名,并且当按照密码学原理计算得到结果,并确定数字签名正确时,运行该程序,其中,数字签名实际也是程序二进制文件的一部分。

当程序验签通过后,系统确定执行该程序的用户信息,并基于用户信息与运行权限信息之间的对应关系,确定该程序对应的运行权限信息,例如,调用某一接口的权限信息,并基于确定的运行权限信息运行该程序。

然而,当程序验签通过后,该程序对应的权限信息即为执行该程序的用户对应的权限信息,即由该用户执行的全部程序对应的运行权限信息均相同,由于用户信息并不是一定安全,因此通过用户信息确定该用户执行的全部程序的运行权限信息安全性也较低,从而导致程序运行的安全性较低。



技术实现要素:

为克服上述技术问题或者至少部分地解决上述技术问题,特提出以下技术方案:

本发明的实施例根据第一个方面,提供了一种程序运行的方法,包括:

当检测到程序启动运行时,读取程序对应的签名信息;

基于程序对应的签名信息,确定签名信息对应的数字证书;

设置数字证书对应的权限信息,并基于设置的权限信息,运行程序。

具体地,基于程序对应的签名信息,确定签名信息对应的数字证书的步骤,包括:

基于程序对应的签名信息中携带的数字证书标识信息,确定签名信息对应的数字证书;和/或,

通过系统中存储的各个数字证书依次验签程序对应的签名信息,确定签名信息对应的数字证书。

具体地,读取程序对应的签名信息的步骤,包括:

从外部存储器中读取程序对应的签名信息。

具体地,基于权限信息,运行程序的步骤,包括:

基于针对数字证书当前设置的权限信息和/或针对数字证书预设的权限信息,确定程序对应的权限信息;

基于已确定的程序对应的权限信息,运行程序。

具体地,程序的签名信息还包括:签名信息的密文部分;基于数字证书验签程序对应的签名信息的方式,包括:

对程序的序列指令进行哈希运算,得到哈希运算结果,以及,

基于数字证书中的公钥信息,对签名信息的密文部分进行解密,得到解密结果;

比对哈希运算结果以及解密结果;

当哈希运算结果以及解密结果相同时,确定程序验签成功。

本发明的实施例根据第二个方面,还提供了一种程序运行的装置,包括:

读取模块,用于当检测到程序启动运行时,读取程序对应的签名信息;

确定模块,用于基于读取模块读取的程序对应的签名信息,确定签名信息对应的数字证书;

设置模块,用于设置数字证书对应的权限信息;

运行模块,用于基于设置模块设置的权限信息,运行程序。

具体地,确定模块,具体用于基于程序对应的签名信息中携带的数字证书标识信息,确定签名信息对应的数字证书;

确定模块,具体还用于通过系统中存储的各个数字证书依次验签程序对应的签名信息,确定签名信息对应的数字证书。

具体地,读取模块,具体用于从外部存储器中读取程序对应的签名信息。

具体地,运行模块具体包括:确定单元、运行单元;

确定单元,用于基于针对数字证书当前设置的权限信息和/或针对数字证书预设的权限信息,确定程序对应的权限信息;

运行单元,用于基于已确定的程序对应的权限信息,运行程序。

进一步地,程序的签名信息还包括:签名信息的密文部分;该装置还包括:验签模块;

验签模块,用于对程序的序列指令进行哈希运算,得到哈希运算结果,以及,基于数字证书中的公钥信息,对签名信息的密文部分进行解密,得到解密结果;

验签模块,还用于比对哈希运算结果以及解密结果;

验签模块,还用于当哈希运算结果以及解密结果相同时,确定程序验签成功。

本发明的实施例根据第三个方面,还提供了一种设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,处理器执行程序时实现第一个方面所示的程序运行的方法。

本发明提供了一种程序运行的方法及装置,与现有技术相比,本发明当检测到程序启动运行时,读取程序对应的签名信息,然后基于程序对应的签名信息,确定签名信息对应的数字证书,然后设置数字证书对应的权限信息,并基于设置的权限信息,运行程序。即本发明中程序每次运行时,均需要通过数字证书对程序进行验签,并且在验签通过后,基于实时设置的数字证书的权限来运行该程序,因此系统在程序启动运行时,才为待运行的程序设置运行权限,并且同一用户执行不同程序对应的运行权限可能不同,并且同一程序每次运行的运行权限也可能不同,从而可以提升程序运行的安全性。

本发明附加的方面和优点将在下面的描述中部分给出,这些将从下面的描述中变得明显,或通过本发明的实践了解到。

附图说明

本发明上述的和/或附加的方面和优点从下面结合附图对实施例的描述中将变得明显和容易理解,其中:

图1为本发明实施例的一种程序运行的方法流程图;

图2为本发明实施例的一种程序运行的装置结构示意图;

图3为本发明实施例的另一种程序运行的装置结构示意图。

具体实施方式

下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本发明,而不能解释为对本发明的限制。

本技术领域技术人员可以理解,除非特意声明,这里使用的单数形式“一”、“一个”、“所述”和“该”也可包括复数形式。应该进一步理解的是,本发明的说明书中使用的措辞“包括”是指存在所述特征、整数、步骤、操作、元件和/或组件,但是并不排除存在或添加一个或多个其他特征、整数、步骤、操作、元件、组件和/或它们的组。应该理解,当我们称元件被“连接”或“耦接”到另一元件时,它可以直接连接或耦接到其他元件,或者也可以存在中间元件。此外,这里使用的“连接”或“耦接”可以包括无线连接或无线耦接。这里使用的措辞“和/或”包括一个或更多个相关联的列出项的全部或任一单元和全部组合。

本技术领域技术人员可以理解,除非另外定义,这里使用的所有术语(包括技术术语和科学术语),具有与本发明所属领域中的普通技术人员的一般理解相同的意义。还应该理解的是,诸如通用字典中定义的那些术语,应该被理解为具有与现有技术的上下文中的意义一致的意义,并且除非像这里一样被特定定义,否则不会用理想化或过于正式的含义来解释。

本技术领域技术人员可以理解,这里所使用的“终端”、“终端设备”既包括无线信号接收器的设备,其仅具备无发射能力的无线信号接收器的设备,又包括接收和发射硬件的设备,其具有能够在双向通信链路上,进行双向通信的接收和发射硬件的设备。这种设备可以包括:蜂窝或其他通信设备,其具有单线路显示器或多线路显示器或没有多线路显示器的蜂窝或其他通信设备;pcs(personalcommunicationsservice,个人通信系统),其可以组合语音、数据处理、传真和/或数据通信能力;pda(personaldigitalassistant,个人数字助理),其可以包括射频接收器、寻呼机、互联网/内联网访问、网络浏览器、记事本、日历和/或gps(globalpositioningsystem,全球定位系统)接收器;常规膝上型和/或掌上型计算机或其他设备,其具有和/或包括射频接收器的常规膝上型和/或掌上型计算机或其他设备。这里所使用的“终端”、“终端设备”可以是便携式、可运输、安装在交通工具(航空、海运和/或陆地)中的,或者适合于和/或配置为在本地运行,和/或以分布形式,运行在地球和/或空间的任何其他位置运行。这里所使用的“终端”、“终端设备”还可以是通信终端、上网终端、音乐/视频播放终端,例如可以是pda、mid(mobileinternetdevice,移动互联网设备)和/或具有音乐/视频播放功能的移动电话,也可以是智能电视、机顶盒等设备。

实施例一

本发明实施例提供了一种程序运行的方法,如图1所示,包括:

步骤101、当检测到程序启动运行时,读取程序对应的签名信息。

具体地,读取程序对应的签名信息的步骤,包括:从外部存储器中读取程序对应的签名信息。

对于本发明实施例,外部存储器包括软盘、硬盘、光盘、u盘、移动硬盘以及磁盘等。

对于本发明实施例,当某一程序运行时,该程序向系统发送运行请求消息,当系统检测到该运行请求消息时,从外部存储器中读取该程序的序列指令信息,以及该程序对应的签名信息。

步骤102、基于程序对应的签名信息,确定签名信息对应的数字证书。

对于本发明实施例,一个签名信息对应一个数字证书。在本发明实施例中,系统中存储着多个数字证书,当系统读取该程序对应的签名信息之后,通过利用多个数字证书依次验签,确定该签名信息对应的数字证书;和/或,基于签名信息中携带的数字证书的标识信息,确定该签名信息对应的数字证书。

步骤103、设置数字证书对应的权限信息。

对于本发明实施例,当系统确定该程序的签名信息对应的数字证书之后,标记该程序的签名信息对应的数字证书,并设置该数字证书对应的权限信息。

例如,当前存在两个待运行的程序,包括程序1以及程序2,其中标记程序1的签名信息对应的数字证书为a,标记程序2的签名信息对应的数字证书为b,设置数字证书a对应的权限信息为权限信息1,数字证书b对应的权限信息为权限信息2。

对于本发明实施例,系统中包含多个权限级别,每个权限级别可以对应不同的权限信息。在本发明实施例中,当确定某一程序的签名信息对应的数字证书之后,系统可以为该数字证书分配权限级别,从而根据权限级别,确定该程序对应的运行权限信息。

对于本发明实施例,当系统确定该程序的签名信息对应的数字证书之后,标记该数字证书,并通过与数字证书相同的标记,标记该程序。在本发明实施例中,在程序运行的过程中,当该程序需要调用某一接口,或者调用某一函数时,基于该程序的标记,该程序的权限信息,以确定该程序是否可以调用某一接口或者调用某一函数。

对于本发明实施例,通过对程序的签名信息对应的数字证书以及该程序进行标记,能够在程序运行的过程中,例如调用某一接口时,快速准确地确定出该程序的权限信息,以确定是否继续运行该程序,从而可以进一步地提高程序运行的安全性。

步骤104、基于设置的权限信息,运行程序。

对于本发明实施例,基于读取的该程序的序列指令信息以及设置的权限信息,运行该程序。

本发明实施例提供了一种程序运行的方法,与现有技术相比,本发明实施例当检测到程序启动运行时,读取程序对应的签名信息,然后基于程序对应的签名信息,确定签名信息对应的数字证书,然后设置数字证书对应的权限信息,并基于设置的权限信息,运行程序。即本发明实施例中程序每次运行时,均需要通过数字证书对程序进行验签,并且在验签通过后,基于实时设置的数字证书的权限来运行该程序,因此系统在程序启动运行时,才为待运行的程序设置运行权限,并且同一用户执行不同程序对应的运行权限可能不同,并且同一程序每次运行的运行权限也可能不同,从而可以提升程序运行的安全性。

实施例二

本发明实施例的另一种可能的实现方式,在实施例一所示的基础上,还包括实施例二所示的操作,其中,

步骤102具体包括步骤1021(图中未标注)和/或步骤1022(图中未标注),其中,

步骤1021、基于程序对应的签名信息中携带的数字证书标识信息,确定签名信息对应的数字证书。

对于本发明实施例,系统中存储有多个数字证书,当系统读取该程序对应的签名信息之后,从该签名信息中获取该签名信息对应的数字证书的标识信息,基于该标识信息从存储的多个数字证书中确定该签名信息对应的数字证书。在本发明实施例中,当确定该签名信息对应的数字证书之后,通过该数字证书验证该程序的签名信息,在验签通过之后,才可以运行该程序。

对于本发明实施例,通过从程序的签名信息中获取数字证书的标识信息,能够基于该标识信息直接确定出该程序的签名信息对应的数字证书,并通过该数字证书验签通过后,运行该程序,从而可以减少程序运行的时间,进而可以提升用户体验。

具体地,程序的签名信息包括:数字证书标识信息以及签名信息的密文部分;基于数字证书验签程序对应的签名信息的方式,包括:对所述程序的序列指令进行哈希运算,得到哈希运算结果,以及,基于数字证书中的公钥信息,对所述签名信息的密文部分进行解密,得到解密结果;比对哈希运算结果以及解密结果;当哈希运算结果以及解密结果相同时,确定程序验签成功。

步骤1022、通过系统中存储的各个数字证书依次验签程序对应的签名信息,确定签名信息对应的数字证书。

对于本发明实施例,系统中存储着多个数字证书,当系统读取该程序对应的签名信息之后,从多个数字证书中随机依次选取一个数字证书,对该程序对应的签名信息进行验证,直至验证通过,并确定对该程序对应的签名信息验证通过的数字证书。在本发明实施例中,系统可以从内核层对程序的签名信息进行验签。

具体地,程序的签名信息包括:数字证书标识信息以及签名信息的密文部分;基于数字证书验签程序对应的签名信息的方式,包括:对程序的序列指令进行哈希运算,得到哈希运算结果,以及,基于数字证书中的公钥信息,对签名信息的密文部分进行解密,得到解密结果;比对哈希运算结果以及解密结果;当哈希运算结果以及解密结果相同时,确定程序验签成功。

实施例三

本发明实施例的另一种可能的实现方式,在实施例一或实施例二所示的基础上,还包括实施例三所示的操作,其中,

步骤104包括步骤1041(图中未标注)-步骤1042(图中未标注),其中,

步骤1041、基于针对数字证书当前设置的权限信息和/或针对数字证书预设的权限信息,确定程序对应的权限信息。

对于本发明实施例,系统可以预先设置各个数字证书分别对应的权限信息。在本发明实施例,当系统确定出该程序的签名信息对应的数字证书之后,基于该预先设置的各个数字证书分别对应的权限信息,确定该数字证书对应的权限信息,并该将数字证书对应的权限信息确定为该程序对应的权限信息;系统也可以在确定出该程序的与签名信息对应的数字证书之后,设置该数字证书对应的权限信息,并将针对该数字证书设置的权限信息,确定为该程序对应的权限信息;也可以将基于针对数字证书当前设置的权限信息以及针对数字证书预设的权限信息两者之间的交集,确定为该程序对应的权限信息。在本发明实施例中不做限定。

步骤1042、基于已确定的程序对应的权限信息,运行程序。

对于本发明实施例,当系统确定出该程序对应的权限信息之后,基于已确定的权限信息,运行该程序。

本发明实施例提供了一种程序运行的装置,如图2所示,该装置包括:读取模块21、确定模块22、设置模块23、运行模块24,其中,

读取模块21,用于当检测到程序启动运行时,读取程序对应的签名信息。

确定模块22,用于基于读取模块21读取的程序对应的签名信息,确定签名信息对应的数字证书。

设置模块23,用于设置数字证书对应的权限信息。

运行模块24,用于基于设置模块23设置的权限信息,运行程序。

具体地,确定模块22,具体用于基于程序对应的签名信息中携带的数字证书标识信息,确定签名信息对应的数字证书。

确定模块22,具体还用于通过系统中存储的各个数字证书依次验签程序对应的签名信息,确定签名信息对应的数字证书。

具体地,读取模块21,具体用于从外部存储器中读取程序对应的签名信息。

具体地,运行模块24,具体包括:确定单元241、运行单元242;

确定单元241,用于基于针对数字证书当前设置的权限信息和/或针对数字证书预设的权限信息,确定程序对应的权限信息。

运行单元242,用于基于已确定的程序对应的权限信息,运行程序。

进一步地,如图3所示,该装置还包括:验签模块31。

验签模块31,用于对程序的序列指令进行哈希运算,得到哈希运算结果,以及,基于数字证书中的公钥信息,对签名信息的密文部分进行解密,得到解密结果。

其中,程序的签名信息还包括:签名信息的密文部分。

验签模块31,还用于比对哈希运算结果以及解密结果。

验签模块31,还用于当哈希运算结果以及解密结果相同时,确定程序验签成功。

本发明实施例提供了一种程序运行的装置,与现有技术相比,本发明实施例当检测到程序启动运行时,读取程序对应的签名信息,然后基于程序对应的签名信息,确定签名信息对应的数字证书,然后设置数字证书对应的权限信息,并基于设置的权限信息,运行程序。即本发明实施例中程序每次运行时,均需要通过数字证书对程序进行验签,并且在验签通过后,基于实时设置的数字证书的权限来运行该程序,因此系统在程序启动运行时,才为待运行的程序设置运行权限,并且同一用户执行不同程序对应的运行权限可能不同,并且同一程序每次运行的运行权限也可能不同,从而可以提升程序运行的安全性。

本发明实施例提供了一种程序运行的装置,适用于上述方法实施例。在此不做限定。

本发明实施例提供了一种设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,处理器执行程序时实现实施例一至实施例三任一项所示的程序运行的方法。

本发明实施例提供了一种设备,与现有技术相比,本发明实施例当检测到程序启动运行时,读取程序对应的签名信息,然后基于程序对应的签名信息,确定签名信息对应的数字证书,然后设置数字证书对应的权限信息,并基于设置的权限信息,运行程序。即本发明实施例中程序每次运行时,均需要通过数字证书对程序进行验签,并且在验签通过后,基于实时设置的数字证书的权限来运行该程序,因此系统在程序启动运行时,才为待运行的程序设置运行权限,并且同一用户执行不同程序对应的运行权限可能不同,并且同一程序每次运行的运行权限也可能不同,从而可以提升程序运行的安全性。

本发明实施例提供了一种设备,适用于上述方法实施例。在此不做限定。

本技术领域技术人员可以理解,本发明包括涉及用于执行本申请中所述操作中的一项或多项的设备。这些设备可以为所需的目的而专门设计和制造,或者也可以包括通用计算机中的已知设备。这些设备具有存储在其内的计算机程序,这些计算机程序选择性地激活或重构。这样的计算机程序可以被存储在设备(例如,计算机)可读介质中或者存储在适于存储电子指令并分别耦联到总线的任何类型的介质中,所述计算机可读介质包括但不限于任何类型的盘(包括软盘、硬盘、光盘、cd-rom、和磁光盘)、rom(read-onlymemory,只读存储器)、ram(randomaccessmemory,随即存储器)、eprom(erasableprogrammableread-onlymemory,可擦写可编程只读存储器)、eeprom(electricallyerasableprogrammableread-onlymemory,电可擦可编程只读存储器)、闪存、磁性卡片或光线卡片。也就是,可读介质包括由设备(例如,计算机)以能够读的形式存储或传输信息的任何介质。

本技术领域技术人员可以理解,可以用计算机程序指令来实现这些结构图和/或框图和/或流图中的每个框以及这些结构图和/或框图和/或流图中的框的组合。本技术领域技术人员可以理解,可以将这些计算机程序指令提供给通用计算机、专业计算机或其他可编程数据处理方法的处理器来实现,从而通过计算机或其他可编程数据处理方法的处理器来执行本发明公开的结构图和/或框图和/或流图的框或多个框中指定的方案。

本技术领域技术人员可以理解,本发明中已经讨论过的各种操作、方法、流程中的步骤、措施、方案可以被交替、更改、组合或删除。进一步地,具有本发明中已经讨论过的各种操作、方法、流程中的其他步骤、措施、方案也可以被交替、更改、重排、分解、组合或删除。进一步地,现有技术中的具有与本发明中公开的各种操作、方法、流程中的步骤、措施、方案也可以被交替、更改、重排、分解、组合或删除。

以上所述仅是本发明的部分实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1