CN105354050A - 一种智能终端的应用软件调用方法 - Google Patents

一种智能终端的应用软件调用方法 Download PDF

Info

Publication number
CN105354050A
CN105354050A CN201510639478.3A CN201510639478A CN105354050A CN 105354050 A CN105354050 A CN 105354050A CN 201510639478 A CN201510639478 A CN 201510639478A CN 105354050 A CN105354050 A CN 105354050A
Authority
CN
China
Prior art keywords
application software
secret key
verification
intelligent terminal
flash
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
CN201510639478.3A
Other languages
English (en)
Other versions
CN105354050B (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.)
Shenzhen Jiuzhou Electric Appliance Co Ltd
Original Assignee
Shenzhen Jiuzhou Electric Appliance 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 Shenzhen Jiuzhou Electric Appliance Co Ltd filed Critical Shenzhen Jiuzhou Electric Appliance Co Ltd
Priority to CN201510639478.3A priority Critical patent/CN105354050B/zh
Publication of CN105354050A publication Critical patent/CN105354050A/zh
Application granted granted Critical
Publication of CN105354050B publication Critical patent/CN105354050B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • G06F9/44505Configuring for program initiating, e.g. using registry, configuration files
    • 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/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

Abstract

本发明涉及智能终端的安全领域,尤其涉及一种智能终端的应用软件调用方法,包括以下步骤:系统上电,读取Flash中的秘钥0;采用所述秘钥0对Boot进行校验,校验通过后,启动Boot;读取Boot中的秘钥1,并对加载的文件系统进行校验,校验通过后则启动文件系统;读取Flash中的秘钥2,并对加载的应用软件进行校验,校验通过后启动应用软件,本发明提供的智能终端的应用软件调用方法,在智能终端启动和/或升级的过程中,能够正确运行授权的合法软件或重新加载授权程序,不容易遭受黑客的攻击。

Description

