CN105095696B - 对应用程序进行安全认证的方法、***及设备 - Google Patents
对应用程序进行安全认证的方法、***及设备 Download PDFInfo
- Publication number
- CN105095696B CN105095696B CN201510357652.5A CN201510357652A CN105095696B CN 105095696 B CN105095696 B CN 105095696B CN 201510357652 A CN201510357652 A CN 201510357652A CN 105095696 B CN105095696 B CN 105095696B
- Authority
- CN
- China
- Prior art keywords
- application program
- trusted application
- secret key
- trusted
- additional information
- 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
- 238000000034 method Methods 0.000 title claims abstract description 43
- 238000012795 verification Methods 0.000 claims description 26
- 238000009826 distribution Methods 0.000 claims description 6
- 239000004148 curcumin Substances 0.000 description 16
- 230000008569 process Effects 0.000 description 16
- 238000010586 diagram Methods 0.000 description 8
- 239000004172 quinoline yellow Substances 0.000 description 8
- 238000010200 validation analysis Methods 0.000 description 6
- 239000004231 Riboflavin-5-Sodium Phosphate Substances 0.000 description 5
- 230000005540 biological transmission Effects 0.000 description 5
- 239000004149 tartrazine Substances 0.000 description 4
- 238000007689 inspection Methods 0.000 description 3
- 230000003993 interaction Effects 0.000 description 3
- 238000002955 isolation Methods 0.000 description 3
- 238000013507 mapping Methods 0.000 description 3
- 230000004913 activation Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- 238000012360 testing method Methods 0.000 description 2
- 230000002159 abnormal effect Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000005336 cracking Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 230000002708 enhancing effect Effects 0.000 description 1
- 239000000686 essence Substances 0.000 description 1
- 239000002360 explosive Substances 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
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/10—Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
- G06F21/12—Protecting executable software
- G06F21/121—Restricting unauthorised execution of programs
- G06F21/125—Restricting unauthorised execution of programs by manipulating the program code, e.g. source code, compiled code, interpreted code, machine code
- G06F21/126—Interacting with the operating system
-
- 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/606—Protecting data by securing the transmission between two devices or processes
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- General Health & Medical Sciences (AREA)
- Bioethics (AREA)
- Health & Medical Sciences (AREA)
- Multimedia (AREA)
- Technology Law (AREA)
- Storage Device Security (AREA)
Abstract
本发明公开了对应用程序进行安全认证的方法、***及设备,其中,该方法包括:从可信任应用程序分发服务器获取可信任应用程序包,转移到可信任执行环境中,在可信任执行环境中进行解包,得到可信任应用程序和附加信息;获取可信任应用程序和附加信息的解密秘钥;采用解密秘钥解密可信任应用程序和附加信息,得到解密后的可信任应用程序和附加信息;对解密后的可信任应用程序进行单输入摘要算法运算,得到摘要信息;利用附加信息中的公钥解密附加信息中的签名信息,得到原始摘要信息;判断所述原始摘要信息与所述摘要信息是否一致,如果是,则通过安全认证,在可信任执行环境中加载和运行可信任应用程序。本发明方案能够提高认证的安全性。
Description
技术领域
本发明涉及安全认证技术,尤其涉及对应用程序进行安全认证的方法、***及设备。
背景技术
随着智能手机、平板电脑以及智能电视等智能设备的普及,运行与智能设备上的应用程序的数量也呈现爆发式增长。为了维护软件开发者的权益,应用程序的分发都需要经过安全认证。智能设备通常只允许安装通过安全认证的应用程序,而现有的安全验证过程非常简单,只保证应用程序的完整性和软件开发者的著作权。
与此同时,应用程序的使用范围也越来越广,比如音视频回放、电子支付以及设备间的内容共享等。应用程序的关键算法(代码段)以及敏感信息(数据段)在上述应用场景下属于敏感信息,不能公开地分发,必须加以保护。
而现有技术只对应用程序进行简单的安全验证,没有对应用程序本身内容进一步采取安全性保护及认证,可能导致关键算法和敏感信息被黑客非法窃取,造成巨大的损失。
发明内容
本发明提供了一种对应用程序进行安全认证的方法,该方法能够提高认证的安全性。
本发明提供了一种对应用程序进行安全认证的***,该***能够提高认证的安全性。
本发明提供了一种对应用程序进行安全认证的智能设备,该智能设备能够提高认证的安全性。
一种对应用程序进行安全认证的方法,该方法包括:
从可信任应用程序分发服务器获取可信任应用程序包,将可信任应用程序包转移到可信任执行环境中,在可信任执行环境中进行解包,得到可信任应用程序和附加信息;
获取可信任应用程序和附加信息的解密秘钥;
采用解密秘钥解密可信任应用程序和附加信息,得到解密后的可信任应用程序和附加信息;
对解密后的可信任应用程序进行单输入摘要算法运算,得到摘要信息;
利用附加信息中的公钥解密附加信息中的签名信息,得到原始摘要信息;
判断所述原始摘要信息与所述摘要信息是否一致,如果是,则通过安全认证,在可信任执行环境中加载和运行可信任应用程序。
一种对应用程序进行安全认证的***,该***包括智能设备和可信任应用程序分发服务器,所述智能设备包括可信任应用程序管理单元和安全认证服务单元,安全认证服务单元位于可信任执行环境中;
所述可信任应用程序管理单元,从可信任应用程序分发服务器获取可信任应用程序包,发送给所述安全认证服务单元;
所述安全认证服务单元,接收所述可信任应用程序管理单元发送的可信任应用程序包,对其解包后得到加密的可信任应用程序和附加信息;获取可信任应用程序和附加信息的解密秘钥;采用解密秘钥解密可信任应用程序和附加信息,得到解密后的可信任应用程序和附加信息;对解密后的可信任应用程序进行单输入摘要算法运算,得到摘要信息;利用附加信息中的公钥解密附加信息中的签名信息,得到原始摘要信息;判断所述原始摘要信息与所述摘要信息是否一致,如果是,则通过安全认证,加载和运行可信任应用程序;
所述可信任应用程序分发服务器,根据所述可信任应用程序管理单元的请求,为其提供可信任应用程序包。
一种对应用程序进行安全认证的智能设备,该智能设备包括可信任应用程序管理单元和安全认证服务单元,安全认证服务单元位于可信任执行环境中;
所述可信任应用程序管理单元,从可信任应用程序分发服务器获取可信任应用程序包,发送给所述安全认证服务单元;
所述安全认证服务单元,接收所述可信任应用程序管理单元发送的可信任应用程序包,对其解包后得到可信任应用程序和附加信息;获取可信任应用程序和附加信息的解密秘钥;采用解密秘钥解密可信任应用程序和附加信息,得到解密后的可信任应用程序和附加信息;对解密后的可信任应用程序进行单输入摘要算法运算,得到摘要信息;利用附加信息中的公钥解密附加信息中的签名信息,得到原始摘要信息;判断所述原始摘要信息与所述摘要信息是否一致,如果是,则通过安全认证,加载和运行可信任应用程序。
从上述方案可以看出,本发明中,从可信任应用程序分发服务器获取可信任应用程序包,将可信任应用程序包转移到可信任执行环境中,解包后得到可信任应用程序和附加信息;获取可信任应用程序和附加信息的解密秘钥;采用解密秘钥解密可信任应用程序和附加信息,得到解密后的可信任应用程序和附加信息;对解密后的可信任应用程序进行单输入摘要算法运算,得到摘要信息;利用附加信息中的公钥解密附加信息中的签名信息,得到原始摘要信息;判断所述原始摘要信息与所述摘要信息是否一致,如果是,则通过安全认证,在可信任执行环境中加载和运行可信任应用程序。采用本发明方案,对可信任应用程序的安全认证、加载和运行都在可信任执行环境中完成,保证了认证的安全性。并且,可信应用程序以及附加信息在可信任应用程序分发服务器和智能终端之间的传输都是以加密的方式存在,保证了可信任应用程序的安全性;同时可信任应用程序的附加信息,包括签名信息和公钥也是加密的,增强了可信任应用程序的完整性;从而,进一步提高了认证的安全性。
附图说明
图1为本发明对应用程序进行安全认证的方法示意性流程图;
图2为本发明开发端提交可信任应用程序的流程图实例;
图3为本发明智能设备对可信任应用程序进行安全认证的流程图实例;
图4为本发明对应用程序进行安全认证的***结构示意图;
图5为本发明对应用程序进行完全认证的***构架示意图实例。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚明白,下面结合实施例和附图,对本发明进一步详细说明。
本发明中,将对可信任应用程序的安全认证、加载和运行都转移到可信任执行环境中完成,并且,可信应用程序以及附加信息在可信任应用程序分发服务器和智能终端之间的传输都是以加密的方式存在,从而,提高了认证的安全性。
参见图1,为本发明对应用程序进行安全认证的方法示意性流程图,其包括以下步骤:
步骤101,从可信任应用程序分发服务器获取可信任应用程序包,将可信任应用程序包转移到可信任执行环境中,在可信任执行环境中进行解包,得到可信任应用程序和附加信息。
本发明采用了与现有不同的方案对应用程序进行安全认证,为了进行区别,将采用本发明方案进行认证的对象称为可信任应用程序,将采用现有方案进行认证的对象称为普通应用程序。
本发明中,从可信任应用程序分发服务器获取可信任应用程序包后,将可信任应用程序包转移到可信任执行环境中,而后便可在信任执行环境中对可信任应用程序进行安全认证。
步骤102,获取可信任应用程序和附加信息的解密秘钥。
解密秘钥可以是智能终端与可信任应用程序分发服务器之间约定的任意解密秘钥;需要时,智能终端直接提取出预先预定的解密秘钥。还可以,在需要时,按照预先约定的计算方案运算得到所需的解密秘钥;例如:
智能设备获取本地的安全共享秘钥;
智能设备将可信任应用程序的通用唯一识别码(UUID)和安全共享秘钥,进行多输入摘要算法计算,得到可信任应用程序和附加信息的解密秘钥。
多输入摘要算法,即有多个输入,对多个输入进行摘要算法运算。本发明中具体对UUID和安全共享秘钥两个输入进行摘要算法运算,得到解密秘钥;该多输入摘要算法例如为哈希运算消息认证码(HMAC,Hash-based Message Authentication Code)算法。
所述安全共享秘钥以明文形式存于可信任执行环境的固件中,或者,通过硬件加密后存于可信任执行环境的固件中;
如果安全共享秘钥是以硬件加密的方式存于可信任执行环境的固件中,则采用硬件解密引擎获得解密后的安全共享秘钥,将解密后的安全共享秘钥用于多输入摘要算法运算;否则直接将安全共享秘钥用于多输入摘要算法运算。
安全共享秘钥可以以明文的形式存在于可信任执行环境的固件中,也可以通过硬件加密后存在于可信任执行环境的固件中,加密安全共享秘钥的秘钥是硬件秘钥,此硬件秘钥只能被硬件加密引擎获得。这样即使可信任执行环境的固件被黑客非法破解,黑客也无法获得安全共享秘钥,提升了安全共享秘钥安全性。
对于涉及安全共享秘钥的情形,本发明方法还包括:
授权中心接收生产厂商提供的绑定信息,所述绑定信息包含智能设备的安全共享秘钥与智能设备型号之间的对应关系,同类型智能设备有唯一的智能设备型号;
授权中心保存接收的绑定信息。相应地,步骤101所述从可信任应用程序分发服务器获取可信任应用程序包,包括:
智能设备向可信任应用程序分发服务器发送智能设备型号以及待请求的可信任应用程序的UUID;
可信任应用程序分发服务器向授权中心发送包含智能设备型号的秘钥请求;
授权中心根据智能设备型号在所述绑定关系中查找出对应的安全共享秘钥,向可信任应用程序分发服务器返回安全共享秘钥;
可信任应用程序分发服务器使用UUID和安全共享秘钥,对可信任应用程序和附加信息进行多输入摘要算法运算,获得用于加密可信任应用程序和附加信息的加密秘钥;
采用加密秘钥加密可信任应用程序和附加信息,其中附加信息包括签名信息和验证签名的公钥;
可信任应用程序分发服务器将加密后的可信任应用程序以及对应的附加信息打包成可信任应用程序包,将可信任应用程序包返回给智能设备;
智能设备下载可信任应用程序包。
进一步地,所述秘钥请求中还可以包含UUID;授权中心接收秘钥请求后,该方法还包括:
授权中心对智能设备型号和UUID进行验证,验证有效后,执行所述根据智能设备型号在所述绑定关系中查找出对应的安全共享秘钥的步骤。
步骤103,采用解密秘钥解密可信任应用程序和附加信息,得到解密后的可信任应用程序和附加信息。
本发明中,可信任应用程序和附加信息都进行了加密,需先计算出解密秘钥,采用解密秘钥对其进行解密。
步骤104,对解密后的可信任应用程序进行单输入摘要算法运算,得到摘要信息。
单输入摘要算法,即只有一个输入,对该输入进行摘要算法运算。本步骤中具体对解密后的可信任应用程序这一个输入进行摘要算法运算,得到解密秘钥;该单输入摘要算法例如为哈希算法。
步骤105,利用附加信息中的公钥解密附加信息中的签名信息,得到原始摘要信息。
步骤106,判断所述原始摘要信息与所述摘要信息是否一致,如果是,则通过安全认证,在可信任执行环境中加载和运行可信任应用程序。
本发明中,从可信任应用程序分发服务器获取可信任应用程序包,将可信任应用程序包转移到可信任执行环境中,解包后得到可信任应用程序和附加信息;获取可信任应用程序和附加信息的解密秘钥;采用解密秘钥解密可信任应用程序和附加信息,得到解密后的可信任应用程序和附加信息;对解密后的可信任应用程序进行单输入摘要算法运算,得到摘要信息;利用附加信息中的公钥解密附加信息中的签名信息,得到原始摘要信息;判断所述原始摘要信息与所述摘要信息是否一致,如果是,则通过安全认证,在可信任执行环境中加载和运行可信任应用程序。采用本发明方案,对可信任应用程序的安全认证、加载和运行都在可信任执行环境中完成,保证了认证的安全性。并且,可信应用程序以及附加信息在可信任应用程序分发服务器和智能终端之间的传输都是以加密的方式存在,保证了可信任应用程序的安全性;同时可信任应用程序的附加信息,包括签名信息和公钥也是加密的,增强了可信任应用程序的完整性;从而,进一步提高了认证的安全性。
本发明中,可信任应用程序分发服务器提供给用户的可信任应用程序和附加信息,由可开端预先编写完成后,上传到可信任应用程序分发服务器。具体地:
开发端从授权中心请求一个UUID;
开发端对编写的可信任应用程序进行单输入摘要算法运算,获得摘要信息;获取随机的非对称密钥对,采用非对称密钥对的私钥对摘要信息进行加密运算,得到可信任应用程序的签名信息;由签名信息和非对称秘钥的公钥组成附加信息;
开发端将可信任应用程序、附加信息以及请求到的UUID提交给可信任应用程序分发服务器。
开发端从授权中心获取UUID的流程可具体如下:
开发端向授权中心发送识别码申请请求;
授权中心进行身份认证,认证通过后向开发端反馈可信任应用程序的UUID,每一个可信任应用程序都对应一个UUID。
下面通过图2-3的流程,对本发明安全认证方法进行实例说明。
参见图2,为本发明开发端提交可信任应用程序的流程图实例,图中:
软件开发者E100:软件开发者是可信任应用程序代码编写、测试、向可信任应用程序授权中心申请通用唯一识别码,以及提交可信任应用程序包到可信任应用程序分发服务器的主体。
签名服务E102:用于获取产生和验证签名的非对称秘钥对;通过哈希计算得到可信任应用程序的摘要信息;利用非对称秘钥对的私钥加密摘要信息产生签名信息。
可信任应用程序授权中心E104(图中简称授权中心E104):负责软件开发者账号的颁发;可信任应用程序通用唯一识别码的分配。
可信任应用程序分发服务器E106:接收软件开发者提交的可信任应用程序包,并且维护一个通用唯一识别码到可信任应用程序包的映射表。
其中,软件开发者E100和签名服务E102,组成开发端,共同完成可信任应用程序和附加信息的编写。
图2的流程包括以下步骤:
步骤S200:软件开发者E100向授权中心E104申请用于提交可信任应用程序的开发账号,并且提供相关的用于颁发开发账号的认证信息。
步骤S202:授权中心E104对软件开发者E100的账号申请进行审查,根据软件开发端向E100提供的相关认证信息确认是否为其分配一个开发账号,如果通过资格审查,则颁发一个开发账号给软件开发者E100,并将开发端的账号信息存入本地数据库。
步骤S204:软件开发者E100根据步骤S202获得的开发账号请求授权中心E104分配一个UUID。
步骤S206:软件开发者E100对已经编写好的可信任应用程序使用签名服务E102进行哈希运算,获得可信任应用程序的摘要信息。
步骤S208:软件开发者E100使用签名服务E102获取随机产生的非对称密钥对,非对称秘钥对中的私钥用于产生签名信息,公钥用于验证签名信息。
步骤S210:软件开发者E100使用步骤S208产生的私钥加密步骤S206获得的摘要信息,产生签名信息,并将此签名信息和步骤S208的公钥组成附加信息。
步骤S212:软件开发者E100将可信任应用程序和步骤S210中产生的附加信息进行打包,利用步骤S202获得的开发账号和步骤S204申请的UUID,向可信任应用程序分发服务器E106发送提交请求。
步骤S214:可信任应用程序分发服务器E106收到软件开发者E100的提交请求,并向授权中心E104查询开发账号信息和通用唯一识别码的有效性。
步骤S216:授权中心E104在数据库中查询开发账号和UUID是否存在,如果存在,则判定为有效信息,并将查询结果答复给可信任应用程序分发服务器E106。
步骤S218:可信任应用程序分发服务器E106确认开发账号和UUID有效性之后,进一步检查可信任应用程序和附加信息是否有恶意代码,通过安全检查则接收软件开发者E100提交的可信任应用程序和附加信息,并且增加一个可信任应用程序包和通用唯一识别码的对应关系到映射表。
进行检查后,如果可信任应用程序和附加信息不含有恶意代码,则通过安全检查。
进一步地,步骤S202开发账号认证过程中,软件开发者E100必须提供充足的证明需要开发的可信任应用程序是合法的,因为可信任应用程序运行于可信任执行环境。比如软件开发端是某个标准化组织的成员或者某个内容服务提供商的员工。
进一步地,步骤S214在向授权中心E104查询开发账号和UUID有效性之前,首先会在映射表里面检查UUID是否已经存在,如果存在,则说明该UUID已经被提交过,直接返回错误给软件开发者E100。
进一步地,步骤S218中检查恶意代码是通过人工进行的,因此软件开发者E100必须提供完整的可信任应用程序源码。恶意代码一般包括异常操作硬件解密引擎、读写解码器或者显示模块的显存等。
在本实施例中,考虑到可信任应用程序的安全性要求很高,必须对软件开发端的身份信息以及提交的可信任应用程序源码做严格检查,这样可以防止恶意的可信任应用程序攻击可信任执行环境。
参见图3,为本发明智能设备对可信任应用程序进行安全认证的流程图实例,其包括以下步骤:
步骤S302:利用可信任应用程序对应的UUID和可信任执行环境中的安全共享秘钥进行HMAC计算,获得解密可信任应用程序以及附加信息的解密秘钥。
步骤S304:利用步骤S302所获得的解密秘钥解密可信任应用程序以及对应的附加信息,得到解密后的可信任应用程序以及对应的附加信息。
步骤S306:对解密后的可信任应用程序进行哈希运算得到摘要信息1。
步骤S308:利用附加信息中的公钥解密附加信息中的签名信息,获得摘要信息2。
步骤S310:比较步骤S306获得摘要信息1和步骤S308获得的摘要信息2,判断是否相等,如果相等则加载并且激活可信任应用程序,否则返回错误码。
进一步地,步骤S302中,安全共享秘钥如果以明文的形式存在于可信任执行环境中,则直接使用;如果以硬件加密的方式存在于可信任执行环境,那么通过硬件解密引擎解密以加密方式存在的安全共享秘钥,获得解密可信任应用程序以及附加信息的解密秘钥。
进一步地,步骤S304中,可以以软件或硬件的方式解密可信任应用程序以及附加信息,这取决于智能设备是否支持硬件解密引擎,利用硬件解密引擎可以有效地提升性能。
进一步地,步骤S308中,公钥和签名信息是从附加信息中提取的,由软件开发端提供的用于检查可信任应用程序的完整性和保护作者的版权的一种方式。
进一步地,步骤S310中,所激活的可信任应用程序拥有独立的地址空间,和安全认证过程中所有的操作模块都是隔离的。
进一步地,上述所有步骤的处理过程都在可信任执行环境中完成,中间过程产生的临时数据和最终的可信任应用程序代码段和数据段暂存在安全内存中,安全内存只能被处于可信任执行环境中的模块读写。
参见图4,为本发明对应用程序进行完全认证的***结构示意图,该***包括智能设备和可信任应用程序分发服务器,所述智能设备包括可信任应用程序管理单元和安全认证服务单元,安全认证服务单元位于可信任执行环境中;可信任应用程序管理单元可位于非信任执行环境中,也可位于可信任执行环境中;
所述可信任应用程序管理单元,从可信任应用程序分发服务器获取可信任应用程序包,发送给所述安全认证服务单元;
所述安全认证服务单元,接收所述可信任应用程序管理单元发送的可信任应用程序包,对其解包后得到可信任应用程序和附加信息;获取可信任应用程序和附加信息的解密秘钥;采用解密秘钥解密可信任应用程序和附加信息,得到解密后的可信任应用程序和附加信息;对解密后的可信任应用程序进行单输入摘要算法运算,得到摘要信息;利用附加信息中的公钥解密附加信息中的签名信息,得到原始摘要信息;判断所述原始摘要信息与所述摘要信息是否一致,如果是,则通过安全认证,加载和运行可信任应用程序;
所述可信任应用程序分发服务器,根据所述可信任应用程序管理单元的请求,为其提供可信任应用程序包。
进一步地,该***还包括授权中心,接收绑定信息,所述绑定信息包含智能设备的安全共享秘钥与智能设备型号之间的对应关系,同类型智能设备有唯一的智能设备型号;保存接收的绑定信息。某个智能设备生产商可能有多个不同的设备型号,设备型号可以根据一定规则来制定,比如SOC片上***的版本,前提是必须保证设备生产商的所有同类型设备有且仅有一个唯一的型号。
进一步地,所述可信任应用程序管理单元,向可信任应用程序分发服务器发送下载请求,所述下载请求包含智能设备型号以及待请求的可信任应用程序的UUID;从所述可信任应用程序分发服务器下载可信任应用程序包后,发送给所述安全认证服务单元;
所述可信任应用程序分发服务器,向所述授权中心发送包含智能设备型号的秘钥请求,接收所述授权中心返回的安全共享秘钥;使用UUID和安全共享秘钥,对可信任应用程序和附加信息进行多输入摘要算法运算,获得用于加密可信任应用程序和附加信息的加密秘钥;采用加密秘钥加密可信任应用程序和附加信息,其中附加信息包括签名信息和验证签名的公钥;将加密后的可信任应用程序以及对应的附加信息打包成可信任应用程序包,将可信任应用程序包返回给智能设备;
所述授权中心,接收来自所述可信任应用程序分发服务器的秘钥请求,根据智能设备型号在所述绑定关系中查找出对应的安全共享秘钥,向所述可信任应用程序分发服务器返回安全共享秘钥。
进一步地,该***还包括开发端,从授权中心请求一个UUID;对编写的可信任应用程序进行单输入摘要算法运算,获得摘要信息;获取随机的非对称密钥对,采用非对称密钥对的私钥对摘要信息进行加密运算,得到可信任应用程序的签名信息;由签名信息和非对称秘钥的公钥组成附加信息;将可信任应用程序、附加信息以及请求到的UUID提交给可信任应用程序分发服务器。
进一步地,所述可信任应用程序管理单元包括请求模块和接收模块,所述安全认证服务单元位于可信任执行环境中,包括包解析服务模块、解密服务模块、签名验证服务模块和进程加载服务模块;
所述请求模块,向可信任应用程序分发服务器发送下载请求;
所述接收模块,从可信任应用程序分发服务器下载可信任应用程序包后,发送给所述包解析服务模块;
所述包解析服务模块,对可信任应用程序包进行解码,得到可信任应用程序和附加信息,发送给所述解密服务模块;
所述解密服务模块,获取可信任应用程序和附加信息的解密秘钥;采用解密秘钥解密可信任应用程序和附加信息,得到解密后的可信任应用程序和附加信息,发送给所述签名验证服务模块;
所述签名验证服务模块,对解密后的可信任应用程序进行单输入摘要算法运算,得到摘要信息;利用附加信息中的公钥解密附加信息中的签名信息,得到原始摘要信息;判断所述原始摘要信息与所述摘要信息是否一致,如果是,则通过安全认证,将可信任应用程序发送给所述进程加载服务模块;
所述进程加载服务模块,加载和运行可信任应用程序。
进一步地,所述包解析服务模块包含秘钥子模块,所述解密服务模块包含解密子模块;
所述秘钥子模块,获取本地的安全共享秘钥,发送给所述解密子模块;
所述解密子模块,将可信任应用程序的通用唯一识别码(UUID)和安全共享秘钥,进行多输入摘要算法计算,得到可信任应用程序和附加信息的解密秘钥。
本发明方案适用于具有安全扩展的嵌入式设备,包括但不仅限于智能手机、平板电脑、智能电视、电视机顶盒等。可信任应用程序认证方法所涉及到的主体包括软件开发者、智能设备生产商、可信任应用程序授权中心和可信任应用程序分发服务器。
采用本发明方案,一方面通过对可信任应用程序的加密和签名验证保证了软件的安全性和完整性;另一方面通过可信任应用程序解密秘钥和通用唯一识别码的绑定,增加了可信任应用程序之间的隔离性,任何一个可信任用程序解密秘钥的泄露不会影响其他可信任应用程序的安全;最后通过可信任应用程序解密秘钥和设备型号的绑定,增加了智能设备之间的隔离性,某个设备型号安全共享秘钥的破解不会蔓延到其他型号,增加了安全共享秘钥的鲁棒性。
参见图5,为本发明对应用程序进行完全认证的***构架示意图实例,该***构架主要包括三个功能实体:可信任应用程序授权中心501(图5中简称授权中心501)、可信任应用程序分发服务器502(图5中简称分发服务器502)和智能设备503。其中智能设备503又运行着两种代码执行环境:非信任执行环境504和可信任执行环境508,分别对应支持安全扩展处理器的非安全状态和安全状态。
可信任应用程序管理单元505是运行在非信任执行环境中,主要负责与可信任应用程序分发服务器(图5中简称分发服务器502)以及可信任执行环境中的安全认证服务单元513之间的数据交互,可信任应用程序管理单元505包括:请求模块506和接收模块507。请求模块506收集当前设备的型号和可信任应用程序管理单元505所需的通用唯一识别码,向分发服务器502发送可信任应用程序包的下载请求;接收模块507负责接收分发服务器502提供的可信任应用程序包,并且将其传送至可信任执行环境中的安全认证服务单元513。
安全认证服务单元513运行在可信任执行环境中,主要任务是:接收从非信任执行环境的可信任应用程序管理单元505发送的可信任应用程序包;解析可信任应用程序包、解密可信任应用程序和附加信息;利用附加信息中的公钥验证附加信息中的签名信息;加载并激活通过安全认证的可信任应用程序。
安全认证服务单元513由以下模块组成:包解析服务模块509、解密服务模块510、签名认验证服务模块511和进程加载服务模块512。包解析服务模块509负责接收来自非信任执行环境的可信任应用程序管理单元505发送的可信任应用程序包;解析可信任应用程序包获得可信任应用程序和对应的附加信息;并从附加信息里面提取出签名信息和验证签名的公钥。解密服务模块510通过HMAC计算获得可信任应用程序和对应的附加信息解密秘钥,并且解密可信任应用程序和对应的附加信息,然后将解密后的可信任应用程序和对应的附加信息送入签名认验证服务模块511待进一步处理。签名认验证服务模块511验证附加信息中的签名信息是否与可信任应用程序一致,如果一致则将可信任应用程序送至进程加载服务模块512。进程加载服务模块512加载并且激活已经通过安全认证的可信任应用程序。
可信任应用程序管理单元505,用于从可信任应用程序分发服务器获取以加密方式存在的可信任应用程序包;包解析服务模块509,解析可信任应用程序包后获得加密的可信任应用应用程序以及对应的附加信息;解密服务模块510,用于解密可信任应用程序和附加信息;签名验证服务模块511,用于验证可信任应用程序的签名信息;进程加载服务模块512,加载和运行通过签名验证的可信任应用程序。
可信任应用程序管理单元可信任应用程序管理单元进一步地,所述可信任应用程序管理单元505还包括转移子模块,通过非安全共享内存将下载后的可信任应用程序包发给可信任执行环境中的包解析模块509。非安全共享内存是不受信任的,可以被非信任执行环境中的任何模块读写。
进一步地,所述包解析服务模块509包括解包子模块,用于解析可信任应用程序管理单元505提交的可信任应用程序包,获取加密后的可信任应用程序和对应的附加信息,并从附加信息里面提取加密后的摘要信息和签名验证信息。
进一步地,所述包解析服务模块509还包括秘钥子模块,秘钥子模块获取当前设备的安全共享秘钥。如果安全共享秘钥是加密的,则从可信任执行环境中获取加密后的安全共享秘钥,并通过硬件解密引擎获得解密可信任应用程序以及附加信息的解密秘钥。
进一步地,所述解密服务模块510包括解密子模块,用于解密可信任应用程序和对应的附加信息。通过当前可信任应用程序的通用唯一识别码和安全共享秘钥进行HMAC计算,得到解密可信任应用程序和对应的附加信息的解密秘钥。利用此秘钥解密可信任应用程序和对应的附加信息,进而得到附加信息中的签名信息和签名验证公钥。
进一步地,所述解密子模块,将解密后的可信任应用程序和对应的附加信息存储在安全内存中,安全内存不能被非信任执行环境中的模块所读写。
智能设备认证可信任应用程序详细过程如下:
首先,在可信任应用程序管理单元505启动的过程中,获取当前智能设备的型号。当前智能设备型号是智能设备生产商在出厂前向授权中心501注册过的,授权中心维护所有智能设备生产商的型号,如果智能设备生产商没有注册过设备型号,那么无法使用分发服务器502提供的可信任应用程序下载服务。
其次,可信任应用程序管理单元505使用获取的设备型号向分发服务器502查询所有可信任应用程序名字以及对应的通用唯一识别码,并且显示到当前可信任应用程序管理单元505的用户界面中,待智能设备的使用者进行选择。
然后,智能设备的使用者选择自己想要下载的可信任应用程序,可信任应用程序管理单元505根据用户的输入得到可信任应用程序名字对应的通用唯一识别码,请求模块507利用通用唯一识别码和设备型号向分发服务器502请求下载与通用唯一识别码对应的可信任应用程序。
之后,分发服务器502向授权中心501发出请求,查询通用唯一识别码和设备型号的有效性,授权中心501查询当前的数据库,确认是否存在并且将结果返回给分发服务器502。分发服务器502确认通用唯一识别码和设备型号有效后,向授权中心501请求该设备型号对应的安全共享秘钥,授权中心501将设备型号对应的安全共享秘钥回复给分发服务器502。
之后,分发服务器502利用通用唯一识别码和授权中心501返回的特定于设备型号的安全共享秘钥进行HMAC计算,得到加密可信任应用程序包的加密秘钥,然后利用此秘钥加密可信任应用程序包。然后通知请求模块507的下载可信任应用程序请求得到许可。其中授权中心501返回的特定于设备型号的安全共享秘钥是智能设备生产商在注册设备型号的时候绑定的,由智能设备生产商提供。
之后,请求模块507通知接收模块506接收分发服务器502下发的已经加密的可信任应用程序包。接收模块506获得加密的可信任应用程序包后,通过非安全的共享内存传送给可信任执行环境中的安全认证服务单元513,并将可信任应用程序包对应的通用唯一识别码也传送给安全认证服务单元513。其中非安全共享内存是不受信任的,可以被非信任执行环境中的模块读写。
之后,安全认证服务单元513收到可信任应用程序管理单元505认证可信任应用程序包的请求。包解析模块509接收加密的可信任应用程序包,解析后获得加密状态的可信任应用程序和对应的附加信息。
之后,解密服务模块510从可信任执行环境中获得安全共享秘钥,如果安全共享秘钥以明文的形式存在,那么直接使用。如果安全共享秘钥以硬件加密的方式存储在可信任执行环境中,则解密服务模块510先通过硬件解密引擎解密并且获得解密后的安全共享秘钥,其中用于解密以加密形式存在的安全共享秘钥的秘钥是硬件秘钥,只能被硬件解密引擎获取并使用。
之后,解密服务模块510利用接收模块506发送的通用唯一识别码和安全共享秘钥作HMAC计算,获取解密可信任应用程序和对应的附加信息解密秘钥。解密服务模块510利用此解密秘钥解密可信任应用程序和对应的附加信息,并从附加信息中提取签名信息和验证签名的公钥,送给签名认验证服务模块511。
之后,签名认验证服务模块511计算解密服务模块510送来的可信任应用程序的摘要信息,并且利用解密后附加信息中的公钥解密附加信息中的签名信息获得原始摘要信息,并将其和由可信任应用程序作哈希运算获得摘要信息做比较,如果一致,则通过安全认证,将可信任应用程序传送给进程加载服务模块512,否则返回错误码。
之后,进程加载服务模块512加载并且激活已经通过安全认证的可信任应用程序,并且可信任应用程序和安全认证服务单元513具有独立的地址空间,两者不能相互直接访问数据。
进一步地,在上述步骤中,智能设备生产商不能泄露任何设备型号对应的安全共享秘钥,并且只能将安全共享秘钥置于可信任执行环境固件中,如果当前设备支持硬件解密引擎,那么安全共享秘钥必须以加密的形式存在于可信任执行环境的固件中,这样即使某个型号的可信任执行环境的固件被黑客非法破解,黑客也无法获得安全共享秘钥。
进一步地,在上述步骤中,可信任应用程序也可以和非信任应用程序结合使用,非信任应用程序可以向可信任应用程序管理单元505发送请求下载某个通用唯一识别码对应的可信任应用程序。
进一步地,在上述步骤中,解密服务模块510解密可信任应用程序和对应的附加信息的结果必须保存在解密服务模块510分配的安全内存中,安全内存只能被处于可信任执行环境中的模块读写。并且后续的签名认验证服务模块511以及进程加载服务模块512所涉及到的内存都是安全内存。
进一步地,在上述步骤中,附加信息中的签名信息和验证签名的公钥也是加密过的,这样可以增强安全性,黑客无法替换签名验证的信息。
进一步地,在上述步骤中,可信任应用程序可以独立完成某一项功能,也可以和非信任应用程序相互作用完成某一项功能,这个取决于可信任应用程序的实现机制。
通过本实施例,可信应用程序以及附加信息在分发服务器502和可信任执行环境的安全认证服务单元513之间的传输都是以加密的方式存在,保证了可信任应用程序的安全性;同时可信任应用程序的附加信息,包括签名信息和验证签名的公钥也是加密的,增强了可信任应用程序的完整性;每一个设备型号的智能设备都有不同的安全共享秘钥,即使某一个型号的智能设备安全共享秘钥遭到破解,也不会危及本厂商或者其他厂商不同智能设备的型号的安全共享秘钥;每一个可信任应用程序都有不同的通用唯一识别码,因此每一个可信任应用程序都有不同的解密秘钥,任何其中一个可信任应用程序的解密秘钥的泄露不会影响到其他的可信任应用程序解密秘钥,提升了安全认证的鲁棒性。支持硬件解密引擎的智能设备中,安全共享秘钥是以加密的形式存在于可信任执行环境的固件中,这样即使可信任执行环境的固件遭到黑客攻击,黑客也无法获得安全共享秘钥,增加了可信任执行环境的稳健性。
通过本实施例,任何新增的可信任应用程序和智能设备型号都不需要更新已经存在的可信任执行环境的固件,大大提升了可信任应用程序管理的可维护性。同时可信任应用程序的认证过程涉及到的软件开发者和智能设备提供商不需要发生直接的交互和通信,都是通过授权中心和分发服务器间接地建立起联系,提升了可信任应用程序管理的效率。
采用本实施例方案,克服了现有技术中不能保密应用程序本身内容的缺陷,对于本身带有或者运行过程中使用关键算法和产生敏感数据的应用程序,将被打包成可信任应用程序包进行分发,可信任应用程序的发布过程和普通的应用程序分别对待。对于普通的应用程序,只需要确保软件本身完整性和软件开发者的版权即可,并不需要保护应用程序本身的内容,因此只需要对应用程序进行签名验证。而可信任应用程序本身也需要被加密,同时也要用签名验证来保证可信任应用程序的完整性和软件开发者的著作权。可信任应用程序运行于可信任执行环境,同时可信任应用程序的安全认证也是在可信任执行环境中完成的。在可信任应用程序被激活之前,必须通过可信任执行环境的安全认证,否则激活失败。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。
Claims (9)
1.一种对应用程序进行安全认证的方法,其特征在于,该方法包括:
从可信任应用程序分发服务器获取可信任应用程序包,将可信任应用程序包转移到可信任执行环境中,在可信任执行环境中进行解包,得到可信任应用程序和附加信息;
获取可信任应用程序和附加信息的解密秘钥;
采用解密秘钥解密可信任应用程序和附加信息,得到解密后的可信任应用程序和附加信息;
对解密后的可信任应用程序进行单输入摘要算法运算,得到摘要信息;
利用附加信息中的公钥解密附加信息中的签名信息,得到原始摘要信息;
判断所述原始摘要信息与所述摘要信息是否一致,如果是,则通过安全认证,在可信任执行环境中加载和运行可信任应用程序;
授权中心接收绑定信息,所述绑定信息包含智能设备的安全共享秘钥与智能设备型号之间的对应关系,同类型智能设备有唯一的智能设备型号;
授权中心保存接收的绑定信息。
2.如权利要求1所述的方法,其特征在于,所述获取可信任应用程序和附加信息的解密秘钥包括:
智能设备获取本地的安全共享秘钥;
智能设备将可信任应用程序的通用唯一识别码(UUID)和安全共享秘钥,进行多输入摘要算法计算,得到可信任应用程序和附加信息的解密秘钥。
3.如权利要求2所述的方法,其特征在于,所述安全共享秘钥以明文形式存于可信任执行环境的固件中,或者,通过硬件加密后存于可信任执行环境的固件中;
如果安全共享秘钥是以硬件加密的方式存于可信任执行环境的固件中,则采用硬件解密引擎获得解密后的安全共享秘钥,将解密后的安全共享秘钥用于多输入摘要算法运算;否则直接将安全共享秘钥用于多输入摘要算法运算。
4.如权利要求1所述的方法,其特征在于,所述从可信任应用程序分发服务器获取可信任应用程序包,包括:
智能设备向可信任应用程序分发服务器发送智能设备型号以及待请求的可信任应用程序的UUID;
可信任应用程序分发服务器向授权中心发送包含智能设备型号的秘钥请求;
授权中心根据智能设备型号在所述绑定信息中查找出对应的安全共享秘钥,向可信任应用程序分发服务器返回安全共享秘钥;
可信任应用程序分发服务器使用UUID和安全共享秘钥,对可信任应用程序和附加信息进行多输入摘要算法运算,获得用于加密可信任应用程序和附加信息的加密秘钥;
采用加密秘钥加密可信任应用程序和附加信息,其中附加信息包括签名信息和验证签名的公钥;
可信任应用程序分发服务器将加密后的可信任应用程序以及对应的附加信息打包成可信任应用程序包,将可信任应用程序包返回给智能设备;
智能设备下载可信任应用程序包。
5.如权利要求4所述的方法,其特征在于,所述秘钥请求中还包含UUID;授权中心接收秘钥请求后,该方法还包括:
授权中心对智能设备型号和UUID进行验证,验证有效后,执行所述根据智能设备型号在所述绑定信息中查找出对应的安全共享秘钥的步骤。
6.如权利要求1所述的方法,其特征在于,该方法还包括:
开发端从授权中心请求一个UUID;
开发端对编写的可信任应用程序进行单输入摘要算法运算,获得摘要信息;获取随机的非对称密钥对,采用非对称密钥对的私钥对摘要信息进行加密运算,得到可信任应用程序的签名信息;由签名信息和非对称秘钥的公钥组成附加信息;
开发端将可信任应用程序、附加信息以及请求到的UUID提交给可信任应用程序分发服务器。
7.一种对应用程序进行安全认证的***,其特征在于,该***包括智能设备和可信任应用程序分发服务器,所述智能设备包括可信任应用程序管理单元和安全认证服务单元,安全认证服务单元位于可信任执行环境中;
所述可信任应用程序管理单元,从可信任应用程序分发服务器获取可信任应用程序包,发送给所述安全认证服务单元;
所述安全认证服务单元,接收所述可信任应用程序管理单元发送的可信任应用程序包,对其解包后得到加密的可信任应用程序和附加信息;获取可信任应用程序和附加信息的解密秘钥;采用解密秘钥解密可信任应用程序和附加信息,得到解密后的可信任应用程序和附加信息;对解密后的可信任应用程序进行单输入摘要算法运算,得到摘要信息;利用附加信息中的公钥解密附加信息中的签名信息,得到原始摘要信息;判断所述原始摘要信息与所述摘要信息是否一致,如果是,则通过安全认证,加载和运行可信任应用程序;
所述可信任应用程序分发服务器,根据所述可信任应用程序管理单元的请求,为其提供可信任应用程序包;
该***还包括授权中心,接收绑定信息,所述绑定信息包含智能设备的安全共享秘钥与智能设备型号之间的对应关系,同类型智能设备有唯一的智能设备型号;保存接收的绑定信息。
8.如权利要求7所述的***,其特征在于,所述可信任应用程序管理单元,向可信任应用程序分发服务器发送下载请求,所述下载请求包含智能设备型号以及待请求的可信任应用程序的UUID;从所述可信任应用程序分发服务器下载可信任应用程序包后,发送给所述安全认证服务单元;
所述可信任应用程序分发服务器,向所述授权中心发送包含智能设备型号的秘钥请求,接收所述授权中心返回的安全共享秘钥;使用UUID和安全共享秘钥,对可信任应用程序和附加信息进行多输入摘要算法运算,获得用于加密可信任应用程序和附加信息的加密秘钥;采用加密秘钥加密可信任应用程序和附加信息,其中附加信息包括签名信息和验证签名的公钥;将加密后的可信任应用程序以及对应的附加信息打包成可信任应用程序包,将可信任应用程序包返回给智能设备;
所述授权中心,接收来自所述可信任应用程序分发服务器的秘钥请求,根据智能设备型号在所述绑定信息中查找出对应的安全共享秘钥,向所述可信任应用程序分发服务器返回安全共享秘钥。
9.如权利要求7-8中任一项所述的***,其特征在于,该***还包括开发端,从授权中心请求一个UUID;对编写的可信任应用程序进行单输入摘要算法运算,获得摘要信息;获取随机的非对称密钥对,采用非对称密钥对的私钥对摘要信息进行加密运算,得到可信任应用程序的签名信息;由签名信息和非对称秘钥的公钥组成附加信息;将可信任应用程序、附加信息以及请求到的UUID提交给可信任应用程序分发服务器。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510357652.5A CN105095696B (zh) | 2015-06-25 | 2015-06-25 | 对应用程序进行安全认证的方法、***及设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510357652.5A CN105095696B (zh) | 2015-06-25 | 2015-06-25 | 对应用程序进行安全认证的方法、***及设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105095696A CN105095696A (zh) | 2015-11-25 |
CN105095696B true CN105095696B (zh) | 2018-10-16 |
Family
ID=54576113
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510357652.5A Active CN105095696B (zh) | 2015-06-25 | 2015-06-25 | 对应用程序进行安全认证的方法、***及设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105095696B (zh) |
Families Citing this family (22)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107689938A (zh) * | 2016-08-04 | 2018-02-13 | 捷而思股份有限公司 | 伪造指令自动过滤***、协同运作***、与相关的指令核实电路 |
CN107483523A (zh) * | 2016-11-02 | 2017-12-15 | 深圳市波普安创技术有限公司 | 信息安全设备的合法固件调试***及其方法 |
CN106709324A (zh) | 2016-11-10 | 2017-05-24 | 京东方科技集团股份有限公司 | 用于验证应用安全性的方法和设备 |
CN106712964A (zh) * | 2016-12-27 | 2017-05-24 | 广州智慧城市发展研究院 | 一种基于Java卡的应用验证方法及验证*** |
CN106778102B (zh) * | 2016-12-27 | 2023-04-28 | 上海云间半导体科技有限公司 | 基于Android***的应用程序加密方法和装置 |
CN107194237B (zh) * | 2017-04-05 | 2020-04-03 | 百富计算机技术(深圳)有限公司 | 应用程序安全认证的方法、装置、计算机设备及存储介质 |
CN107908977B (zh) * | 2017-09-28 | 2020-02-18 | 中国船舶重工集团公司第七0九研究所 | 基于TrustZone的智能移动终端信任链安全传递方法及*** |
CN107682159B (zh) * | 2017-10-12 | 2021-02-02 | 北京握奇智能科技有限公司 | 一种智能终端的可信应用管理方法和可信应用管理*** |
CN107919960A (zh) * | 2017-12-04 | 2018-04-17 | 北京深思数盾科技股份有限公司 | 一种应用程序的认证方法和*** |
CN110098933B (zh) * | 2018-01-29 | 2021-09-14 | 卓望数码技术(深圳)有限公司 | 一种手机应用自动身份认证方法和*** |
CN108710361B (zh) * | 2018-05-30 | 2020-07-28 | 广州明珞软控信息技术有限公司 | 一种安全程序检查方法和*** |
CN108769043B (zh) * | 2018-06-06 | 2021-02-02 | 中国联合网络通信集团有限公司 | 可信应用认证***和可信应用认证方法 |
CN109559796B (zh) * | 2018-11-30 | 2020-12-08 | 苏州东巍网络科技有限公司 | 一种间歇性训练数据获取请求与认证***及方法 |
CN110071924B (zh) * | 2019-04-24 | 2020-07-31 | 武汉武房网信息服务有限公司 | 基于终端的大数据分析方法及*** |
CN111193730B (zh) * | 2019-12-25 | 2022-06-14 | 上海沄界信息科技有限公司 | 一种IoT可信场景构建方法及装置 |
CN111158771B (zh) * | 2019-12-30 | 2021-08-17 | 联想(北京)有限公司 | 处理方法、装置及计算机设备 |
CN113381859B (zh) * | 2020-03-10 | 2024-02-20 | 本无链科技(深圳)有限公司 | 一种用于区块链的进程互签通信方法及*** |
US20220114249A1 (en) * | 2020-10-09 | 2022-04-14 | Huawei Technologies Co., Ltd. | Systems and methods for secure and fast machine learning inference in a trusted execution environment |
CN114567425B (zh) * | 2020-11-27 | 2024-02-02 | 中国电信股份有限公司 | 物联网通信方法、***、SoC Sim和物联网终端 |
CN112968774B (zh) * | 2021-02-01 | 2023-04-07 | 中国海洋石油集团有限公司 | 一种组态存档加密及解密方法、装置存储介质及设备 |
CN112948807A (zh) * | 2021-02-04 | 2021-06-11 | 中国联合网络通信集团有限公司 | 应用程序合法性验证方法及装置 |
CN116248291B (zh) * | 2023-01-30 | 2023-11-17 | 深圳市盛思达通讯技术有限公司 | 一种消费机的签名验签方法及*** |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1423766A (zh) * | 2000-02-17 | 2003-06-11 | 通用仪器公司 | 提供安全控制软件或固件代码下载和接收下载代码的计算装置的安全操作的方法和装置 |
CN102271130A (zh) * | 2011-07-22 | 2011-12-07 | 四川长虹电器股份有限公司 | 实现软件安全交付及分发的方法 |
CN103685138A (zh) * | 2012-08-30 | 2014-03-26 | 卓望数码技术(深圳)有限公司 | 移动互联网上的Android平台应用软件的认证方法和*** |
-
2015
- 2015-06-25 CN CN201510357652.5A patent/CN105095696B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1423766A (zh) * | 2000-02-17 | 2003-06-11 | 通用仪器公司 | 提供安全控制软件或固件代码下载和接收下载代码的计算装置的安全操作的方法和装置 |
CN102271130A (zh) * | 2011-07-22 | 2011-12-07 | 四川长虹电器股份有限公司 | 实现软件安全交付及分发的方法 |
CN103685138A (zh) * | 2012-08-30 | 2014-03-26 | 卓望数码技术(深圳)有限公司 | 移动互联网上的Android平台应用软件的认证方法和*** |
Also Published As
Publication number | Publication date |
---|---|
CN105095696A (zh) | 2015-11-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105095696B (zh) | 对应用程序进行安全认证的方法、***及设备 | |
CN110519309B (zh) | 数据传输方法、装置、终端、服务器及存储介质 | |
CN1985466B (zh) | 使用分发cd按签署组向设备传递直接证据私钥的方法 | |
US8495383B2 (en) | Method for the secure storing of program state data in an electronic device | |
US20220114249A1 (en) | Systems and methods for secure and fast machine learning inference in a trusted execution environment | |
CN103731395B (zh) | 文件的处理方法及*** | |
CN112737779B (zh) | 一种密码机服务方法、装置、密码机及存储介质 | |
JP5136012B2 (ja) | データ送付方法 | |
US20080123843A1 (en) | Method for binding a security element to a mobile device | |
US20210006548A1 (en) | Method for authorizing access and apparatus using the method | |
TW202109320A (zh) | 基於可信執行環境的應用程式啟動方法及裝置 | |
CN102271124A (zh) | 数据处理设备和数据处理方法 | |
KR20080065661A (ko) | 파일 시스템으로의 접근을 제어하기 위한 방법, 파일시스템에 사용하기 위한 관련 시스템, sim 카드 및컴퓨터 프로그램 제품 | |
CN110235134B (zh) | 使用洁净室供应来寻址可信执行环境 | |
KR20090084545A (ko) | Ce 장치 관리 서버, ce 장치 관리 서버를 이용한drm 키 발급 방법, 및 그 방법을 실행하기 위한프로그램 기록매체 | |
US8774407B2 (en) | System and method for executing encrypted binaries in a cryptographic processor | |
US20220247576A1 (en) | Establishing provenance of applications in an offline environment | |
KR20170019308A (ko) | 신뢰된 권한 정보 제공 방법, 신뢰된 권한 정보를 포함하는 사용자 크리덴셜 발급 방법 및 사용자 크리덴셜 획득 방법 | |
CN111901287B (zh) | 一种为轻应用提供加密信息的方法、装置和智能设备 | |
JP2004140636A (ja) | 電子文書の署名委任システム、署名委任サーバ及び署名委任プログラム | |
KR100883442B1 (ko) | 온라인 서비스를 사용하여 직접 증명 비밀키를 디바이스에전달하는 방법 | |
CN108243158A (zh) | 一种安全认证的方法和装置 | |
CN112131597A (zh) | 一种生成加密信息的方法、装置和智能设备 | |
KR100897075B1 (ko) | 배포 cd를 사용하는 장치에 서명 그룹의 다이렉트 증명개인 키들을 전달하는 방법 | |
TWM585941U (zh) | 帳戶資料處理系統 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |