CN108399329A - 一种提高可信应用程序安全的方法 - Google Patents

一种提高可信应用程序安全的方法 Download PDF

Info

Publication number
CN108399329A
CN108399329A CN201810064595.5A CN201810064595A CN108399329A CN 108399329 A CN108399329 A CN 108399329A CN 201810064595 A CN201810064595 A CN 201810064595A CN 108399329 A CN108399329 A CN 108399329A
Authority
CN
China
Prior art keywords
trusted application
signature file
safety
signature
public key
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
Application number
CN201810064595.5A
Other languages
English (en)
Other versions
CN108399329B (zh
Inventor
蒋培福
朱朋光
曹锜
万勇
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Amlogic Shanghai Co Ltd
Amlogic Inc
Original Assignee
Amlogic Shanghai Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Amlogic Shanghai Co Ltd filed Critical Amlogic Shanghai Co Ltd
Priority to CN201810064595.5A priority Critical patent/CN108399329B/zh
Publication of CN108399329A publication Critical patent/CN108399329A/zh
Priority to US16/325,502 priority patent/US11048824B2/en
Priority to PCT/CN2018/108106 priority patent/WO2019144640A1/zh
Application granted granted Critical
Publication of CN108399329B publication Critical patent/CN108399329B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/45Structures or tools for the administration of authentication
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/52Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/51Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems at application loading time, e.g. accepting, rejecting, starting or inhibiting executable software based on integrity or source reliability
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • G06F21/56Computer malware detection or handling, e.g. anti-virus arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/602Providing cryptographic facilities or services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/64Protecting data integrity, e.g. using checksums, certificates or signatures
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3247Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3263Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving certificates, e.g. public key certificate [PKC] or attribute certificate [AC]; Public key infrastructure [PKI] arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3263Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving certificates, e.g. public key certificate [PKC] or attribute certificate [AC]; Public key infrastructure [PKI] arrangements
    • H04L9/3268Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving certificates, e.g. public key certificate [PKC] or attribute certificate [AC]; Public key infrastructure [PKI] arrangements using certificate validation, registration, distribution or revocation, e.g. certificate revocation list [CRL]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/60Digital content management, e.g. content distribution
    • H04L2209/603Digital right managament [DRM]

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Virology (AREA)
  • Storage Device Security (AREA)

Abstract

本发明提供了一种提高可信应用程序安全的方法,应用于智能设备中,其中,包括以下步骤:步骤S1、上位机通过一层级签名的方式对可信应用程序进行签名以生成一关于可信应用程序的签名文件包并保存至主操作系统中;步骤S2、安全执行系统用于主操作系统中获取签名文件包并加载至第二运行环境中;步骤S3、安全执行系统对签名文件包进行解析以获得解析结果;步骤S4、安全执行系统对解析结果进行层级校验,如检验通过,则表示当前的可信应用程序处于安全状态;如检验不通过,则表示可信应用程序处于非安全状态。其技术方案的有益效果在于,克服现有技术中对于可信应用程序缺乏安全的认证方式以及仅单纯采用简单的数字签名机制存在的安全性较低的缺陷。

Description

一种提高可信应用程序安全的方法
技术领域
本发明涉及通信技术领域,尤其涉及一种提高可信应用程序安全的方法。
背景技术
随着网络技术的发展以及智能设备普及,如家庭多媒体设备、手机等,通过智能设备进行在线购物,缴纳家庭水电费用,购买播放数字影音作品等新型消费购物方式已经逐渐走入了家庭生活。
但是这些新型购物消费方式中安全问题尤为重要,目前主流的家庭多媒体设备和手机平板等移动设备中,普遍采用了ARM的TrustZone技术构建安全执行环境TEE,让在线支付、DRM播放等作为可信应用程序在TEE环境中执行,增强其安全性。
现有的智能设备中,其可信应用程序存在的安全问题在如下:
1)、可信应用程序没有签名校验机制。对于这类程序,破坏者可以直接通过篡改应用程序的代码段,替换原来的可信应用程序,进入TEE系统后获取程序的执行权限,从而访问安全资源,截获安全数据,破坏整个TEE系统的安全性;
2)、可信应用程序程序采用了简单的数字签名机制,这类程序携带数字签名,不过所有的可信应用程序采用同样的密钥签名校验,一旦密钥被非法者截获,非法者可以利用这个密钥来仿造系统上所有的可信应用程序的数字签名,使得整个TEE系统不可信。
发明内容
针对现有技术中可信程序在安全性方面存在的上述问题,现提供一种旨在采用多层签名以及对应的多层校验的方式,有效的提高可信应用程序的安全性的方法。
具体技术方案如下:
一种提高可信应用程序安全的方法,应用于智能设备中,其中,所述智能设备提供一主操作系统以及一安全执行系统;
提供一上位机,所述上位机与所述智能设备连接;
所述主操作系统提供一第一运行环境,所述安全执行系统提供一第二运行环境;
提供一客户端应用程序,所述客户端应用程序运行于所述第一运行环境中;
提供一可信应用程序,所述可信应用程序运行于所述第二运行环境中;
包括以下步骤:
步骤S1、所述上位机通过一层级签名的方式对所述可信应用程序进行签名以生成一关于所述可信应用程序的签名文件包并保存至所述主操作系统中;
步骤S2、所述安全执行系统用于所述主操作系统中获取所述签名文件包并加载至所述第二运行环境中;
步骤S3、所述安全执行系统对所述签名文件包进行解析以获得解析结果;
步骤S4、所述安全执行系统对所述解析结果进行层级校验,如检验通过,则表示当前的所述可信应用程序处于安全状态;
如检验不通过,则表示当前的所述可信应用程序处于非安全状态。
优选的,每个所述可信应用程序包括一唯一的身份标识码;
提供一第一密钥对,所述第一密钥对包括一第一私钥以及与所述第一私钥对应的第一公钥;
提供一第二密钥对,所述第二密钥对包括一第二私钥以及与所述第二私钥对应的第二公钥;
通过所述层级签名的方式形成关于所述可信应用程序的所述签名文件包的方法,包括以下步骤:
步骤A1、通过所述第一密钥对所述第二公钥和所述可信应用程序的所述身份标识码进行签名以生成一第一签名文件;
步骤A2、通过一预设的加密算法对所述可信应用程序进行加密以获得一第一加密值;
步骤A3、通过所述第二密钥对所述第一加密值进行签名以生成一第二签名文件;
步骤A4、将所述第二公钥、所述第一签名文件、所述可信应用程序、所述第一加密值以及所述第二签名文件打包形成所述签名文件包。
优选的,所述加密算法为哈希散列算法,所述第一加密值为哈希值。
优选的,所述身份标识码为所述可信应用程序的UUID码(UUID,UniversallyUnique Identifier,通用唯一识别码,是一种软件建构的标准,亦为开放软件基金会组织在分布式计算环境领域的一部分。其目的是让分布式系统中的所有元素,都能有唯一的辨识信息)。
优选的,提供一公钥加密算法,通过所述公钥加密算法处理获得所述第一密钥对中的所述第一公钥以及所述第一私钥,和/或
通过所述公钥加密算处理获得所述第二密钥对中的所述第二公钥以及所述第二私钥。
优选的,所述主操作系统为LINUX或者安卓系统,所述第一运行环境为所述LINUX或者安卓系统提供的运行环境。
优选的,所述安全执行系统为安全操作系统,所述第二运行环境为所述安全操作系统提供的运行环境。
优选的,所述主操作系统提供一存储模块,所述存储模块用以保存所述签名文件包以及所述客户端应用程序的安装文件;
所述安全执行系统提供一安全存储模块,所述第一公钥保存于所述安全存储模块中。
优选的,加载所述签名文件包至所述第二运行环境中的方法包括以下步骤:
步骤B1、所述客户端应用程序发送一触发所述可信应用程序的请求至所述安全执行系统;
步骤B2、所述安全执行系统根据所述请求,加载所述可信应用程序以及加载所述签名文件包至所述第二运行环境中。
优选的,所述安全执行系统解析所述签名文件包获取的所述解析结果包括:
所述第二公钥、所述第一签名文件、所述可信应用程序、所述第一加密值以及所述第二签名文件;
所述安全执行系统通过所述层级校验的方式对所述解析结果进行校验的方法,包括以下步骤:
步骤C1、所述安全执行系统调用存储在所述安全存储模块中的所述第一公钥对所述第一签名文件进行校验,以获得第一校验结果,根据所述第一检验结果判断校验是否成功;
若否,返回一校验错误信息,并退出,表示所述可信应用程序处于非安全状态;
步骤C2、通过所述第二公钥对所述第二签名文件进行校验,以获得第二校验结果,根据所述第二检验结果判断校验是否成功;
若否,返回一校验错误信息,并退出,表示所述可信应用程序处于非安全状态;
步骤C3、通过所述预设加密算法对所述可信应用程序进行加密以获得一第二加密值,将所述第二加密值与所述第一加密值进行比较,以判断比较结果是否相同;
若否,返回一校验错误信息,并退出,表示所述可信应用程序处于非安全状态;
若是,则表示当前的所述可信应用程序处于安全状态。
上述技术方案具有如下优点或有益效果:通过多层签名的方式以及对应多层签名的多层校验的方式,可有效的提高可信应用程序的安全性,克服现有技术中对于可信应用程序缺乏安全的认证方式以及仅单纯采用简单的数字签名机制存在的安全性较低的缺陷。
附图说明
参考所附附图,以更加充分的描述本发明的实施例。然而,所附附图仅用于说明和阐述,并不构成对本发明范围的限制。
图1为本发明一种提高可信应用程序安全的方法实施例的流程图;
图2为本发明一种提高可信应用程序安全的方法实施例中,关于形成可信应用程序的签名文件包的方法实施例的流程图;
图3为本发明一种提高可信应用程序安全的方法实施例中,加载签名文件包至第二运行环境中的方法实施例的流程图;
图4为本发明一种提高可信应用程序安全的方法实施例中,对解析结果进行校验的方法实施例的流程图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
需要说明的是,在不冲突的情况下,本发明中的实施例及实施例中的特征可以相互组合。
下面结合附图和具体实施例对本发明作进一步说明,但不作为本发明的限定。
本发明的技术方案中包括一种提高可信应用程序安全的方法。
一种提高可信应用程序安全的方法,应用于智能设备中,其中,智能设备提供一主操作系统以及一安全执行系统;
提供一上位机,上位机与智能设备连接;
主操作系统提供一第一运行环境,安全执行系统提供一第二运行环境;
提供一客户端应用程序,客户端应用程序运行于第一运行环境中;
提供一可信应用程序,可信应用程序运行于第二运行环境中;
如图1所示,包括以下步骤:
步骤S1、上位机通过一层级签名的方式对可信应用程序进行签名以生成一关于可信应用程序的签名文件包并保存至主操作系统中;
步骤S2、安全执行系统用于主操作系统中获取签名文件包并加载至第二运行环境中;
步骤S3、安全执行系统对签名文件包进行解析以获得解析结果;
步骤S4、安全执行系统对解析结果进行层级校验,如检验通过,则表示当前的可信应用程序处于安全状态;
如检验不通过,则表示当前的可信应用程序处于非安全状态。
针对现有技术中,可信应用程序缺乏安全认证机制,智能设备获取的可信应用存在应用程序代码被串篡改,在被串改的可信应用进入TEE系统后获取程序的执行权限,从而访问安全资源,截获安全数据,破坏整个TEE系统的安全性;
2)可信应用程序采用了简单的数字签名机制,这类程序携带数字签名,不过所有的可信应用程序采用同样的密钥签名校验,一旦密钥被破坏者截获,破坏者可以利用这个密钥来仿造系统上所有的可信应用程序的数字签名,使得整个TEE系统不可信。
本发明中,首先在通过上位机对可信应用程序进行多层签名以形成签名文件包并保存于主操作系统中,智能设备启动后安全执行系统通过获取加载签名文件包,并通过多层校验的方式对签名文件进行校验,并基于校验结果判断当前的可信应用程序是否处于安全状态;
若处于安全状态,则可信应用程序可以运行;
若处于非安全状态,则可信应用程序存在被篡改的风险,因此不可运行,通过上述的多层签名以及校验的方式可以有效保证可信应用程序的安全性。
在一种较优的实施方式中,每个可信应用程序包括一唯一的身份标识码;
提供一第一密钥对,第一密钥对包括一第一私钥以及与第一私钥对应的第一公钥;
提供一第二密钥对,第二密钥对包括一第二私钥以及与第二私钥对应的第二公钥;
如图2所示,通过层级签名的方式形成关于可信应用程序的签名文件包的方法,包括以下步骤:
步骤A1、通过第一密钥对第二公钥和可信应用程序的身份标识码进行签名以生成一第一签名文件;
步骤A2、通过一预设的加密算法对可信应用程序进行加密以获得一第一加密值;
步骤A3、通过第二密钥对第一加密值进行签名以生成一第二签名文件;
步骤A4、将第二公钥、第一签名文件、可信应用程序、第一加密值以及第二签名文件打包形成签名文件包。
上述技术方案中,在签名过程中即加密过程中,首先在通过第一私钥进行第一层签名,以形成第一签名文件,第一签名文件中包括,第二公钥和可信应用程序的身份标识码;
然后通过加密算法对可信应用程序进行加密形成第一加密值;
接着通过第二私钥进行第二层签名,以形成第二签名文件,第二签名文件中包括第一加密值;
最后形成包括第二公钥、第一签名文件、可信应用程序、第一加密值以及第二签名文件的签名文件包。
在一种较优的实施方式中,加密算法为哈希散列算法,第一加密值为哈希值。
上述技术方案中,采用哈希散列算法计算获得的哈希值的位数优选为256位。
在一种较优的实施方式中,身份标识码为可信应用程序的UUID码。
上述技术方案中,在签名和校验过程中可同时对多个可信应用程序进行签名及校验操作,每个可信应用程序的UUID码与第二秘钥对绑定,可确保每个应用秘钥拥有独立且唯一的第二秘钥对,克服了现有技术中的每个可信应用程序采用统一的应用秘钥,存在的一旦应用秘钥泄露会波及所有的可信应用程序安全性的问题。
在一种较优的实施方式中,提供一公钥加密算法,通过公钥加密算法处理获得第一密钥对中的第一公钥以及第一私钥。
在一种较优的实施方式中,通过公钥加密算处理获得第二密钥对中的第二公钥以及第二私钥。
在一种较优的实施方式中,主操作系统提供一存储模块,存储模块用以保存签名文件包以及客户端应用程序的安装文件;
安全执行系统提供一安全存储模块,第一公钥保存于安全存储模块中。
上述技术方案中,需要说明的是,第一秘钥对为根秘钥(Root Key)对,第二秘钥对为应用秘钥(TA Key)对,采用根密钥和应用密钥两级签名,使得安全系统的发布者单独持有根密钥,而不同的可信应用发布者可以分别持有各自应用密钥,分散了密钥集中管理的安全风险。
在一种较优的实施方式中,主操作系统为LINUX或者安卓系统,第一运行环境为LINUX或者安卓系统提供的运行环境。
在一种较优的实施方式中,安全执行系统为安全操作系统,第二运行环境为安全操作系统提供的运行环境。
在一种较优的实施方式中,主操作系统提供一存储模块,存储模块用以保存签名文件包以及客户端应用程序的安装文件;
安全执行系统提供一安全存储模块,第一公钥保存于安全存储模块中。
在一种较优的实施方式中,如图3所示,加载签名文件包至第二运行环境中的方法包括以下步骤:
步骤B1、客户端应用程序发送一触发可信应用程序的请求至安全执行系统;
步骤B2、安全执行系统根据请求,加载可信应用程序以及加载签名文件包至第二运行环境中。
在一种较优的实施方式中,安全执行系统解析签名文件包获取的解析结果包括:
第二公钥、第一签名文件、可信应用程序、第一加密值以及第二签名文件;
如图4所示,安全执行系统通过层级校验的方式对解析结果进行校验的方法,包括以下步骤:
步骤C1、安全执行系统调用存储在安全存储模块中的第一公钥对第一签名文件进行校验,以获得第一校验结果,根据第一检验结果判断校验是否成功;
若否,返回一校验错误信息,并退出,表示可信应用程序处于非安全状态;
此处需要说明的是,形成的校验结果存在两种状态,1)、第一公钥对第一签名文件进行校验可正常解开第一签名文件包含的内容;
2)、第一公钥对第一签名文件进行校验不能正常解开第一签名文件的内容,则形成校验错误信息;
步骤C2、通过第二公钥对第二签名文件进行校验,以获得第二校验结果,根据第二检验结果判断校验是否成功;
若否,返回一校验错误信息,并退出,表示可信应用程序处于非安全状态;
此处需要说明的是,形成的校验结果存在两种状态,1)、第二公钥对第二签名文件进行校验可正常解开第二签名文件包含的内容;
2)、第二公钥对第二签名文件进行校验不能正常解开第二签名文件的内容,则形成校验错误信息;
步骤C3、通过预设加密算法对可信应用程序进行加密以获得一第二加密值,将第二加密值与第一加密值进行比较,以判断比较结果是否相同;
若否,返回一校验错误信息,并退出,表示可信应用程序处于非安全状态;
若是,则表示当前的可信应用程序处于安全状态。
以下以一具体的实施方式进行说明;
我们假设,客户端应用程序(CA)为tee_demo;
可信应用程序(TA)为8aaaf200-2450-11e4-abe2-0002a5d5c51b.ta;
可信应用程序的标识码(TA UUID)为8aaaf200-2450-11e4-abe2-0002a5d5c51b;
可信应用程序为8aaaf200-2450-11e4-abe2-0002a5d5c51b.ta。
第一秘钥对中的第一公钥(RSA根公钥)为RSA_ROOT_KEY_PUK,第一私钥(RSA根私钥)为RSA_ROOT_KEY_PRI;
第二秘钥对中的第二公钥(RSA应用公钥RSA_TA_KEY_PUB)为,第二私钥(RSA应用私钥)为RSA_TA_KEY_PRI。
在上位机的运行环境中对可信应用程序执行具体签名实施过程如下:
步骤1:用RSA根私钥RSA_ROOT_KEY_PRI对RSA应用公钥RSA_TA_KEY_PUB和TA可信应用程序8aaaf200-2450-11e4-abe2-0002a5d5c51b.ta的通用唯一识别码UUID:8aaaf200-2450-11e4-abe2-0002a5d5c51b进行签名,生成第一签名文件RSA_TA_KEY_PUB.sign;
步骤2:用SHA256哈希散列算法计算TA可信应用程序8aaaf200-2450-11e4-abe2-0002a5d5c51b.ta的哈希,生成哈希值(第一加密值)8aaaf200-2450-11e4-abe2-0002a5d5c51b.hash;
步骤3:用RSA应用私钥RSA_TA_KEY_PRI对8aaaf200-2450-11e4-abe2-0002a5d5c51b.hash签名,生成第二签名文件8aaaf200-2450-11e4-abe2-0002a5d5c51b.hash.sign;
步骤4:将RSA应用公钥RSA_TA_KEY_PUB、第一签名文件RSA_TA_KEY_PUB.sign、TA可信应用8aaaf200-2450-11e4-abe2-0002a5d5c51b.ta、TA可信应用的哈希值8aaaf200-2450-11e4-abe2-0002a5d5c51b.hash及其哈希值的第二签名文件8aaaf200-2450-11e4-abe2-0002a5d5c51b.hash.sign一起打包,生成打包文件8aaaf200-2450-11e4-abe2-0002a5d5c51b.pkg。
完成上述TA签名后,将最终生成的签名打包文件8aaaf200-2450-11e4-abe2-0002a5d5c51b.pkg和CA客户端应用程序一起部署到设备第一操作系统的第一运行环境(REE环境的)文件系统中,再将RSA根公钥RSA_TA_KEY_PUB烧录到智能设备安全执行系统对应的安全存储模块(TEE安全存储)中。
对可信应用程序执行具体校验的实施过程如下:
步骤1:CA客户端应用程序tee_demo从第一运行环境(REE环境)发起请求,触发安全执行系统加载TA可信应用程序以及从REE环境加载8aaaf200-2450-11e4-abe2-0002a5d5c51b.pkg到第二运行环境(TEE安全环境)中,安全执行系统(TEE安全系统)解析8aaaf200-2450-11e4-abe2-0002a5d5c51b.pkg,得到RSA应用公钥RSA_TA_KEY_PUB、RSA应用公钥的签名RSA_TA_KEY_PUB.sign、TA可信应用8aaaf200-2450-11e4-abe2-0002a5d5c51b.ta、TA可信应用的哈希值8aaaf200-2450-11e4-abe2-0002a5d5c51b.hash及其哈希值的签名8aaaf200-2450-11e4-abe2-0002a5d5c51b.hash.sign等。
步骤2:用存储在安全存储模块(TEE安全存储)中的RSA根公钥RSA_ROOT_KEY_PUK对RSA应用公钥的第一签名文件RSA_TA_KEY_PUB.sign进行校验。若此校验过程失败返回错误;校验成功则继续;
步骤3:用RSA应用公钥RSA_TA_KEY_PUB对TA可信应用哈希值的第二签名文件8aaaf200-2450-11e4-abe2-0002a5d5c51b.hash.sign进行校验。若校验失败返回错误,成功则继续;
步骤4:计算TA可信应用8aaaf200-2450-11e4-abe2-0002a5d5c51b.ta的哈希值,得到第二加密值8aaaf200-2450-11e4-abe2-0002a5d5c51b.hash2,与解析8aaaf200-2450-11e4-abe2-0002a5d5c51b.pkg得到的哈希值8aaaf200-2450-11e4-abe2-0002a5d5c51b.hash进行对比,不同返回校验失败,相同则校验过程成功,加载TA,正常运行。
以上所述仅为本发明较佳的实施例,并非因此限制本发明的实施方式及保护范围,对于本领域技术人员而言,应当能够意识到凡运用本发明说明书及图示内容所作出的等同替换和显而易见的变化所得到的方案,均应当包含在本发明的保护范围内。

Claims (10)

1.一种提高可信应用程序安全的方法,应用于智能设备中,其特征在于,所述智能设备提供一主操作系统以及一安全执行系统;
提供一上位机,所述上位机与所述智能设备连接;
所述主操作系统提供一第一运行环境,所述安全执行系统提供一第二运行环境;
提供一客户端应用程序,所述客户端应用程序运行于所述第一运行环境中;
提供一可信应用程序,所述可信应用程序运行于所述第二运行环境中;
包括以下步骤:
步骤S1、所述上位机通过一层级签名的方式对所述可信应用程序进行签名以生成一关于所述可信应用程序的签名文件包并保存至所述主操作系统中;
步骤S2、所述安全执行系统用于所述主操作系统中获取所述签名文件包并加载至所述第二运行环境中;
步骤S3、所述安全执行系统对所述签名文件包进行解析以获得解析结果;
步骤S4、所述安全执行系统对所述解析结果进行层级校验,如检验通过,则表示当前的所述可信应用程序处于安全状态;
如检验不通过,则表示当前的所述可信应用程序处于非安全状态。
2.根据权利要求1所述的方法,其特征在于,每个所述可信应用程序包括一唯一的身份标识码;
提供一第一秘钥对,所述第一秘钥对包括一第一私钥以及与所述第一私钥对应的第一公钥;
提供一第二秘钥对,所述第二秘钥对包括一第二私钥以及与所述第二私钥对应的第二公钥;
通过所述层级签名的方式形成关于所述可信应用程序的所述签名文件包的方法,包括以下步骤:
步骤A1、通过所述第一秘钥对所述第二公钥和所述可信应用程序的所述身份标识码进行签名以生成一第一签名文件;
步骤A2、通过一预设的加密算法对所述可信应用程序进行加密以获得一第一加密值;
步骤A3、通过所述第二秘钥对所述第一加密值进行签名以生成一第二签名文件;
步骤A4、将所述第二公钥、所述第一签名文件、所述可信应用程序、所述第一加密值以及所述第二签名文件打包形成所述签名文件包。
3.根据权利要求2所述的方法,其特征在于,所述加密算法为哈希散列算法,所述第一加密值为哈希值。
4.根据权利要求2所述的方法,其特征在于,所述身份标识码为所述可信应用程序的UUID码。
5.根据权利要求2所述的方法,其特征在于,提供一公钥加密算法,通过所述公钥加密算法处理获得所述第一秘钥对中的所述第一公钥以及所述第一私钥,和/或
通过所述公钥加密算处理获得所述第二秘钥对中的所述第二公钥以及所述第二私钥。
6.根据权利要求1所述的方法,其特征在于,所述主操作系统为LINUX或者安卓系统,所述第一运行环境为所述LINUX或者安卓系统提供的运行环境。
7.根据权利要求1所述的方法,其特征在于,所述安全执行系统为安全操作系统,所述第二运行环境为所述安全操作系统提供的运行环境。
8.根据权利要求2所述的方法,其特征在于,所述主操作系统提供一存储模块,所述存储模块用以保存所述签名文件包以及所述客户端应用程序的安装文件;
所述安全执行系统提供一安全存储模块,所述第一公钥保存于所述安全存储模块中。
9.根据权利要求1所述的方法,其特征在于,加载所述签名文件包至所述第二运行环境中的方法包括以下步骤:
步骤B1、所述客户端应用程序发送一触发所述可信应用程序的请求至所述安全执行系统;
步骤B2、所述安全执行系统根据所述请求,加载所述可信应用程序以及加载所述签名文件包至所述第二运行环境中。
10.根据权利要求8所述的方法,其特征在于,所述安全执行系统解析所述签名文件包获取的所述解析结果包括:
所述第二公钥、所述第一签名文件、所述可信应用程序、所述第一加密值以及所述第二签名文件;
所述安全执行系统通过所述层级校验的方式对所述解析结果进行校验的方法,包括以下步骤:
步骤C1、所述安全执行系统调用存储在所述安全存储模块中的所述第一公钥对所述第一签名文件进行校验,以获得第一校验结果,根据所述第一检验结果判断校验是否成功;
若否,返回一校验错误信息,并退出,表示所述可信应用程序处于非安全状态;
步骤C2、通过所述第二公钥对所述第二签名文件进行校验,以获得第二校验结果,根据所述第二检验结果判断校验是否成功;
若否,返回一校验错误信息,并退出,表示所述可信应用程序处于非安全状态;
步骤C3、通过所述预设加密算法对所述可信应用程序进行加密以获得一第二加密值,将所述第二加密值与所述第一加密值进行比较,以判断比较结果是否相同;
若否,返回一校验错误信息,并退出,表示所述可信应用程序处于非安全状态;
若是,则表示当前的所述可信应用程序处于安全状态。
CN201810064595.5A 2018-01-23 2018-01-23 一种提高可信应用程序安全的方法 Active CN108399329B (zh)

Priority Applications (3)

Application Number Priority Date Filing Date Title
CN201810064595.5A CN108399329B (zh) 2018-01-23 2018-01-23 一种提高可信应用程序安全的方法
US16/325,502 US11048824B2 (en) 2018-01-23 2018-09-27 Method for improving security of trusted application
PCT/CN2018/108106 WO2019144640A1 (zh) 2018-01-23 2018-09-27 一种提高可信应用程序安全的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810064595.5A CN108399329B (zh) 2018-01-23 2018-01-23 一种提高可信应用程序安全的方法

Publications (2)

Publication Number Publication Date
CN108399329A true CN108399329A (zh) 2018-08-14
CN108399329B CN108399329B (zh) 2022-01-21

Family

ID=63094148

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810064595.5A Active CN108399329B (zh) 2018-01-23 2018-01-23 一种提高可信应用程序安全的方法

Country Status (3)

Country Link
US (1) US11048824B2 (zh)
CN (1) CN108399329B (zh)
WO (1) WO2019144640A1 (zh)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109409137A (zh) * 2018-11-21 2019-03-01 北京握奇智能科技有限公司 一种在tee环境中加载外部资源的方法和系统
WO2019144640A1 (zh) * 2018-01-23 2019-08-01 晶晨半导体(上海)股份有限公司 一种提高可信应用程序安全的方法
CN110555293A (zh) * 2019-09-10 2019-12-10 百度在线网络技术(北京)有限公司 用于保护数据的方法、装置、电子设备和计算机可读介质
CN111723365A (zh) * 2020-06-30 2020-09-29 湖北亿咖通科技有限公司 一种车载信息娱乐系统中安装应用程序的方法和设备
CN111953637A (zh) * 2019-05-16 2020-11-17 阿里巴巴集团控股有限公司 一种应用服务方法与装置
CN113343234A (zh) * 2021-06-10 2021-09-03 支付宝(杭州)信息技术有限公司 对代码安全性进行可信检查的方法及装置
CN116436681A (zh) * 2023-04-25 2023-07-14 上海物盾信息科技有限公司 一种基于TrustZone的安全隔离系统、方法、终端及存储介质

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109960582B (zh) * 2018-06-19 2020-04-28 华为技术有限公司 在tee侧实现多核并行的方法、装置及系统
US11012241B2 (en) * 2018-09-10 2021-05-18 Dell Products L.P. Information handling system entitlement validation
EP3891630B1 (en) * 2019-01-25 2022-12-28 Huawei Technologies Co., Ltd. Method for end entity attestation
CN111949972B (zh) * 2020-02-19 2023-10-03 华控清交信息科技(北京)有限公司 人工智能模型的验证方法、系统、设备及存储介质
US11520895B2 (en) 2020-12-07 2022-12-06 Samsung Electronics Co., Ltd. System and method for dynamic verification of trusted applications
CN113190831A (zh) * 2021-05-27 2021-07-30 中国人民解放军国防科技大学 一种基于tee的操作系统应用完整性度量方法及系统
CN114491565B (zh) * 2022-03-31 2022-07-05 飞腾信息技术有限公司 固件安全启动方法、装置、计算设备和可读存储介质
US11962691B1 (en) * 2023-06-14 2024-04-16 Fmr Llc Systems, methods, and media for generating and using a multi-signature token for electronic communication validation

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104918116A (zh) * 2015-05-28 2015-09-16 北京视博数字电视科技有限公司 用于智能终端的资源播放方法及系统
US20150381369A1 (en) * 2014-06-25 2015-12-31 Samsung Electronics Co., Ltd. System and method for trustzone attested authenticators
CN105224875A (zh) * 2015-11-13 2016-01-06 上海斐讯数据通信技术有限公司 一种终端的安全启动系统和方法
CN106936774A (zh) * 2015-12-29 2017-07-07 中国电信股份有限公司 可信执行环境中的认证方法和系统
CN107591176A (zh) * 2017-08-25 2018-01-16 晶晨半导体(上海)股份有限公司 一种减弱芯片和存储器之间的辐射强度的方法

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6959384B1 (en) * 1999-12-14 2005-10-25 Intertrust Technologies Corporation Systems and methods for authenticating and protecting the integrity of data streams and other data
CN104993932B (zh) 2015-06-19 2018-04-27 飞天诚信科技股份有限公司 一种提高签名安全性的方法
CN107315959A (zh) 2016-04-27 2017-11-03 阿里巴巴集团控股有限公司 移动终端业务安全的保障方法和装置
GB201609462D0 (en) 2016-05-30 2016-07-13 Silverleap Technology Ltd System and method for ensuring system integrity against, and detection of, rollback attacks for stored value data in mobile devices
CN106656502B (zh) * 2016-09-26 2020-09-01 上海兆芯集成电路有限公司 计算机系统及安全执行的方法
US20180254898A1 (en) * 2017-03-06 2018-09-06 Rivetz Corp. Device enrollment protocol
CN108399329B (zh) * 2018-01-23 2022-01-21 晶晨半导体(上海)股份有限公司 一种提高可信应用程序安全的方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150381369A1 (en) * 2014-06-25 2015-12-31 Samsung Electronics Co., Ltd. System and method for trustzone attested authenticators
CN104918116A (zh) * 2015-05-28 2015-09-16 北京视博数字电视科技有限公司 用于智能终端的资源播放方法及系统
CN105224875A (zh) * 2015-11-13 2016-01-06 上海斐讯数据通信技术有限公司 一种终端的安全启动系统和方法
CN106936774A (zh) * 2015-12-29 2017-07-07 中国电信股份有限公司 可信执行环境中的认证方法和系统
CN107591176A (zh) * 2017-08-25 2018-01-16 晶晨半导体(上海)股份有限公司 一种减弱芯片和存储器之间的辐射强度的方法

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
DILLI RAVILLA等: "Performance of Secured Zone Routing Protocol due to the Effect of Malicious Nodes in MANETs", 《网页在线公开:HTTPS://IEEEXPLORE.IEEE.ORG/STAMP/STAMP.JSP?TP=&ARNUMBER=6726751》 *
DONGHUI WANG等: "IBS Enabled Authentication for IoT in ION Framework", 《网页在线公开:HTTPS://IEEEXPLORE.IEEE.ORG/STAMP/STAMP.JSP?TP=&ARNUMBER=8016271》 *
王力: "电子信息系统可信性评估技术分析", 《卷宗》 *

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019144640A1 (zh) * 2018-01-23 2019-08-01 晶晨半导体(上海)股份有限公司 一种提高可信应用程序安全的方法
CN109409137A (zh) * 2018-11-21 2019-03-01 北京握奇智能科技有限公司 一种在tee环境中加载外部资源的方法和系统
CN111953637A (zh) * 2019-05-16 2020-11-17 阿里巴巴集团控股有限公司 一种应用服务方法与装置
CN111953637B (zh) * 2019-05-16 2022-08-26 阿里巴巴集团控股有限公司 一种应用服务方法与装置
CN110555293A (zh) * 2019-09-10 2019-12-10 百度在线网络技术(北京)有限公司 用于保护数据的方法、装置、电子设备和计算机可读介质
CN111723365A (zh) * 2020-06-30 2020-09-29 湖北亿咖通科技有限公司 一种车载信息娱乐系统中安装应用程序的方法和设备
CN113343234A (zh) * 2021-06-10 2021-09-03 支付宝(杭州)信息技术有限公司 对代码安全性进行可信检查的方法及装置
WO2022257722A1 (zh) * 2021-06-10 2022-12-15 支付宝(杭州)信息技术有限公司 对代码安全性进行可信检查的方法及装置
CN116436681A (zh) * 2023-04-25 2023-07-14 上海物盾信息科技有限公司 一种基于TrustZone的安全隔离系统、方法、终端及存储介质
CN116436681B (zh) * 2023-04-25 2024-01-02 上海物盾信息科技有限公司 一种基于TrustZone的安全隔离系统、方法、终端及存储介质

Also Published As

Publication number Publication date
CN108399329B (zh) 2022-01-21
US11048824B2 (en) 2021-06-29
WO2019144640A1 (zh) 2019-08-01
US20200050798A1 (en) 2020-02-13

Similar Documents

Publication Publication Date Title
CN108399329A (zh) 一种提高可信应用程序安全的方法
CN103038745B (zh) 扩展完整性测量
CN106462438B (zh) 包含受信执行环境的主机的证明
CN103051451B (zh) 安全托管执行环境的加密认证
US7376974B2 (en) Apparatus and method for creating a trusted environment
CN103685138B (zh) 移动互联网上的Android平台应用软件的认证方法和系统
US10650139B2 (en) Securing temporal digital communications via authentication and validation for wireless user and access devices with securitized containers
CN108055133B (zh) 一种基于区块链技术的密钥安全签名方法
EP1542112A1 (en) Open type general-purpose attack-resistant cpu, and application system thereof
CN104247329B (zh) 请求云服务的装置的安全补救
CN107743133A (zh) 移动终端及其基于可信安全环境的访问控制方法和系统
CN107171785A (zh) 一种基于区块链技术的数字版权管理方法
CN107682331A (zh) 基于区块链的物联网身份认证方法
CN108781210A (zh) 具有可信执行环境的移动设备
KR20170095161A (ko) 시큐어 시스템 온 칩
CN108351937A (zh) 计算设备
CN107463838A (zh) 基于sgx的安全监控方法、装置、系统及存储介质
CN104584023B (zh) 用于硬件强制访问保护的方法和设备
WO2008012567A1 (en) Secure use of user secrets on a computing platform
CN113014539A (zh) 一种物联网设备安全保护系统及方法
EP3552131A1 (en) Password security
CN107908977A (zh) 基于TrustZone的智能移动终端信任链安全传递方法及系统
Akram et al. Trusted platform module for smart cards
CN102983969B (zh) 一种操作系统的安全登录系统及安全登录方法
CN107077568A (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