一种智能终端的应用软件调用方法
【技术领域】
本发明涉及智能终端的安全领域,尤其涉及一种智能终端的应用软件调用方法。
【背景技术】
未进行安全加固的原始智能终端安全级别较低,特别是增加网络功能后,智能终端的安全日益成为网络应用的一大问题,如何构造符合设计需要的系统,如何实现内核安全及审计是一个关键性的问题。智能终端的操作系统的安全级别较低,响应的安全增强软件也不丰富。目前对于智能终端常见的安全危害有如下几种:
1.在智能终端上,强制安装并无法删除的非法未授权软件;在后台收集用户信息用以牟利;通过弹出式广告或者消息的方式传播不良信息。
2.利用“后门程序”捕获用户或者运营商的隐私数据和重要信息,并发送给黑客、商务公司等。这些“后面程序”是指能够远程操作用户的智能终端的庞大的非法网络。这是目前系统安全的重要隐患之一。
3.用户在浏览网页或者使用网络服务的时候,被强行安装非法插件,导致智能终端无法正常的工作,甚至会被非法份子用于传播虚假信息等,危害社会的安全。这也是黑客攻击智能终端安全系统的手段。
除此之外,智能终端中很多重要敏感数据的安全也需要得到保障,不然很容易成为黑客的攻击目标。
【发明内容】
本发明旨在解决智能终端上应用软件调用的安全级别较低,隐私数据和重要信息被盗取可能性较大、敏感数据的安全得不到保障,容易被黑客攻击的问题,提供一种智能终端的应用软件调用方法。
为解决上述技术问题,本发明提供以下技术方案:
一种智能终端的应用软件调用方法,包括:
步骤1:当系统上电时,读取预存在Flash中的秘钥0;
步骤2:采用所述秘钥0对Boot进行校验,如果校验通过,则启动Boot,并转到步骤3;
步骤3:从Boot中读取秘钥1,并采用秘钥1对所要加载的文件系统进行校验,如果校验通过,则启动文件系统,并转到步骤4;
步骤4:读取预存在Flash中的秘钥2,采用秘钥2对要加载的应用软件进行校验,校验通过后则启动所述应用软件。
在本发明实施例中,所述步骤3读取Boot中的秘钥1,并对加载的文件系统进行校验,进一步包括:如果校验未通过则继续步骤1:系统上电,读取预存在Flash中的秘钥0。
在本发明实施例中,所述步骤4读取Flash中的秘钥2,并对加载的应用软件进行校验,进一步包括:如果校验未通过则继续步骤1:系统上电,读取预存在Flash中的秘钥0。
在本发明实施例中,所述步骤4读取Flash中的秘钥2,并对加载的应用软件进行校验,校验通过后启动应用软件的步骤还包括:启动所述应用软件,当所述应用软件不能升级或选择不升级时,启动代码模式;读取并解密应用,校验签名,校验通过后运行所述应用软件。
在本发明实施例中,启动所述应用软件,当所述应用软件不能升级或选择不升级时,启动代码模式的步骤还包括:启动所述应用程序,当所述应用软件可以升级时,启动升级模式;读取并解密所述应用软件,校验签名,校验未通过则提示升级失败,校验通过则运行签名;校验签名升级数据,校验签名升级数据通过则设置应用软件的启动代码和/或重启。
在本发明实施例中,读取并解密应用,校验签名,校验通过后运行所述应用软件的步骤还包括:校验签名未通过,启动强制升级模式;读取并解密所述应用软件,校验签名,校验未通过则提示升级失败,校验通过则运行签名;校验签名升级数据,校验签名升级数据通过则设置应用软件的启动代码和/或重启。
在本发明实施例中,校验签名升级数据,校验通过则设置启动代码和/或重启的步骤还包括:校验签名升级数据未通过则继续步骤:启动所述应用软件,当所述应用软件不能升级或选择不升级时,启动代码模式。
在本发明实施例中,所述步骤3从Boot中读取秘钥1,并采用秘钥1对所要加载的文件系统进行校验,如果校验通过,则启动文件系统的步骤中进一步包括,对所述文件系统进行权利划分和资源分配,包括配置root用户的权限、配置系统用的资源,以及简化脚本文件。
在本发明实施例中,所述步骤4读取预存在Flash中的秘钥2,采用秘钥2对要加载的应用软件进行校验,校验通过后则启动所述应用软件的步骤中进一步包括,对所述应用软件进行安全加固,包括去除应用软件的调试信息、打开安全编译选项。
在本发明实施例中,所述对应用软件进行解密进一步包括:采用标准的HASH算法(哈希算法)进行解密;所述签名为数字签名,采用HASH+RSA(RSAalgorithm,RSA加密算法)加密方式。
与现有技术相比,本发明的有益效果在于,本发明提供的智能终端的应用软件调用方法,智能终端在启动和/或升级的过程中,能够正确运行授权的合法软件或重新加载授权程序,不容易遭受黑客的攻击。
【附图说明】
图1为本发明实施例1提供的一种智能终端的应用软件调用方法示意图。
图2为本发明实施例2提供的一种智能终端的应用软件启动方法示意图。
图3为本发明实施例3提供的一种智能终端的应用软件启动和/或升级方法示意图。
【具体实施方式】
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。
实施例1
请参阅图1,为本发明实施例1提供的一种智能终端的应用软件调用方法示意图。
如图1所示,一种应用软件调用方法,包括:
101步骤1:当系统上电时,读取预存在Flash中的秘钥0;
102步骤2:采用所述秘钥0对Boot进行校验,如果校验通过,则启动Boot,并转到步骤3;
103步骤3:从Boot中读取秘钥1,并采用秘钥1对所要加载的文件系统进行校验,如果校验通过,则启动文件系统,并转到步骤4;
104步骤4:读取预存在Flash中的秘钥2,采用秘钥2对要加载的应用软件进行校验,校验通过后则启动所述应用软件。
所述秘钥0和所述秘钥2为解密Key并预存在Flash中,所述秘钥1为签名Key并以源代码方式存入Boot中,而且不同Key对应不同的值。
本发明提供的智能终端的应用软件调用方法,智能终端在启动过程中,能够正确运行授权的合法软件或重新加载授权程序,不容易遭受黑客的攻击。
实施例2
请参阅图2,为本发明实施例2提供的一种智能终端的应用软件启动方法示意图。
如图2所示,一种智能终端应用软件调用方法,包括:
201步骤1:当系统上电时,读取预存在Flash中的秘钥0;
202步骤2:采用所述秘钥0对Boot进行校验,如果校验通过,则启动Boot,并转到步骤3;
203步骤3:从Boot中读取秘钥1,并采用秘钥1对所要加载的文件系统进行校验,如果校验通过,则启动文件系统,并转到步骤4;
204步骤4:读取预存在Flash中的秘钥2,采用秘钥2对要加载的应用软件进行校验,校验通过后则启动所述应用软件。
进一步地,203步骤3:从Boot中读取秘钥1,并采用秘钥1对所要加载的文件系统进行校验,如果校验通过,则启动文件系统的步骤还包括:
2031:校验未通过则继续201步骤1:系统上电,读取预存在Flash中的秘钥0。
进一步地,204步骤4:读取预存在Flash中的秘钥2,采用秘钥2对要加载的应用软件进行校验,校验通过后则启动所述应用软件的步骤还包括:
2041:校验未通过则继续201步骤1:系统上电,读取预存在Flash中的秘钥0。
进一步地,204步骤4:读取预存在Flash中的秘钥2,采用秘钥2对要加载的应用软件进行校验,校验通过后则启动所述应用软件的步骤还包括:
205:启动所述应用软件,当所述应用软件不能升级,启动代码模式;
206:读取并解密应用,校验签名,校验通过后运行所述应用软件。
进一步地,步骤206:读取并解密应用,校验签名,校验通过后运行所述应用软件的步骤还包括:
2061:校验签名未通过,启动强制升级模式。
本发明提供的智能终端的应用软件调用方法,智能终端在启动过程中,能够正确运行授权的合法软件或重新加载授权程序,不容易遭受黑客的攻击。
实施例3
请参阅图3,为本发明实施例3提供的一种智能终端的应用软件启动和/或升级方法示意图。
如图3所示,一种智能终端应用软件调用方法,包括以下步骤:
301步骤1:当系统上电时,读取预存在Flash中的秘钥0;
302步骤2:采用所述秘钥0对Boot进行校验,如果校验通过,则启动Boot,并转到步骤3;
303步骤3:从Boot中读取秘钥1,并采用秘钥1对所要加载的文件系统进行校验,如果校验通过,则启动文件系统,并转到步骤4;
304步骤4:读取预存在Flash中的秘钥2,采用秘钥2对要加载的应用软件进行校验,校验通过后则启动所述应用软件。
进一步地,303步骤3:从Boot中读取秘钥1,并采用秘钥1对所要加载的文件系统进行校验,如果校验通过,则启动文件系统的步骤还包括:
3031:校验未通过则继续201步骤1:系统上电,读取预存在Flash中的秘钥0。
进一步地,304步骤4:读取预存在Flash中的秘钥2,采用秘钥2对要加载的应用软件进行校验,校验通过后则启动所述应用软件的步骤还包括:
3041:校验未通过则继续301步骤1:系统上电,读取预存在Flash中的秘钥0。
进一步地,304步骤4:读取预存在Flash中的秘钥2,采用秘钥2对要加载的应用软件进行校验,校验通过后则启动所述应用软件的步骤还包括:
305:启动所述应用软件,当所述应用软件不能升级,启动代码模式;
306:读取并解密应用,校验签名,校验通过后运行所述应用软件。
进一步地,步骤305:启动所述应用软件,当所述应用软件不能升级或选择不升级时,启动代码模式的步骤还包括:
3051:启动所述应用程序,当所述应用软件可以升级时,启动升级模式;
3052:读取并解密所述应用软件,校验签名,校验未通过则提示升级失败,校验通过则运行签名;
3053:校验签名升级数据,校验签名升级数据通过则设置应用软件的启动代码和/或重启;
3054:校验签名升级数据未通过则继续步骤305:启动所述应用软件,当所述应用软件不能升级或选择不升级时,启动代码模式。
进一步地,步骤306:读取并解密应用,校验签名,校验通过后运行所述应用软件的步骤还包括:
3061:校验签名未通过,启动强制升级模式;
3052:读取并解密所述应用软件,校验签名,校验未通过则提示升级失败,校验通过则运行签名;
3053:校验签名升级数据,校验签名升级数据通过则设置应用软件的启动代码和/或重启;
3054:校验签名升级数据未通过则继续步骤305:启动所述应用软件,当所述应用软件不能升级或选择不升级时,启动代码模式。
优选地,在301步骤1中,为了能够防止内核被恶意破坏或者成了黑客进攻的手段,需要对内核进行精简化的处理:
(1)删除所有不使用的驱动;
(2)删除所有不使用的内核特征;
(3)删除所有的调试功能;
(4)删除所有不需要的文件系统支持;
(5)删除所有不使用的网络功能;
为了维护内核的安全,对所述智能终端的内核进行优化,包括:内核升级,升级到最新版本;安装安全补丁,定期从官方网站下载最新和安全级别最严重的补丁包;移除内核中的打印信息和调试信息,没有使用到的命令必须去掉,对于必须保留的命令,尽量去掉不用的选项,特别的对于加载和启动命令,去掉不用的加载方式和可执行文件中不用的格式选项。
内核的裁剪删掉了内核中许多不会被用到的模块,使得内核配置的最小化,减少了软件加载启动的时间,减少了软件运行时的占用的内存空间,同时防止内核被非法分子恶意插入模块,避免非法犯罪行为的发生。
优选的,针对302步骤2中的调用Boot的过程,提供了一种安全设计方案,包括:
1、BootLoader安全设计
(1)完整性保护
设置对BootLoader完整性进行保护的机制,以防止非法的修改和替换。BootLoader完整性保护需要相应的硬件机制支持,chipset(芯片组)中通常有一个内置的codestarter(代码启动器),在开启高安时设置生效。BootLoader需要进行签名,上电后由chipset中的codestarter负责对BootLoader的签名校验。为了进一步的安全考虑,签名的key一般进行market分离,具体的做法为将BootLoader的签名key和MarketID进行绑定。
(2)内容保护
对BootLoader内容进行加密保护,高安配置开启BootLoader解密。
(3)OTP(OneTimePassword,一次性口令)保护
OTP掉BootLoader所在的区域,以防止恶意的擦除破坏。
2、安全启动流程
网络机顶盒的正常启动过程中,处理每一种可能的出错情况,软件不能存在未知状态,不设置任何方法可以直接跳过签名校验,校验不过直接挂机,对改变软件运行流程的跳转最好进行多重判断。
3、系统软件安全保护
(1)完整性保护
BootLoader必须有对系统软件完整性进行保护的机制,以防止非法的改变和替换系统软件。保证系统软件完整性的最常用的方法是进行数字签名,对系统软件的签名一般由我们来完成,数字签名采用HASH+RSA的方式,不能用3DES(TripleDataEncryptionAlgorithm,三重数据加密算法)代替RSA。需要注意的是系统软件包括kernel(操作系统内核)和rootfs(RootFileSystem,根文件系统),在校验系统软件时,kernel和rootfs都需要校验。
(2)内容保护
使用SWPK对系统软件进行加密,SWPK为芯片级的硬件加密。
4、OTALoader安全保护
(1)完整性保护
由公司或者授权公司进行签名保护,OTALoader的签名校验过程和系统软件类似。
(2)内容保护
使用SWPK进行加密保护。
(3)OTP保护
OPT保护不需要后期升级需要的OTALoader。
5、内存规划
(1)安全合理的规划BootLoader所使用的内存,内存的使用不能存在冲突,相互覆盖的情况,或者说每一块内存区域的使用要非常清楚。还应该考虑后期可能的拓展或增加新的功能预定足够的内存空间。
(2)OTAloader和kernel都是压缩的ELF格式文件,软件的启动运行地址由ELF头中的Entrypointaddress决定,这一块内存区域不能和内存划分产生冲突。
6、Flashmap规划
明确主芯片的校验范围,明确OTP区域,设计每个分区的校验方法,设计每个分区的加密方法,明确需要存储的数据和组织形式,和秘钥存储设计,预留适当的空间方面后期拓展。
7、Flash内容保护
(1)Flash上不能存在任何明文的代码和任何有意义的数据信息,防止offlineread(使用探针读取flash中的有效数据)。
(2)在写入数据时必须把之前的数据全部擦除,以防止之前的数据没有被完全覆盖掉而留下有意义的数据或脏数据。
8、升级过程安全控制
(1)超时等待
根据具体项目,码流中各个表的分发速率,设置合理的收表超时等待时间。
(2)信息配对
在触发升级的时候进行严格的Manu_ID,HW_ID,Model_ID,OUI等信息的配对比较,以防止不同STB(SetTopBox,机顶盒)厂商之间混乱升级。
(3)版本控制
正常的升级时,需要对软件版本进行严格的控制。
(4)签名检查
对下载下来的systemsoftware,必须进行严格的签名校验处理。
(5)擦除
擦除必须在最后完成,在擦除之前必须确保image的大小不超过对应分区大小,image签名校验合法等等,只有在这些都合法之后才开始擦除并写入新的软件,否则不进行擦除,直接提示升级失败。
(6)原子性操作
当涉及到多个分区升级时,需要注意写入操作的原子性,例如不能更新一个分区后,更新相应的flashheader,这样异常断电后,所有分区都可以校验通过,但由于部分分区没有更新,这样可能导致系统软件不可预知的问题,并且系统还不会重新更新。正确的做法是一起写所有的分区,然后一次性更新flashheader。
(7)坏块
如果升级的是nandflash分区,则必须注意坏块的处理。
(8)异常处理
必须注意某些异常情况的处理,比如常见的无信号,USB升级时突然拔掉U盘,异常断电等。
9、加解密保护
(1)尽量使用专用的芯片进行加解密,因为软件加解密更容易遭到sidechannelanalysis的攻击;
(2)增加随机延时,至少带来两点好处:加解密耗时随机和Powerconsumption分析变得更加困难;
(3)增加随机NOP指令。
10、抗Glitch攻击
Glitch攻击主要是通过改变软件的执行环境,已达到改变软件的正常执行流程,窃取key,跳过校验过程,或者伪造校验成功等目的,应对这种攻击的主要措施有:
(1)总是将结果默认为失败,如没有权限,校验失败等;
(2)对于改变软件执行流程的跳转条件需要进行多重判断检查;
(3)确保两个或多个判断检查最后编译成的机器码不一样;
(4)每一种检查使用不同的方法,在运行时随机调用其中一种或多种方法执行检查。
11、重要数据备份
对于系统重要的,经常需要修改,不能被OTP保护的数据区域需要进行备份,以防止遭到意外破坏的风险。
12、错误显示
对于启动或升级过程中出现的错误,需要提示在界面或LED上,方面以后问题定位,但提示信息不能过于明显,以防止暴露更多的信息给attacker。一定不能直接用字符串进行错误提示或LED直接字母加数字提示,典型的,界面上用一个长的无意义的数字串的错误码,LED这利用8段不同的组合来显示错误码。
13、安全编码
(1)使用安全函数,如strnpy();
(2)函数返回值默认为失败;
(3)处理每一种可能的出错情况;
(4)函数功能尽量单一化;
(5)变量使用前必须初始化;
(6)避免时间竞争的代码;
优选地,303步骤3:读取Boot中的秘钥1,并对加载的文件系统进行校验,校验通过后则启动文件系统中:对所述文件系统进行权利划分和资源分配,包括配置root用户的权限、配置系统用的资源,以及简化脚本文件。
对文件系统进行权利划分和资源分配具体:
(1)划分文件系统执行权限,其中:对Busybox支持的功能进行裁剪,不应该打开其他工具,其他功能尽量使用系统调用,代码中不使用system,文件系统中的每一个文件都是有用的,删除掉无用文件和目录;对Sysfs进行限制;以及Uclibc的裁剪;
(2)配置文件的权限和用户属性,其中:不能有全局可写的文件;必须有非Root用户;Root用户通过进程的设置只能对部分进程进行特殊操作;
(3)配置系统用户的资源,其中:设置文件用户或组的属性和权限;挂载文件系统执行选项和/或限制选项;用Ulimit设置进程的内存;设置系统账号;设置临时文件的权限;设置stickbit,只读且不能删除;
(4)简化脚本文件,删除所有注释;
(5)处理二进制文件,文件系统中的库和可执行程序使用strip命令;
(6)更新文件系统,包括系统库的更新和Busybox版本的升级,并且加载全部的安全补丁。
对文件系统的安全管理,有效的控制了用户的可执行权限和非法资源调用,从而到达防止非法软件和程序的恶意攻击和窃取。为了实现最小化系统的目的,因此需要把文件系统中没有使用到的库文件和命令删除掉,以便减小整个软件的大小。
优选地,304步骤4:读取Flash中的秘钥2,并对加载的应用软件进行校验,校验通过后启动应用软件的步骤中:对所述应用软件进行安全加固,包括去除应用软件的调试信息、打开安全编译选项。
对所述应用软件进行安全加固具体可以为:
(1)去除应用软件的调试信息,其中:文件系统中的所有可执行程序应该去除debugstring,包括Api(ApplicationProgrammingInterface,应用程序编程接口)和开源库;使用无意义的名称代替资源标示;检查文件中的字符串并修改有意义的字符串。
(2)优化编译选项,其中:打开代码中的所有安全支持特征;打开quiet启动;去掉所有的调试编译选项,如-g选项;打开安全编译选项;将一些编译警告作为错误处理。
(3)完整性的保护Flash读写区域,数据完整性一般采用CBC-MAC或HMAC算法,此外,不能简单的采用CRC或其他不需要key的校验算法。
(4)保护应用软件,在本实施例中,采用数字签名保证应用软件的完整性,数字签名采用HASH+RSA的方式。
(5)保护应用软件内容,使用加密秘钥对存放在flash中的应用软件进行加密,在本实施例中,加密秘钥加密机制采用芯片级加密。
应用软件的安全加固,不仅能够防止黑客的攻击,还能确保了非法软件不被加载入智能终端中,从而在源头上保护了智能终端的软件安全。
优选地,还对网络系统的硬件、软件及其系统中数据进行安全保护,具体可以为:
(1)限制所述网络系统中的转发包功能,具体为STB不做路由,代理服务器关闭数据包转发功能,关闭forward功能,主要用于保护数据不被黑客窃取。
(2)选择正确的网络协议,根据需求选择IPV4或选择IPV6,而不会影响智能终端的整体安全性,允许的网络协议包括:IP,ARP,UDP,网络客户端包括:DHCP,DNS,NTP,IGMP,HTTP,HTTPS,RTSP,RTCP,RTP,FEC;不能带有任何协议的server版软件。
(3)设置所述网络系统的软件支持DNSSEC和SEND(安全邻居发现协议,SecureNeighborDiscovery)。
(4)设置所述网络系统支持网络防火墙;其中,配置防火墙的基本原则应为先拒绝所有的服务,进而根据需要添加新的规则。
(5)保证MAC地址的完整性,系统软件保护Ethernet/WIFI/WIMAX/DOCSIS接口的MAC地址的完整性,以防止被黑客非法修改MAC地址。
(6)保证网络接口的安全性,不使用混杂模式的网络接口,也不能使用ioctl接口设置网卡为混杂模式。
(7)设置浏览器和中间件平台以最小的特权运行和拥有最小的额访问权限,其中:浏览器及中间件平台以普通用户运行;浏览器及中间件平台使用LXC隔离技术进行隔离;仅对浏览器及中间件平台需要访问的资源的开放具体的读、写或执行权限。
对所述智能终端的网络系统的硬件、软件及其系统中数据进行安全保护,主要是显示浏览器和网络中间件的权限属性,避免出现黑客利用网络途径窃取数据或者远程控制智能终端。
优选地,所述加密和/或解密算法为标准的HASH算法,所述签名为数字签名,采用HASH+RSA加密方式。对所述智能终端中重要数据进行的保护具体可以为:
1、数据加密性保护:
(1)非系统软件不能访问/读写安全存储区域,防止黑客非法探测了窃取flash中的数据,也防止了非法软件和未被授权的软件运行在智能终端。
(2)安全存储区域不能受系统升级的影响,需要确保在升级过程中数据不能修改和丢失,除了保留使用数据不被丢失,也有效的防止黑客替换软件的有效手段。
(3)合理划分flash中的数据,对于Flash中的敏感数据,除了完整性保护外,还必须进行内容加密保护,其他的数据分区如果不太影响系统性能的话,对于flash中所有的数据都进行一定的安全处理,并且应尽量加密存储。这样可以防止黑客非法的使用flash中的数据安全漏洞。
加密的算法具体可以为:
(1)使用标准的加解密算法;
(2)RSA算法不能使用CRT;
(3)RSAkey的长度至少大于1024;
(4)Hash使用SHA256或更强;
(5)Block操作的加密模式使用CBC。
2、数据抗损毁性,目的是防止数据被恶意的损毁和意外的丢失,系统软件具体可以:
(1)BootLoader,OTALoader,Stbdata,keyladder和固定的参数OTP保护,且BootLoader,OTALoader的签名放在同一分区中;
(2)无关紧要的分区遭到破坏,直接跳过往下执行,比如logo分区;
(3)Flashheader分区被破坏,则OTALoader直接跳过版本比较;
(4)OTALoader中应内置备份频点,以防止OTAParam被破坏;
(5)增加一种用户强制进入升级的手段,比如有前控板按键强制进入升级,以防止systemSW可以签名校验通过但跑不起来,导致盒子不可用的情况。
系统软件采用运行时代码段的保护具体方法为:
(1)签名校验RAM中的代码段;
(2)代码段地址空间监视或限制;
(3)Boot会计算出app代码段的校验值,然后app会定时根据这个校验值判断app代码段的完整性。
通过以上方法对智能终端中的数据进行保护,可以有效的进行数据异常情况下的修复工作,当数据异常的时候可以第一时间通过自身软件保护机制进行数据还原,使其能够马上正常的工作运行。
优选地,对所述智能终端中硬件进行的安全保护,具体为:
1、硬件电路的安全设计,包括:
(1)主芯片与FLASH的距离在2-3毫米以内,极小的间距,可以防止黑客使用探测设备窃取主芯片与FLASH通信的数据;
(2)主芯片、FLASH和DDR等主要元器件要求采用BGA封装,采用了BGA封装的主要元器件可以让芯片管脚不外露,从而让黑客无法通过芯片管脚探测重要信息。
(3)采用多层PCB版设计,主要元器件(主芯片、FLASH和DDR等)的电路走线要求走内层线路。通过隐藏走线的方式,让黑客更加难以寻找到主要元器件的数据传输路径,从而防止黑客可以窃取重要信息。
2、元器件的选取,采用高安芯片作为主芯片,支持高安启动、硬件加密、内存加扰和限制性接口功能;采用支持OTP功能的FLASH,以保护重要数据的完整性;采用支持BGA封装的DDR,以防止管脚外漏。
硬件电路的安全设计,主要目的是保护主要元器件的数据不被非法的探测和篡改。对比起其他未作安全保护的硬件,例如FLASH管脚外露,DDR采用非BGA封装走表层线路等,很容易被黑客利用起来非法的获得我们的代码已经被篡改运行其他非法软件,这样不但损害了运营商的利用,也导致不良信息的传播等有害影响。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。

Claims (10)

1.一种智能终端的应用软件调用方法,其特征在于,包括:
步骤1:当系统上电时,读取预存在Flash中的秘钥0;
步骤2:采用所述秘钥0对Boot进行校验,如果校验通过,则启动Boot,并转到步骤3;
步骤3:从Boot中读取秘钥1,并采用秘钥1对所要加载的文件系统进行校验,如果校验通过,则启动文件系统,并转到步骤4;
步骤4:读取预存在Flash中的秘钥2,采用秘钥2对要加载的应用软件进行校验,校验通过后则启动所述应用软件。
2.如权利要求1所述的智能终端的应用软件调用方法,其特征在于,所述步骤3读取Boot中的秘钥1,并对加载的文件系统进行校验,进一步包括:
如果校验未通过则转步骤1:系统上电,读取预存在Flash中的秘钥0。
3.如权利要求1所述的智能终端的应用软件调用方法,其特征在于,所述步骤4读取Flash中的秘钥2,并对加载的应用软件进行校验,进一步包括:
如果校验未通过则转步骤1:系统上电,读取预存在Flash中的秘钥0。
4.如权利要求1所述的智能终端的应用软件调用方法,其特征在于,所述步骤4读取Flash中的秘钥2,并对加载的应用软件进行校验,校验通过后启动应用软件的步骤还包括:
启动所述应用软件,当所述应用软件不能升级或选择不升级时,启动代码模式;
读取并解密应用,校验签名,校验通过后运行所述应用软件。
5.如权利要求4所述的智能终端的应用软件调用方法,其特征在于,启动所述应用软件,当所述应用软件不能升级或选择不升级时,启动代码模式的步骤还包括:
启动所述应用程序,当所述应用软件可以升级时,启动升级模式;
读取并解密所述应用软件,校验签名,校验未通过则提示升级失败,校验通过则运行签名;
校验签名升级数据,校验签名升级数据通过则设置应用软件的启动代码和/或重启。
6.如权利要求4所述的智能终端的应用软件调用方法,其特征在于,读取并解密应用,校验签名,校验通过后运行所述应用软件的步骤还包括:
校验签名未通过,启动强制升级模式;
读取并解密所述应用软件,校验签名,校验未通过则提示升级失败,校验通过则运行签名;
校验签名升级数据,校验签名升级数据通过则设置应用软件的启动代码和/或重启。
7.如权利要求5或6所述的智能终端的应用软件调用方法,其特征在于,校验签名升级数据,校验通过则设置启动代码和/或重启的步骤还包括:
校验签名升级数据未通过则继续步骤:启动所述应用软件,当所述应用软件不能升级或选择不升级时,启动代码模式。
8.如权利要求1所述的智能终端的应用软件调用方法,其特征在于,所述步骤3从Boot中读取秘钥1,并采用秘钥1对所要加载的文件系统进行校验,如果校验通过,则启动文件系统的步骤中进一步包括,对所述文件系统进行权利划分和资源分配,包括配置root用户的权限、配置系统用的资源,以及简化脚本文件。
9.如权利要求1所述的智能终端的应用软件调用方法,其特征在于,所述步骤4读取预存在Flash中的秘钥2,采用秘钥2对要加载的应用软件进行校验,校验通过后则启动所述应用软件的步骤中进一步包括,对所述应用软件进行安全加固,包括去除应用软件的调试信息、打开安全编译选项。
10.如权利要求7所述智能终端的应用软件调用方法,其特征在于,
所述对应用软件进行解密进一步包括:采用标准的HASH算法进行解密;
所述签名为数字签名,采用HASH+RSA加密方式。
CN201510639478.3A 2015-09-30 2015-09-30 一种智能终端的应用软件调用方法 Active CN105354050B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201510639478.3A CN105354050B (zh) 2015-09-30 2015-09-30 一种智能终端的应用软件调用方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510639478.3A CN105354050B (zh) 2015-09-30 2015-09-30 一种智能终端的应用软件调用方法

Publications (2)

Publication Number Publication Date
CN105354050A true CN105354050A (zh) 2016-02-24
CN105354050B CN105354050B (zh) 2019-05-17

Family

ID=55330024

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510639478.3A Active CN105354050B (zh) 2015-09-30 2015-09-30 一种智能终端的应用软件调用方法

Country Status (1)

Country Link
CN (1) CN105354050B (zh)

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105893086A (zh) * 2016-03-30 2016-08-24 深圳市东微智能科技有限公司 一种基于音频处理器的系统固件压缩方法及其解压缩方法
CN106203124A (zh) * 2016-06-29 2016-12-07 宇龙计算机通信科技(深圳)有限公司 安装操作方法及操作装置、终端
CN107688463A (zh) * 2017-09-21 2018-02-13 杭州全维技术股份有限公司 一种嵌入式设备版本文件打包的方法
CN107894886A (zh) * 2017-11-23 2018-04-10 北京九章云极科技有限公司 一种运行代码的方法、装置及终端设备
CN109446011A (zh) * 2018-11-01 2019-03-08 郑州云海信息技术有限公司 一种硬盘的固件安全测试方法、装置及存储介质
CN109492421A (zh) * 2017-09-11 2019-03-19 厦门雅迅网络股份有限公司 基于Android系统的安全中间件的数据处理方法、电子设备和存储介质
CN109542341A (zh) * 2018-11-06 2019-03-29 网宿科技股份有限公司 一种读写io监测方法、装置、终端及计算机可读存储介质
CN111309512A (zh) * 2020-01-16 2020-06-19 广东九联科技股份有限公司 一种设备及其高安加密方法、存储介质
CN111737680A (zh) * 2019-11-20 2020-10-02 腾讯科技(深圳)有限公司 应用程序授权方法、装置和计算机设备
CN113141362A (zh) * 2021-04-22 2021-07-20 中山亿联智能科技有限公司 一种智能终端和服务器安全交互控制方法
CN114780153A (zh) * 2022-03-31 2022-07-22 深圳曦华科技有限公司 Boot程序的启动方法及相关装置
WO2023024900A1 (zh) * 2021-08-26 2023-03-02 华为技术有限公司 安全启动校验的方法及电子设备

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102630046A (zh) * 2012-03-13 2012-08-08 深圳市九洲电器有限公司 数据获取系统、方法、机顶盒、网络服务器
CN103347017A (zh) * 2013-06-27 2013-10-09 华为技术有限公司 数据处理方法和片上系统
CN103974122A (zh) * 2013-02-04 2014-08-06 澜起科技(上海)有限公司 机顶盒芯片及应用在机顶盒芯片中的数字签名实现方法
CN104281788A (zh) * 2013-07-05 2015-01-14 腾讯科技(深圳)有限公司 一种终端应用的保护方法及装置
CN104331658A (zh) * 2014-11-14 2015-02-04 北京视博数字电视科技有限公司 一种智能终端应用程序的安装验证方法及系统
CN104765987A (zh) * 2015-04-17 2015-07-08 深圳市西迪特科技有限公司 嵌入式设备软件加密的系统及方法

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102630046A (zh) * 2012-03-13 2012-08-08 深圳市九洲电器有限公司 数据获取系统、方法、机顶盒、网络服务器
CN103974122A (zh) * 2013-02-04 2014-08-06 澜起科技(上海)有限公司 机顶盒芯片及应用在机顶盒芯片中的数字签名实现方法
CN103347017A (zh) * 2013-06-27 2013-10-09 华为技术有限公司 数据处理方法和片上系统
CN104281788A (zh) * 2013-07-05 2015-01-14 腾讯科技(深圳)有限公司 一种终端应用的保护方法及装置
CN104331658A (zh) * 2014-11-14 2015-02-04 北京视博数字电视科技有限公司 一种智能终端应用程序的安装验证方法及系统
CN104765987A (zh) * 2015-04-17 2015-07-08 深圳市西迪特科技有限公司 嵌入式设备软件加密的系统及方法

Cited By (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105893086B (zh) * 2016-03-30 2020-04-10 深圳市东微智能科技股份有限公司 一种基于音频处理器的系统固件压缩方法及其解压缩方法
CN105893086A (zh) * 2016-03-30 2016-08-24 深圳市东微智能科技有限公司 一种基于音频处理器的系统固件压缩方法及其解压缩方法
CN106203124A (zh) * 2016-06-29 2016-12-07 宇龙计算机通信科技(深圳)有限公司 安装操作方法及操作装置、终端
CN109492421A (zh) * 2017-09-11 2019-03-19 厦门雅迅网络股份有限公司 基于Android系统的安全中间件的数据处理方法、电子设备和存储介质
CN107688463A (zh) * 2017-09-21 2018-02-13 杭州全维技术股份有限公司 一种嵌入式设备版本文件打包的方法
CN107894886B (zh) * 2017-11-23 2019-02-19 北京九章云极科技有限公司 一种运行代码的方法、装置及终端设备
CN107894886A (zh) * 2017-11-23 2018-04-10 北京九章云极科技有限公司 一种运行代码的方法、装置及终端设备
CN109446011A (zh) * 2018-11-01 2019-03-08 郑州云海信息技术有限公司 一种硬盘的固件安全测试方法、装置及存储介质
CN109542341A (zh) * 2018-11-06 2019-03-29 网宿科技股份有限公司 一种读写io监测方法、装置、终端及计算机可读存储介质
CN109542341B (zh) * 2018-11-06 2022-07-19 网宿科技股份有限公司 一种读写io监测方法、装置、终端及计算机可读存储介质
CN111737680A (zh) * 2019-11-20 2020-10-02 腾讯科技(深圳)有限公司 应用程序授权方法、装置和计算机设备
CN111737680B (zh) * 2019-11-20 2022-02-22 腾讯科技(深圳)有限公司 应用程序授权方法、装置和计算机设备
CN111309512A (zh) * 2020-01-16 2020-06-19 广东九联科技股份有限公司 一种设备及其高安加密方法、存储介质
CN111309512B (zh) * 2020-01-16 2024-01-02 广东九联科技股份有限公司 一种物联网设备及其高安加密方法、存储介质
CN113141362A (zh) * 2021-04-22 2021-07-20 中山亿联智能科技有限公司 一种智能终端和服务器安全交互控制方法
WO2023024900A1 (zh) * 2021-08-26 2023-03-02 华为技术有限公司 安全启动校验的方法及电子设备
CN114780153A (zh) * 2022-03-31 2022-07-22 深圳曦华科技有限公司 Boot程序的启动方法及相关装置
CN114780153B (zh) * 2022-03-31 2023-08-08 深圳曦华科技有限公司 Boot程序的启动方法及相关装置

Also Published As

Publication number Publication date
CN105354050B (zh) 2019-05-17

Similar Documents

Publication Publication Date Title
CN105354050B (zh) 一种智能终端的应用软件调用方法
CN106537407B (zh) 可信根
US8315382B2 (en) Method for monitoring execution of data processing program instructions in a security module
US20170250818A1 (en) Method and System for Securely Updating Field Upgradeable Units
US20090193211A1 (en) Software authentication for computer systems
CN104991526B (zh) 工业控制系统安全支撑框架及其数据安全传输和存储方法
KR101875866B1 (ko) 모바일 어플리케이션의 취약점 점검 방법 및 서버
CN110990084B (zh) 芯片的安全启动方法、装置、存储介质和终端
JP2012520027A (ja) 無線装置のプラットフォームの検証と管理
CN110795126A (zh) 一种固件安全升级系统
CN105656860A (zh) Android系统的安全管控方法、装置及其系统
CN104573435A (zh) 用于终端权限管理的方法和终端
US20210056207A1 (en) Securing Devices From Unauthorized Software Upgrade
CN106295350B (zh) 一种可信执行环境的身份验证方法、装置及终端
JP2008146479A (ja) ソフトウェア部品、ソフトウェア部品管理方法、及びソフトウェア部品管理システム
CN102930184B (zh) 一种功能组件加载方法及装置
Jia et al. Who's in control? On security risks of disjointed IoT device management channels
US11838282B2 (en) Information recording apparatus with server-based user authentication for accessing a locked operating system storage
Classen et al. Evil never sleeps: When wireless malware stays on after turning off iphones
CN111159712B (zh) 检测方法、设备及存储介质
CN107766061A (zh) 一种安卓应用程序的安装方法和安装系统
KR101711024B1 (ko) 부정조작방지 장치 접근 방법 및 그 방법을 채용한 단말 장치
CN116415300A (zh) 基于eBPF的文件保护方法、装置、设备和介质
CN106971105B (zh) 一种基于iOS的应用程序遭遇假面攻击的防御方法
Manske Conducting a vulnerability assessment of an IP camera

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