CN110287725B - 一种设备及其权限控制方法、计算机可读存储介质 - Google Patents
一种设备及其权限控制方法、计算机可读存储介质 Download PDFInfo
- Publication number
- CN110287725B CN110287725B CN201910481147.XA CN201910481147A CN110287725B CN 110287725 B CN110287725 B CN 110287725B CN 201910481147 A CN201910481147 A CN 201910481147A CN 110287725 B CN110287725 B CN 110287725B
- Authority
- CN
- China
- Prior art keywords
- authority
- information
- user
- security chip
- request
- 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.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/602—Providing cryptographic facilities or services
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6218—Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/65—Updates
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Health & Medical Sciences (AREA)
- Computer Hardware Design (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- Databases & Information Systems (AREA)
- Storage Device Security (AREA)
- Stored Programmes (AREA)
Abstract
本申请公开了一种设备及其权限控制方法、计算机可读存储介质,所述设备包括第一主控单元和第一安全芯片,所述方法包括:第一主控单元接收权限控制请求,所述权限控制请求包括第一权限公钥和用户权限信息,通过第一权限公钥对用户权限信息进行加密生成密文信息并发送至第一安全芯片;第一安全芯片接收密文信息,使用预存的多个不同用户权限类型的权限私钥逐个对密文信息进行解密,获得密文信息中与所述用户权限类型匹配的用户权限信息,根据用户权限信息打开相应的用户权限。本申请设计了一种带有安全芯片的设备权限控制方案,在整个权限控制过程中安全芯片不直接存储密钥信息且所有信息都是密文传输,满足了当前智能设备的安全需求。
Description
技术领域
本申请涉及但不限于信息安全技术领域,尤其涉及一种设备及其权限控制方法、计算机可读存储介质。
背景技术
随着硬件性能的不断提升,越来越多的智能设备要求做到一机多用或一卡多用。与此同时,用户对智能设备的信息安全的要求也在不断提高。智能设备中的某些特定功能和/或固件升级功能要求只有特定软件或者特定权限才可进行访问或者使用,这就需要对智能设备的安全功能进行权限控制。
权限控制是软件系统中最常见的功能之一,所谓权限控制,一般指根据系统设置的安全规则或者安全策略,用户可以访问而且只能访问自己被授权的资源,不多不少。权限控制几乎出现在任何系统里面,只要该系统是有用户和密码的系统。
目前的权限控制主要是针对服务器,还没有一种针对带有安全芯片的嵌入式智能设备权限控制的技术方案,且现有的针对服务器的权限控制方案缺乏针对在线(Over TheAir,OTA)/本地升级的权限设计方案。此外,如图1所示,很多系统都是简单的以应用用户信息或者代表用户身份的生物识别信息作为认证信息,并没有对认证信息进行密文处理或实现不可抵赖功能,很容易被截获并且伪造认证信息,进而对嵌入式智能系统的安全性造成威胁。
发明内容
本申请提供了一种设备及其权限控制方法、计算机可读存储介质,能够满足当前嵌入式智能设备的应用安全需求。
本发明实施例提供了一种设备的权限控制方法,所述设备包括第一主控单元和第一安全芯片,所述方法包括:
第一主控单元接收权限控制请求,所述权限控制请求包括第一权限公钥和用户权限信息;
第一主控单元通过第一权限公钥对用户权限信息进行加密生成密文信息,将密文信息发送至第一安全芯片;
第一安全芯片接收第一主控单元发送的密文信息,使用预先存储的多个不同用户权限类型的权限私钥逐个对密文信息进行解密,获得密文信息中与所述用户权限类型匹配的用户权限信息;
第一安全芯片根据获得的用户权限信息打开相应的用户权限。
在一种示例性实施例中,当所述权限控制请求中的用户权限信息为管理员权限,所述权限控制请求为针对所述第一主控单元和/或所述第一安全芯片的固件升级请求时,所述方法还包括:
所述第一主控单元获取待升级的固件代码和第一固件代码摘要信息;
所述第一主控单元使用管理员权限公钥对固件代码进行加密生成第二固件代码摘要信息,根据所述第一固件代码摘要信息与所述第二固件代码摘要信息之间的差异判断固件代码的完整性,如果判断出固件代码完整,则启动所述第一主控单元和/或所述第一安全芯片的固件代码升级过程;
所述第一主控单元在所述固件代码升级过程完成后,删除所述第一权限公钥、所述用户权限信息、所述固件代码以及所述第一固件代码摘要信息。
在一种示例性实施例中,所述设备还包括应用单元,所述权限控制请求中的用户权限信息为普通用户权限,所述权限控制请求为所述应用单元调用所述第一安全芯片的功能请求或所述应用单元的内部功能调用请求。
在一种示例性实施例中,所述用户权限信息包括用户权限类型信息,或者,包括所述用户权限类型信息和时间戳信息。
本发明实施例还提供了一种设备的权限控制方法,所述设备包括第二主控单元和第二安全芯片,所述方法包括:
第二主控单元接收权限控制请求,所述权限控制请求包括第一权限公钥和用户权限信息;
第二主控单元通过第一权限公钥对用户权限信息进行加密生成密文信息,并根据第一权限公钥和密文信息生成第一摘要信息,将密文信息和第一摘要信息发送至第二安全芯片;
第二安全芯片接收第二主控单元发送的密文信息和第一摘要信息,根据预先存储的多个不同用户权限类型的权限私钥生成多个第二权限公钥,并用多个第二权限公钥分别和密文信息逐个生成第二摘要信息,确定与所述第一摘要信息匹配的第二摘要信息对应的用户权限类型;
第二安全芯片根据确定的用户权限类型打开相应的用户权限。
在一种示例性实施例中,通过哈希消息认证码HMAC或非对称秘钥算法生成所述第一摘要信息和所述第二摘要信息。
本发明实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有一个或者多个程序,所述一个或者多个程序可被一个或者多个处理器执行,以实现如以上任一项所述的权限控制方法的步骤。
本发明实施例还提供了一种设备,包括处理器及存储器,其中:所述处理器用于执行存储器中存储的程序,以实现如以上任一项所述的权限控制方法的步骤。
本发明实施例还提供了一种设备,包括第一主控单元和第一安全芯片,其中:
第一主控单元,用于接收权限控制请求,所述权限控制请求包括第一权限公钥和用户权限信息,通过第一权限公钥对用户权限信息进行加密生成密文信息,将密文信息发送至第一安全芯片;
第一安全芯片,用于接收第一主控单元发送的密文信息,通过预先存储的多个不同用户权限类型的权限私钥逐个对密文信息进行解密,获得密文信息中与所述用户权限类型匹配的用户权限信息,根据获得的用户权限信息打开相应的用户权限。
本发明实施例还提供了一种设备,包括第二主控单元和第二安全芯片,其中:
第二主控单元,用于接收权限控制请求,所述权限控制请求包括第一权限公钥和用户权限信息,通过第一权限公钥对用户权限信息进行加密生成密文信息,并根据第一权限公钥和密文信息生成第一摘要信息,将密文信息和第一摘要信息发送至第二安全芯片;
第二安全芯片,用于接收第二主控单元发送的密文信息和第一摘要信息,根据预先存储的多个不同用户权限类型的权限私钥生成多个第二权限公钥,并用多个第二权限公钥分别和密文信息逐个生成第二摘要信息,确定与所述第一摘要信息匹配的第二摘要信息对应的用户权限类型,根据确定的用户权限类型打开相应的用户权限。
本申请的设备及其权限控制方法、计算机可读存储介质,通过第一主控单元使用第一权限公钥对用户权限信息进行加密生成密文信息并发送至第一安全芯片,第一安全芯片使用多个权限私钥逐个对密文信息进行解密,获得密文信息中与所述用户权限类型匹配的用户权限信息,并进而根据获得的用户权限信息打开相应的用户权限,设计了一种带有安全芯片的设备权限控制方案,在整个权限控制过程中安全芯片不直接存储密钥信息,安全防护安全芯片片内操作系统(Chip Operating System,COS)运行,防止安全芯片被破坏;所有信息都是密文传输,防止用户信息被读取以及篡改,满足了当前嵌入式智能设备的应用安全需求;且本申请通用性好,安全流程控制简单,可应用各种嵌入式终端设备。
本申请的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本申请而了解。本申请的其他优点可通过在说明书、权利要求书以及附图中所描述的方案来实现和获得。
附图说明
附图用来提供对本申请技术方案的理解,并且构成说明书的一部分,与本申请的实施例一起用于解释本申请的技术方案,并不构成对本申请技术方案的限制。
图1为相关技术中的一种权限控制方法的流程示意图;
图2为本发明实施例的一种权限控制方法的流程示意图;
图3为本发明实施例的另一种权限控制方法的流程示意图;;
图4为应用本发明实施例的权限控制方法,对所述第二安全芯片进行固件升级的流程示意图;
图5为应用本发明实施例的权限控制方法,对普通用户进行认证的流程示意图;
图6为本发明实施例的一种设备的结构示意图;
图7为本发明实施例的另一种设备的结构示意图。
具体实施方式
本申请描述了多个实施例,但是该描述是示例性的,而不是限制性的,并且对于本领域的普通技术人员来说显而易见的是,在本申请所描述的实施例包含的范围内可以有更多的实施例和实现方案。尽管在附图中示出了许多可能的特征组合,并在具体实施方式中进行了讨论,但是所公开的特征的许多其它组合方式也是可能的。除非特意加以限制的情况以外,任何实施例的任何特征或元件可以与任何其它实施例中的任何其他特征或元件结合使用,或可以替代任何其它实施例中的任何其他特征或元件。
本申请包括并设想了与本领域普通技术人员已知的特征和元件的组合。本申请已经公开的实施例、特征和元件也可以与任何常规特征或元件组合,以形成由权利要求限定的独特的发明方案。任何实施例的任何特征或元件也可以与来自其它发明方案的特征或元件组合,以形成另一个由权利要求限定的独特的发明方案。因此,应当理解,在本申请中示出和/或讨论的任何特征可以单独地或以任何适当的组合来实现。因此,除了根据所附权利要求及其等同替换所做的限制以外,实施例不受其它限制。此外,可以在所附权利要求的保护范围内进行各种修改和改变。
此外,在描述具有代表性的实施例时,说明书可能已经将方法和/或过程呈现为特定的步骤序列。然而,在该方法或过程不依赖于本文所述步骤的特定顺序的程度上,该方法或过程不应限于所述的特定顺序的步骤。如本领域普通技术人员将理解的,其它的步骤顺序也是可能的。因此,说明书中阐述的步骤的特定顺序不应被解释为对权利要求的限制。此外,针对该方法和/或过程的权利要求不应限于按照所写顺序执行它们的步骤,本领域技术人员可以容易地理解,这些顺序可以变化,并且仍然保持在本申请实施例的精神和范围内。
本申请针对当前嵌入式智能设备应用安全需求,设计一种带有安全芯片的智能设备权限控制方案,应用软件需要获取智能设备以及安全芯片功能必须要获得智能设备平台的授权,即有相应用户权限方可调用智能设备以及安全芯片功能。应用软件权限认证的过程所有信息都是密文传输,且可以通过带有密钥的摘要信息保证信息的完整性以及不可抵赖性。在当需要对智能设备的主控单元和/或安全芯片进行固件升级时,需要通过通信接口将芯片固件代码、固件代码摘要信息以及认证需要的密钥导入到智能设备平台中,升级完毕后所有信息自动删除,保证系统的安全以及稳定性。
实施例一权限控制方法一
如图2所示,本发明实施例提供了一种设备的权限控制方法,所述设备包括第一主控单元和第一安全芯片,所述方法包括如下步骤:
步骤201:第一主控单元接收权限控制请求,所述权限控制请求包括第一权限公钥和用户权限信息;
在一种示例性实施例中,所述权限控制请求为针对所述第一主控单元和/或所述第一安全芯片的固件升级请求;或者,为所述设备中的应用单元调用所述第一安全芯片的功能请求或所述设备中的应用单元的内部功能调用请求。
例如,在本申请的一种应用场景中,所述设备为智能手机,所述第一主控单元为智能手机的主控单元,所述权限控制请求为:对第一主控单元和/或第一安全芯片进行固件升级,此时,可以通过本申请的权限控制方法对该权限控制请求进行权限控制;
在本申请的另一种应用场景中,所述设备为智能手机,所述第一主控单元为智能手机的主控单元,假设应用单元为手机中的软件(APP,例如微信),所述权限控制请求为:用户使用第一安全芯片的加解密功能为微信中拍摄的图片进行加密或解密,此时,可以通过本申请的权限控制方法对该权限控制请求进行权限控制;
在本申请的又一种应用场景中,所述设备为智能手机,所述第一主控单元为智能手机的主控单元,假设应用单元为手机中的软件APP,所述权限控制请求为:用户想要使用某一APP,此时,也可以通过本申请的权限控制方法对该权限控制请求进行权限控制。
在一种示例性实施例中,所述用户权限信息包括用户权限类型信息,或者,包括所述用户权限类型信息和时间戳信息。
在该实施例中,可以预先定义多个用户名,并指定各个用户名对应的用户权限类型。在所述用户权限信息中可以包括用户名和用户权限类型,也可以只包括用户名、不包括用户权限类型,此时,通过预先定义的用户名和用户权限类型之间的对应关系确定所述用户名对应的用户权限类型。
在一种示例性实施例中,所述用户权限类型包括管理员权限和普通用户权限。
需要说明的是,管理员权限的优先级通常要高于普通用户权限的优先级。例如,使用管理员权限可以对第一主控单元和/或第一安全芯片进行固件升级,使用普通用户权限不能对第一主控单元和/或第一安全芯片进行固件升级。
步骤202:第一主控单元通过第一权限公钥对用户权限信息进行加密生成密文信息,将密文信息发送至第一安全芯片;
需要说明的是,在非对称加密技术中,有两种密钥:私钥和公钥,其中,私钥通常为密钥对所有者持有,不可公布;公钥是密钥对持有者公布给他人的。公钥用来给数据加密,用公钥加密的数据只能使用私钥解密;私钥用来解密公钥加密的数据。
步骤203:第一安全芯片接收第一主控单元发送的密文信息,使用预先存储的多个不同用户权限类型的权限私钥逐个对密文信息进行解密,获得密文信息中与所述用户权限类型匹配的用户权限信息;
例如,所述第一安全芯片中分别存有管理员权限对应的权限私钥和普通用户权限对应的权限私钥,当第一安全芯片接收到第一主控单元发送的密文信息后,分别使用管理员权限对应的权限私钥和普通用户权限对应的权限私钥对所述密文信息进行解密,解密出的明文信息中哪个包括正确的用户权限信息(例如,解密出的用户名和/或用户权限类型是预先定义的用户名和/或用户权限类型,则为正确的用户权限信息),所述密文信息中的用户权限信息就是该解密出的正确的用户权限信息。
步骤204:第一安全芯片根据获得的用户权限信息打开相应的用户权限。
如果所述权限控制请求是对第一安全芯片进行固件升级或者使用第一安全芯片的相关功能,则步骤204中只需要第一安全芯片根据获得的用户权限信息打开相应的用户权限。如果所述权限控制请求是对第一主控单元进行固件升级或者使用第一主控单元的相关功能,则步骤204还包括:所述第一安全芯片通知所述第一主控单元根据获得的用户权限信息打开相应的用户权限。
在一种示例性实施例中,当所述权限控制请求中的用户权限信息为管理员权限,所述权限控制请求为针对所述第一主控单元和/或所述第一安全芯片的固件升级请求时,所述方法还包括:
所述第一主控单元获取待升级的固件代码和第一固件代码摘要信息;
所述第一主控单元使用管理员权限公钥对固件代码进行加密生成第二固件代码摘要信息,根据所述第一固件代码摘要信息与所述第二固件代码摘要信息之间的差异判断固件代码的完整性,如果判断出固件代码完整,则启动所述第一主控单元和/或所述第一安全芯片的固件代码升级过程;
所述第一主控单元在所述固件代码升级过程完成后,删除所述第一权限公钥、所述用户权限信息、所述固件代码以及所述第一固件代码摘要信息。
在该实施例中,所述待升级的固件代码可以由第一主控单元通过所述设备的通信单元从固件代码服务器下载,或者由第一主控单元通过所述设备的通信接口(如USB等接口)直接导入。
在一种示例性实施例中,当所述权限控制请求为针对所述第一安全芯片的固件升级请求时,所述方法还包括:
所述第一主控单元对所述第一安全芯片进行厂商认定;
如果所述固件代码所属的厂商与所述第一安全芯片所属的厂商一致,所述第一主控单元将所述固件代码下发至所述第一安全芯片;
所述第一安全芯片根据接收的固件代码完成所述固件代码升级过程。
在一种示例性实施例中,所述方法还包括:
所述第一主控单元还将所述固件代码摘要信息下发至所述第一安全芯片;
所述第一安全芯片接收到所述固件代码及所述固件代码摘要信息后,先根据所述固件代码及所述固件代码摘要信息验证所述固件代码的完整性,在验证通过后,触发所述固件代码升级过程。
在该实施例中,所述第一安全芯片在触发所述固件代码升级过程之前,还可以验证所述固件代码所属的厂商与所述第一安全芯片所属的厂商是否一致,如果一致,则触发所述固件代码升级过程。
在一种示例性实施例中,所述设备还包括应用单元,所述权限控制请求中的用户权限信息为普通用户权限,所述权限控制请求为所述应用单元调用所述第一安全芯片的功能请求或所述应用单元的内部功能调用请求。
实施例二权限控制方法二
如图3所示,本发明实施例还提供了一种权限控制方法,所述设备包括第二主控单元和第二安全芯片,所述方法包括如下步骤:
步骤301:第二主控单元接收权限控制请求,所述权限控制请求包括第一权限公钥和用户权限信息;
在一种示例性实施例中,所述权限控制请求为针对所述第二主控单元和/或所述第二安全芯片的固件升级请求;或者,为所述设备中的应用单元调用所述第二安全芯片的功能请求或所述设备中的应用单元的内部功能调用请求。
例如,在本申请的一种应用场景中,所述设备为智能手机,所述第二主控单元为智能手机的主控单元,所述权限控制请求为:对第二主控单元和/或第二安全芯片进行固件升级,此时,可以通过本申请的权限控制方法对该权限控制请求进行权限控制;
在本申请的另一种应用场景中,所述设备为智能手机,所述第二主控单元为智能手机的主控单元,假设应用单元为手机中的APP(例如微信),所述权限控制请求为:用户使用第二安全芯片的加解密功能为微信中拍摄的图片进行加密或解密,此时,可以通过本申请的权限控制方法对该权限控制请求进行权限控制;
在本申请的又一种应用场景中,所述设备为智能手机,所述第二主控单元为智能手机的主控单元,假设应用单元为手机中的软件APP,所述权限控制请求为:用户想要使用某一APP,此时,也可以通过本申请的权限控制方法对该权限控制请求进行权限控制。
在一种示例性实施例中,所述用户权限信息包括用户权限类型信息,或者,包括所述用户权限类型信息和时间戳信息。
在该实施例中,可以预先定义多个用户名,并指定各个用户名对应的用户权限类型。在所述用户权限信息中可以包括用户名和用户权限类型,也可以只包括用户名、不包括用户权限类型,此时,通过预先定义的用户名和用户权限类型之间的对应关系确定所述用户名对应的用户权限类型。
在一种示例性实施例中,所述用户权限类型包括管理员权限和普通用户权限。
需要说明的是,管理员权限的优先级通常要高于普通用户权限的优先级。例如,使用管理员权限可以对第二主控单元和/或第二安全芯片进行固件升级,使用普通用户权限不能对第二主控单元和/或第二安全芯片进行固件升级。
步骤302:第二主控单元通过第一权限公钥对用户权限信息进行加密生成密文信息,并根据第一权限公钥和密文信息生成第一摘要信息,将密文信息和第一摘要信息发送至第二安全芯片;
在一种示例性实施例中,通过HMAC或非对称秘钥算法生成所述第一摘要信息。
HMAC是密钥相关的哈希运算消息认证码,HMAC运算利用哈希算法,以一个密钥和一个消息为输入,生成一个消息摘要作为输出。在该实施例中,可以通过HMAC-SM3生成第一摘要信息。SM3密码哈希算法作为国家密码管理局在近年才发布的新的哈希算法。HMAC-SM3利用SM3密码算法,以一个密钥和消息作为输入,输出一个带认证信息的消息摘要。
步骤303:第二安全芯片接收第二主控单元发送的密文信息和第一摘要信息,根据预先存储的多个不同用户权限类型的权限私钥生成多个第二权限公钥,并用多个第二权限公钥分别和密文信息逐个生成第二摘要信息,确定与所述第一摘要信息匹配的第二摘要信息对应的用户权限类型;
例如,所述第二安全芯片中分别存有管理员权限对应的权限私钥和普通用户权限对应的权限私钥,当第二安全芯片接收到第二主控单元发送的密文信息和第一摘要信息后,分别使用管理员权限对应的权限私钥和普通用户权限对应的权限私钥生成管理员权限公钥和普通用户权限公钥,然后用管理员权限公钥和普通用户权限公钥分别和密文信息生成管理员权限对应的第二摘要信息和普通用户权限对应的第二摘要信息,确定与所述第一摘要信息匹配的第二摘要信息对应的用户权限类型为所述密文信息中的用户权限类型。
在一种示例性实施例中,通过HMAC或非对称秘钥算法生成所述第二摘要信息。
步骤304:第二安全芯片根据确定的用户权限类型打开相应的用户权限。
在该实施例中,所述第二安全芯片可以直接根据所述确定的用户权限类型打开相应的用户权限,也可以使用所述确定的用户权限类型对应的权限私钥对密文信息进行解密,获得密文信息中的用户权限信息后,在根据获得的用户权限信息打开相应的用户权限。
如果所述权限控制请求是对第二安全芯片进行固件升级或者使用第二安全芯片的相关功能,则步骤304中只需要第二安全芯片根据获得的用户权限信息打开相应的用户权限。如果所述权限控制请求是对第二主控单元进行固件升级或者使用第二主控单元的相关功能,则步骤304还包括:所述第二安全芯片通知所述第二主控单元根据获得的用户权限信息打开相应的用户权限。
在一种示例性实施例中,当所述权限控制请求中的用户权限信息为管理员权限,所述权限控制请求为针对所述第二主控单元和/或所述第二安全芯片的固件升级请求时,所述方法还包括:
所述第二主控单元获取待升级的固件代码和第一固件代码摘要信息;
所述第二主控单元使用管理员权限公钥对固件代码进行加密生成第二固件代码摘要信息,根据所述第一固件代码摘要信息与所述第二固件代码摘要信息之间的差异判断固件代码的完整性,如果判断出固件代码完整,则启动所述第二主控单元和/或所述第二安全芯片的固件代码升级过程;
所述第二主控单元在所述固件代码升级过程完成后,删除所述第二权限公钥、所述用户权限信息、所述固件代码以及所述第二固件代码摘要信息。
在该实施例中,所述待升级的固件代码可以由第二主控单元通过所述设备的通信单元从固件代码服务器下载,或者由第二主控单元通过所述设备的通信接口(如USB等接口)直接导入。
在一种示例性实施例中,当所述权限控制请求为针对所述第二安全芯片的固件升级请求时,所述方法还包括:
所述第二主控单元对所述第二安全芯片进行厂商认定;
如果所述固件代码所属的厂商与所述第二安全芯片所属的厂商一致,所述第二主控单元将所述固件代码下发至所述第二安全芯片;
所述第二安全芯片根据接收的固件代码完成所述固件代码升级过程。
在一种示例性实施例中,所述方法还包括:
所述第二主控单元还将所述固件代码摘要信息下发至所述第二安全芯片;
所述第二安全芯片接收到所述固件代码及所述固件代码摘要信息后,先根据所述固件代码及所述固件代码摘要信息验证所述固件代码的完整性,在验证通过后,触发所述固件代码升级过程。
在该实施例中,所述第二安全芯片在触发所述固件代码升级过程之前,还可以验证所述固件代码所属的厂商与所述第二安全芯片所属的厂商是否一致,如果一致,则触发所述固件代码升级过程。
如图4所示,使用本申请的一种权限控制方法,实现所述第二安全芯片的固件升级,包括如下步骤:
401)智能设备中的第二主控单元通过通信单元下载导入固件代码(A),以及固件代码摘要(C)、管理员权限公钥(PU1);
402)第二主控单元通过管理员权限公钥(PU1)对(用户信息+时间戳)(M1)加密生成密文信息(E1),然后对密文信息进行HMAC-SM3加密生成摘要信息(H1),将密文信息(E1)+摘要信息(H1)发送给第二安全芯片;
403)第二安全芯片判断认证命令类型。然后应用管理员私钥(PR1)生成公钥(PU1),用密文信息(E1)与公钥(PU1)生成摘要信息(HT1)与接收的摘要信息(H1)进行比对,比对成功后再进行解密得到(M1),对明文信息进行判定并打开相应权限,返回状态信息;
404)第二主控单元用管理员权限公钥(PU1)对固件代码(A)进行HMAC-SM3进行加密,生成摘要(CT),与固件代码摘要(C)比较,判断固件代码完整性,如果完整,启动升级流程;
405)对第二安全芯片进行厂商认定;
406)下发固件代码以及认证信息,第二安全芯片完成信息接收以及固件代码更新;
407)第二主控单元待第二安全芯片下载完成后自动删除固件代码(A),以及固件代码摘要(C)、管理员权限公钥(PU1)。
第二主控单元与第二安全芯片组成智能设备中的安全模块,实现智能设备中的权限控制功能。
在一种示例性实施例中,所述设备还包括应用单元,所述权限控制请求中的用户权限信息为普通用户权限,所述权限控制请求为所述应用单元调用所述第二安全芯片的功能请求或所述应用单元的内部功能调用请求。
如图5所示,使用本申请的一种权限控制方法,实现普通用户认证,包括如下步骤:
501)应用单元输入授权的用户权限公钥(PU2);
502)第二主控单元通过用户权限公钥(PU2)对(用户信息+时间戳)(M2)加密生成密文信息(E2),然后对密文信息进行HMAC-SM3加密生成摘要信息(H2),将密文信息(E2)+摘要信息(H2)发送给第二安全芯片;
503)第二安全芯片判断认证命令类型;
504)第二安全芯片应用用户私钥(PR2)生成公钥(PU2),用密文信息(E2)与公钥(PU2)生成摘要信息(HT2)与发送摘要(H2)进行比对,成功后再进行解密得到(M2),对明文信息进行判定并打开相应权限(这里可以设置如果一分钟连续三次失败,则无法再进行认证);
505)第二安全芯片反馈认证信息;
506)应用单元调用第二安全芯片的相关功能;
507)第二安全芯片执行相关功能并反馈。
实施例三计算机可读存储介质
本发明实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有一个或者多个程序,所述一个或者多个程序可被一个或者多个处理器执行,以实现如以上任一项所述的权限控制方法的步骤。
实施例四设备一
本发明实施例还提供了一种设备,包括处理器及存储器,其中:所述处理器用于执行存储器中存储的程序,以实现如以上任一项所述的权限控制方法的步骤。
实施例五设备二
如图6所示,本发明实施例还提供了一种设备,包括第一主控单元601和第一安全芯片602,其中:
第一主控单元601,用于接收权限控制请求,所述权限控制请求包括第一权限公钥和用户权限信息,通过第一权限公钥对用户权限信息进行加密生成密文信息,将密文信息发送至第一安全芯片602;
第一安全芯片602,用于接收第一主控单元601发送的密文信息,通过预先存储的多个不同用户权限类型的权限私钥逐个对密文信息进行解密,获得密文信息中与所述用户权限类型匹配的用户权限信息,根据获得的用户权限信息打开相应的用户权限。
在一种示例性实施例中,所述权限控制请求为针对所述第一主控单元601和/或所述第一安全芯片602的固件升级请求;或者,为所述设备中的应用单元调用所述第一安全芯片602的功能请求或所述设备中的应用单元的内部功能调用请求。
在一种示例性实施例中,所述用户权限信息包括用户权限类型信息,或者,包括所述用户权限类型信息和时间戳信息。
在一种示例性实施例中,所述用户权限类型包括管理员权限和普通用户权限。
在一种示例性实施例中,当所述权限控制请求中的用户权限信息为管理员权限,所述权限控制请求为针对所述第一主控单元601和/或所述第一安全芯片602的固件升级请求时,所述第一主控单元601还用于:
获取待升级的固件代码和第一固件代码摘要信息;
使用管理员权限公钥对固件代码进行加密生成第二固件代码摘要信息,根据所述第一固件代码摘要信息与所述第二固件代码摘要信息之间的差异判断固件代码的完整性,如果判断出固件代码完整,则启动所述第一主控单元601和/或所述第一安全芯片602的固件代码升级过程,并在所述固件代码升级过程完成后,删除所述第一权限公钥、所述用户权限信息、所述固件代码以及所述第一固件代码摘要信息。
在该实施例中,所述待升级的固件代码可以由第一主控单元601通过所述设备的通信单元从固件代码服务器下载,或者由第一主控单元601通过所述设备的通信接口直接导入。
在一种示例性实施例中,当所述权限控制请求为针对所述第一安全芯片602的固件升级请求时,所述第一主控单元601还用于:
对所述第一安全芯片602进行厂商认定;
如果所述固件代码所属的厂商与所述第一安全芯片602所属的厂商一致,将所述固件代码下发至所述第一安全芯片602,以使得第一安全芯片602根据接收的固件代码完成所述固件代码升级过程。
在该实施例中,所述第一安全芯片602在触发所述固件代码升级过程之前,可以进一步验证所述固件代码的完整性,和/或验证所述固件代码所属的厂商与所述第一安全芯片602所属的厂商是否一致,如果固件代码完整和/或所属的厂商一致,则触发所述固件代码升级过程。
在一种示例性实施例中,所述设备还包括应用单元,所述权限控制请求中的用户权限信息为普通用户权限,所述权限控制请求为所述应用单元调用所述第一安全芯片602的功能请求或所述应用单元的内部功能调用请求。
实施例六设备三
如图7所示,本发明实施例还提供了一种设备,包括第二主控单元701和第二安全芯片702,其中:
第二主控单元701,用于接收权限控制请求,所述权限控制请求包括第一权限公钥和用户权限信息,通过第一权限公钥对用户权限信息进行加密生成密文信息,并根据第一权限公钥和密文信息生成第一摘要信息,将密文信息和第一摘要信息发送至第二安全芯片702;
第二安全芯片702,用于接收第二主控单元701发送的密文信息和第一摘要信息,根据预先存储的多个不同用户权限类型的权限私钥生成多个第二权限公钥,并用多个第二权限公钥分别和密文信息逐个生成第二摘要信息,确定与所述第一摘要信息匹配的第二摘要信息对应的用户权限类型,根据确定的用户权限类型打开相应的用户权限。
在一种示例性实施例中,所述权限控制请求为针对所述第二主控单元701和/或所述第二安全芯片702的固件升级请求;或者,为所述设备中的应用单元调用所述第二安全芯片702的功能请求或所述设备中的应用单元的内部功能调用请求。
在一种示例性实施例中,所述用户权限信息包括用户权限类型信息,或者,包括所述用户权限类型信息和时间戳信息。
在一种示例性实施例中,所述用户权限类型包括管理员权限和普通用户权限。
在一种示例性实施例中,通过HMAC或非对称秘钥算法生成所述第一摘要信息和所述第二摘要信息。
在该实施例中,所述第二安全芯片702可以直接根据所述确定的用户权限类型打开相应的用户权限,也可以使用所述确定的用户权限类型对应的权限私钥对密文信息进行解密,获得密文信息中的用户权限信息后,在根据获得的用户权限信息打开相应的用户权限。
在一种示例性实施例中,当所述权限控制请求中的用户权限信息为管理员权限,所述权限控制请求为针对所述第二主控单元701和/或所述第二安全芯片702的固件升级请求时,所述第二主控单元701还用于:
获取待升级的固件代码和第一固件代码摘要信息;
使用管理员权限公钥对固件代码进行加密生成第二固件代码摘要信息,根据所述第一固件代码摘要信息与所述第二固件代码摘要信息之间的差异判断固件代码的完整性,如果判断出固件代码完整,则启动所述第二主控单元701和/或所述第二安全芯片702的固件代码升级过程,并在所述固件代码升级过程完成后,删除所述第二权限公钥、所述用户权限信息、所述固件代码以及所述第二固件代码摘要信息。
在该实施例中,所述待升级的固件代码可以由第二主控单元701通过所述设备的通信单元从固件代码服务器下载,或者由第二主控单元701通过所述设备的通信接口直接导入。
在一种示例性实施例中,当所述权限控制请求为针对所述第二安全芯片702的固件升级请求时,所述第二主控单元701还用于:
对所述第二安全芯片702进行厂商认定;
如果所述固件代码所属的厂商与所述第二安全芯片702所属的厂商一致,将所述固件代码下发至所述第二安全芯片702,以使得所述第二安全芯片702根据接收的固件代码完成所述固件代码升级过程。
在该实施例中,所述第二安全芯片702在触发所述固件代码升级过程之前,可以进一步验证所述固件代码的完整性,和/或验证所述固件代码所属的厂商与所述第二安全芯片702所属的厂商是否一致,如果固件代码完整和/或所属的厂商一致,则触发所述固件代码升级过程。
在一种示例性实施例中,所述设备还包括应用单元,所述权限控制请求中的用户权限信息为普通用户权限,所述权限控制请求为所述应用单元调用所述第二安全芯片702的功能请求或所述应用单元的内部功能调用请求。
本申请提出了一种目前可以应用到绝大多数与权限有关的嵌入式系统设计中的通用权限控制方案,该方案通过安全芯片以及主控单元实现对嵌入式智能设备中应用软件的权限控制,不同权限角色能够实现不同功能,保证不同角色之间功能相互不干扰,权限控制方案完全通过安全芯片以及主控单元来实现。该方案以角色对应用软件进行分组,通过不同应用软件以及管理员密钥实现权限的分权管理。该方案能够由管理员密钥权限完成对嵌入式智能设备安全芯片固件在线OTA/本地升级。通过应用软件密钥可以实现对应用软件功能的权限的授权访问。该方案能够很好的对应用权限进行控制,必须经过嵌入式智能硬件平台授权的应用软件才可应用安全芯片功能及对安全芯片进行升级,从而提高了整个嵌入式智能设备系统的安全性。本申请具有如下优点:
1)应用带有国密算法的安全芯片,可通过安全芯片实现用户以及管理员权限控制,保护且隔离应用程序,防止应用程序被恶意破坏以及读取,保护关键敏感数据,防止被未授权用户调用;
2)应用国密算法的HMAC进行权限认证,且认证过程中全部为密文传输,防止用户信息被读取以及篡改,使用户通信功能更健壮;
3)本申请的安全芯片不直接存储密钥信息,每次认证需要实施生成密钥信息,安全防护安全芯片COS运行,防止安全芯片被破坏。
4)通用性好,安全流程控制简单,可应用各种嵌入式终端设备。
本领域普通技术人员可以理解,上文中所公开方法中的全部或某些步骤、系统、装置中的功能模块/单元可以被实施为软件、固件、硬件及其适当的组合。在硬件实施方式中,在以上描述中提及的功能模块/单元之间的划分不一定对应于物理组件的划分;例如,一个物理组件可以具有多个功能,或者一个功能或步骤可以由若干物理组件合作执行。某些组件或所有组件可以被实施为由处理器,如数字信号处理器或微处理器执行的软件,或者被实施为硬件,或者被实施为集成电路,如专用集成电路。这样的软件可以分布在计算机可读介质上,计算机可读介质可以包括计算机存储介质(或非暂时性介质)和通信介质(或暂时性介质)。如本领域普通技术人员公知的,术语计算机存储介质包括在用于存储信息(诸如计算机可读指令、数据结构、程序模块或其他数据)的任何方法或技术中实施的易失性和非易失性、可移除和不可移除介质。计算机存储介质包括但不限于RAM、ROM、EEPROM、闪存或其他存储器技术、CD-ROM、数字多功能盘(DVD)或其他光盘存储、磁盒、磁带、磁盘存储或其他磁存储装置、或者可以用于存储期望的信息并且可以被计算机访问的任何其他的介质。此外,本领域普通技术人员公知的是,通信介质通常包含计算机可读指令、数据结构、程序模块或者诸如载波或其他传输机制之类的调制数据信号中的其他数据,并且可包括任何信息递送介质。
Claims (8)
1.一种设备的权限控制方法,其特征在于,所述设备包括第一主控单元、第一安全芯片和应用单元,所述方法包括:
第一主控单元接收权限控制请求,所述权限控制请求包括第一权限公钥和用户权限信息,所述权限控制请求为针对所述第一主控单元和/或所述第一安全芯片的固件升级请求;或者,为所述设备中的应用单元调用所述第一安全芯片的功能请求或所述设备中的应用单元的内部功能调用请求;
第一主控单元通过第一权限公钥对用户权限信息进行加密生成密文信息,并根据第一权限公钥和密文信息生成第一摘要信息,将密文信息和第一摘要信息发送至第一安全芯片;
第一安全芯片接收第一主控单元发送的密文信息和第一摘要信息,根据预先存储的多个不同用户权限类型的权限私钥生成多个第二权限公钥,并用多个第二权限公钥分别和密文信息逐个生成第二摘要信息,确定与所述第一摘要信息匹配的第二摘要信息对应的用户权限类型;
如果所述权限控制请求是对第一安全芯片进行固件升级或者为所述设备中的应用单元调用所述第一安全芯片的功能请求,第一安全芯片根据确定的用户权限类型打开相应的用户权限;如果所述权限控制请求是对第一主控单元进行固件升级或者所述设备中的应用单元的内部功能调用请求,所述第一安全芯片通知所述第一主控单元根据确定的用户权限类型打开相应的用户权限。
2.根据权利要求1所述的方法,其特征在于,当所述权限控制请求中的用户权限信息为管理员权限,所述权限控制请求为针对所述第一主控单元和/或所述第一安全芯片的固件升级请求时,所述方法还包括:
所述第一主控单元获取待升级的固件代码和第一固件代码摘要信息;
所述第一主控单元使用管理员权限公钥对固件代码进行加密生成第二固件代码摘要信息,根据所述第一固件代码摘要信息与所述第二固件代码摘要信息之间的差异判断固件代码的完整性,如果判断出固件代码完整,则启动所述第一主控单元和/或所述第一安全芯片的固件代码升级过程;
所述第一主控单元在所述固件代码升级过程完成后,删除所述第一权限公钥、所述用户权限信息、所述固件代码以及所述第一固件代码摘要信息。
3.根据权利要求1所述的方法,其特征在于,所述权限控制请求中的用户权限信息为普通用户权限,所述权限控制请求为所述应用单元调用所述第一安全芯片的功能请求或所述应用单元的内部功能调用请求。
4.根据权利要求1至3任一所述的方法,其特征在于,所述用户权限信息包括用户权限类型信息,或者,包括所述用户权限类型信息和时间戳信息。
5.根据权利要求1所述的方法,其特征在于,通过哈希消息认证码HMAC或非对称秘钥算法生成所述第一摘要信息和所述第二摘要信息。
6.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有一个或者多个程序,所述一个或者多个程序可被一个或者多个处理器执行,以实现如权利要求1至权利要求5中任一项所述的权限控制方法的步骤。
7.一种设备,其特征在于,包括处理器及存储器,其中:所述处理器用于执行存储器中存储的程序,以实现如权利要求1至权利要求5中任一项所述的权限控制方法的步骤。
8.一种设备,其特征在于,包括第一主控单元、第一安全芯片和应用单元,其中:
第一主控单元,用于接收权限控制请求,所述权限控制请求包括第一权限公钥和用户权限信息,所述权限控制请求为针对所述第一主控单元和/或所述第一安全芯片的固件升级请求;或者,为所述设备中的应用单元调用所述第一安全芯片的功能请求或所述设备中的应用单元的内部功能调用请求;通过第一权限公钥对用户权限信息进行加密生成密文信息,并根据第一权限公钥和密文信息生成第一摘要信息,将密文信息和第一摘要信息发送至第一安全芯片;
第一安全芯片,用于接收第一主控单元发送的密文信息和第一摘要信息,根据预先存储的多个不同用户权限类型的权限私钥生成多个第二权限公钥,并用多个第二权限公钥分别和密文信息逐个生成第二摘要信息,确定与所述第一摘要信息匹配的第二摘要信息对应的用户权限类型;如果所述权限控制请求是对第一安全芯片进行固件升级或者为所述设备中的应用单元调用所述第一安全芯片的功能请求,根据确定的用户权限类型打开相应的用户权限;如果所述权限控制请求是对第一主控单元进行固件升级或者所述设备中的应用单元的内部功能调用请求,通知所述第一主控单元根据确定的用户权限类型打开相应的用户权限。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910481147.XA CN110287725B (zh) | 2019-06-04 | 2019-06-04 | 一种设备及其权限控制方法、计算机可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910481147.XA CN110287725B (zh) | 2019-06-04 | 2019-06-04 | 一种设备及其权限控制方法、计算机可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110287725A CN110287725A (zh) | 2019-09-27 |
CN110287725B true CN110287725B (zh) | 2021-05-14 |
Family
ID=68003313
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910481147.XA Active CN110287725B (zh) | 2019-06-04 | 2019-06-04 | 一种设备及其权限控制方法、计算机可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110287725B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111211898B (zh) * | 2019-12-31 | 2022-08-19 | 歌尔科技有限公司 | 电子设备控制权限的设置方法、电子设备及可读存储介质 |
CN116048577B (zh) * | 2022-12-29 | 2024-05-17 | 哈尔滨工大卫星技术有限公司 | 一种分布式数字化卫星系统升级方法、装置及介质 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104539423A (zh) * | 2014-12-16 | 2015-04-22 | 熊荣华 | 一种无双线性对运算的无证书公钥密码体制的实现方法 |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101042718A (zh) * | 2006-03-21 | 2007-09-26 | 北京汉辰科技有限公司 | 带安全认证的网络手持多媒体终端及实现方法 |
JP2008226191A (ja) * | 2007-03-15 | 2008-09-25 | Nec Corp | 情報処理端末認証システム及び情報処理端末認証方法,情報処理端末認証用プログラム |
CN106161028A (zh) * | 2015-04-17 | 2016-11-23 | 国民技术股份有限公司 | 安全芯片、移动通讯终端及提高通讯安全的方法 |
EP3292484B1 (en) * | 2015-05-05 | 2021-07-07 | Ping Identity Corporation | Identity management service using a block chain |
CN105718813A (zh) * | 2015-08-25 | 2016-06-29 | 深圳市证通电子股份有限公司 | 金融智能终端及其安全机制 |
CN107247899B (zh) * | 2017-05-22 | 2020-02-07 | 珠海格力电器股份有限公司 | 一种基于安全引擎的角色权限控制方法、装置及安全芯片 |
CN109829294B (zh) * | 2019-01-31 | 2021-07-13 | 云丁网络技术(北京)有限公司 | 一种固件验证方法、系统、服务器及电子设备 |
-
2019
- 2019-06-04 CN CN201910481147.XA patent/CN110287725B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104539423A (zh) * | 2014-12-16 | 2015-04-22 | 熊荣华 | 一种无双线性对运算的无证书公钥密码体制的实现方法 |
Also Published As
Publication number | Publication date |
---|---|
CN110287725A (zh) | 2019-09-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10327142B2 (en) | Secure short message service (SMS) communications | |
US9866376B2 (en) | Method, system, and device of provisioning cryptographic data to electronic devices | |
US10454674B1 (en) | System, method, and device of authenticated encryption of messages | |
WO2020173332A1 (zh) | 基于可信执行环境的应用激活方法及装置 | |
CN107733636B (zh) | 认证方法以及认证系统 | |
CN109714769B (zh) | 信息绑定方法、装置、设备及存储介质 | |
CN113472793A (zh) | 一种基于硬件密码设备的个人数据保护系统 | |
CN111401901B (zh) | 生物支付设备的认证方法、装置、计算机设备和存储介质 | |
CN103746801A (zh) | 一种智能手机或平板电脑上动态口令种子密钥保护方法 | |
CN113378119B (zh) | 一种软件授权方法、装置、设备及存储介质 | |
CN112685786A (zh) | 一种金融数据加密、解密方法、系统、设备及存储介质 | |
CN110287725B (zh) | 一种设备及其权限控制方法、计算机可读存储介质 | |
US8798261B2 (en) | Data protection using distributed security key | |
CN109891823B (zh) | 用于凭证加密的方法、系统以及非暂态计算机可读介质 | |
CN111917711B (zh) | 数据访问方法、装置、计算机设备和存储介质 | |
JP2016515778A (ja) | アプリケーション暗号化処理方法、装置及び端末 | |
CN107862209B (zh) | 一种文件加解密方法、移动终端和具有存储功能的装置 | |
CN108985079B (zh) | 数据验证方法和验证系统 | |
CN111246480A (zh) | 基于sim卡的应用通信方法、系统、设备及存储介质 | |
US11340801B2 (en) | Data protection method and electronic device implementing data protection method | |
CN117313144A (zh) | 敏感数据的管理方法、装置、存储介质和电子设备 | |
CN112632589A (zh) | 密钥托管方法、装置、设备及计算机可读存储介质 | |
CN116775322A (zh) | 模型调用方法、装置及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |