CN113703790A - Linux***安全应用的软件框架及创建方法 - Google Patents
Linux***安全应用的软件框架及创建方法 Download PDFInfo
- Publication number
- CN113703790A CN113703790A CN202110924877.XA CN202110924877A CN113703790A CN 113703790 A CN113703790 A CN 113703790A CN 202110924877 A CN202110924877 A CN 202110924877A CN 113703790 A CN113703790 A CN 113703790A
- Authority
- CN
- China
- Prior art keywords
- application
- linux system
- component
- security
- security application
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 33
- 238000004590 computer program Methods 0.000 claims description 14
- 230000001419 dependent effect Effects 0.000 claims description 9
- 238000004806 packaging method and process Methods 0.000 claims description 8
- 238000010586 diagram Methods 0.000 description 10
- 238000004891 communication Methods 0.000 description 8
- 230000006870 function Effects 0.000 description 6
- 238000011161 development Methods 0.000 description 5
- 230000008859 change Effects 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 238000002955 isolation Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 238000012795 verification Methods 0.000 description 2
- 230000001154 acute effect Effects 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 230000007613 environmental effect Effects 0.000 description 1
- 239000012467 final product Substances 0.000 description 1
- 238000009434 installation Methods 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012856 packing Methods 0.000 description 1
- 239000000047 product Substances 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/61—Installation
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
Abstract
本发明提供一种Linux***安全应用的软件框架及创建方法,所述软件框架以应用包的形式部署在Linux***上,并在Linux***上运行;所述应用包包括:安全应用、可信执行环境模块以及Android基础框架;所述安全应用为在Linux***上运行的安全类应用;所述可信执行环境模块用于对所述安全应用提供可信的运行基础;所述Android基础框架用于对所述可信执行环境模块提供运行基础。通过将要在Linux***中运行的安全应用,与其依赖的可信执行环境模块及Android基础框架以应用包的形式部署在Linux***中,从而方便兼容Android***的安全应用在Linux***快速移植并正常运行。
Description
技术领域
本发明涉及计算机基础软件技术领域,尤其涉及一种Linux***安全应用的软件框架及创建方法。
背景技术
可信执行环境(TEE-Trusted Execution Environment),该环境可以保证计算不被常规操作***干扰,因此称为“可信”。TEE通常用于运行关键的操作,例如:(1)、移动支付:指纹验证、PIN码输入等;(2)、机密数据:私钥、证书等的安全存储;(3)、内容保护:DRM(数字版权保护)等。
由于TEE模块的正常运行依赖Android***的基础框架,因此如何使得兼容Android***的安全应用在Linux***中正常运行成为现有技术中主要要解决的技术问题。
发明内容
本发明提供一种Linux***安全应用的软件框架及创建方法,用以解决现有技术中兼容Android***的安全应用在Linux***中不兼容运行的缺陷,实现兼容Android***的安全应用在Linux***中正常运行。
本发明提供一种Linux***安全应用的软件框架,所述软件框架能够以应用包的形式部署在Linux***上并在Linux***上运行;所述应用包包括:安全应用、可信执行环境模块以及Android基础框架;
所述安全应用为在Linux***上运行的安全类应用;
所述可信执行环境模块用于对所述安全应用提供可信的运行基础;
所述Android基础框架用于对所述可信执行环境模块提供运行基础。
根据本发明提供的一种Linux***安全应用的软件框架,所述可信执行环境模块包括基础类组件、安全支持类组件及基础库;
所述基础类组件及安全支持类组件分别对应运行依赖的所述基础库;
所述基础类组件用于对安全支持类组件提供基础支持;所述安全支持类组件用于对所述安全应用运行提供可信执行环境的支持。
根据本发明提供的一种Linux***安全应用的软件框架,所述软件框架还包括管理软件包,所述管理软件包能够部署在Linux***上并在Linux***上运行;
所述管理软件包包括:所述基础类组件、所述基础类组件依赖的基础库以及Android基础框架。
根据本发明提供的一种Linux***安全应用的软件框架,所述应用包包括:至少一个所述安全应用,各所述安全应用依赖的所述安全支持类组件、各所述安全支持类组件依赖的基础库以及Android基础框架。
根据本发明提供的一种Linux***安全应用的软件框架,所述软件框架包括至少一个所述应用包。
本发明还提供一种Linux***安全应用的软件框架创建方法,包括以下步骤:
确定在Linux***上运行的安全应用与可信执行环境模块中组件的依赖关系;其中,所述可信执行环境模块包括组件及基础库;
确定所述安全应用依赖的所述组件对应的基础库;
将所述安全应用、所述安全应用依赖的组件、所述组件对应的基础库以及所述基础库依赖的Android基础框架,进行设定格式的软件打包,得到应用包。
根据本发明提供的一种Linux***安全应用的软件框架创建方法,所述组件包括基础类组件、安全支持类组件;
所述将所述安全应用、所述安全应用依赖的组件、所述组件对应的基础库以及所述基础库依赖的Android基础框架,进行设定格式的软件打包,得到应用包,具体包括:将所述安全应用、所述安全应用依赖的安全支持类组件、所述安全支持类组件对应的基础库以及所述基础库依赖的Android基础框架,进行软件打包,得到snap或者flatpak形式的应用包。
根据本发明提供的一种Linux***安全应用的软件框架创建方法,所述将所述安全应用、所述安全应用依赖的组件、所述组件对应的基础库以及所述基础库依赖的Android基础框架,进行设定格式的软件打包,得到应用包,之后还包括:
将所述基础类组件、所述基础类组件对应的基础库以及所述基础库依赖的Android基础框架,进行软件打包,得到snap或者flatpak形式的管理软件包。
本发明还提供一种计算机程序产品,包括存储在非暂态计算机可读存储介质上的计算机程序,所述计算机程序包括程序指令,当所述程序指令被计算机执行时,计算机能够执行根据如上述任一种所述Linux***安全应用的软件框架创建方法的步骤。
本发明还提供一种电子设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述程序时实现如上述任一种所述Linux***安全应用的软件框架创建方法的步骤。
本发明提供的Linux***安全应用的软件框架及创建方法,通过将要在Linux***中运行的安全应用,与其依赖的可信执行环境模块及Android基础框架以应用包的形式部署在Linux***中,从而方便兼容Android***的安全应用在Linux***快速移植并实现兼容Android***的安全应用在Linux***中的正常运行。
附图说明
为了更清楚地说明本发明或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是现有技术的Android***中安全应用在的软件框架的架构示意图;
图2是本发明提供的Linux***安全应用的软件框架的结构示意图;
图3是本发明提供的Linux***安全应用的软件框架的架构示意图;
图4是本发明提供的Linux***安全应用的软件框架创建方法流程图;
图5是图4中步骤430的具体流程图。
图6是本发明提供的电子设备的结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合本发明中的附图,对本发明中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
可信执行环境(TEE-Trusted Execution Environment),其内部运行一个完整的操作***,与REE(Rich Execution Environment,如Android***或者Linux***)隔离运行,REE为移动设备提供通用环境,运行通用的操作***(OS-Operating System),例如Android、IOS***等。TEE模块与REE模块通过共享内存进行交互。
TEE模块内部分为内核态与用户态,TEE的用户态可以运行多个不同的安全应用(TA-Trusted Application)。在REE模块中应用TEE模块的最直接的方法是同TEE模块中的TA进行通信,因此REE模块中的与TA进行通信的部分称为客户端应用程序,(CA-ClientApplication)。
如图1所示为现有技术中Android***上安全应用的软件框架示意图,在图中左侧对应TEE模块的REE模块侧中的TEE驱动、TEE基础库、TEE管理服务以及各CA均属于TEE模块的组件,图中列举了解密、指纹、人脸三项安全应用(服务)。在图1中REE侧***中的各安全应用的CA依赖于TEE基础库以及TEE模块本身的TEE管理服务组件也依赖于TEE基础库,而TEE基础库又依赖于Android基础框架以及TEE内核,而TEE内核位于Android***所依赖的Linux内核中而且不容易改动、移植。
TEE的方案有很多种,基于不同的TEE内核,衍生出多套TEE方案,例如:op-tee、trusty、QSEE等。其中,op-tee是Linux内核主线支持的TEE方案,针对op-tee内核,Linux内核提供驱动、上层管理服务和基础库的支持;trusty是Android中采用的TEE方案,给出了基础的框架(基础库/管理服务),以及trusty内核;QSEE是高通平台采取的TEE方案。
另外,同为Android***的trusty解决方案,各个芯片商提供出来的基于trusty的TEE也可能有所不同,各个厂商可能会根据自己的芯片特点修改管理服务、基础库接口等。而且,TA的加载验证签名过程也不同。Android设备商也会根据各个芯片商的不同提供不同版本的设备TEE应用方案。
基于以上原因,导致最终的产品集成商,基本无法自行“创造”新的TEE方案,甚至不能微调原有方案。这样,当原有方案的REE***不是产品商要采用的***时就显得问题格外棘手。
Android***目前在世界各地已经占到举足轻重的地位,芯片商和设备商都纷纷为Android***提供软硬件解决方案,这其中就包括TEE方案。
在发明人所知的技术中,由于操作***内核依赖于各个设备驱动,将兼容Android***的安全应用移植到Linux***上并进行运行,大多采取容器的方案,即将Android***放入Linux***的某个容器内(各个TEE模块的组件也位于容器中),使得在Android***上运行的安全应用快速移植到Linux***并运行。
发明人意识到,容器方案是将整个Android***或者大部分关键组件放入容器中,导致容器的属性必须设置成高度隔离的方式(例如,容器内外使用不同的进程标识体系,容器内外的IPC通信受限,容器的存储部分或者全部隔离),否则会造成容器内和容器外资源冲突。由此,容器外的Linux***应用生态中众多应用,就不能很方便地使用位于容器内的Android***的TEE模块,即使可以使用,也需要修改已有Linux***生态中的应用的源代码(例如修改进程间通信方式)才能使用容器内的TEE,给开发带来很多负担。
因此,将兼容Android***的安全应用快捷、方便地部署并运行在Linux***中,成为亟需要解决的技术问题。
在本发明的实施例中,本领域技术人员可以理解,Android是Google公司开发的移动终端上的操作***,在该***的开源版本AOSP的基础上,各家企业衍生开发了诸如MIUI、EMUI、One UI等版本以及开源社区的Pixel Experience、Lineage OS等定制版,本发明所称的Android涵盖上述各种实现情况。
在本发明的实施例中,Linux***包括以Linux kernel为基础的各种Linux OS发行版,如Ubuntu、RedHat、Jing OS等。
在本发明的实施例中,所称的Android基础框架包括用于支持Android OS运行的基础组件Android Framework。
如图2所示,本发明实施例提供一种Linux***安全应用的软件框架,容易理解,该软件框架能够以应用包的形式部署在Linux***上,并在Linux***上运行;所述应用包包括:安全应用210、可信执行环境模块220以及Android基础框架230;
所述安全应用210为在Linux***上运行的安全类应用;
所述可信执行环境模块220用于对所述安全应用提供可信的运行基础;
所述Android基础框架230用于对所述可信执行环境模块提供运行基础。
本发明实施例中,安全应用是指与安全功能相关的应用,例如与指纹识别、人脸识别、金融支付、加解密等依赖于TEE模块提供的可信任环境的应用,“可信执行环境模块”以下简称“TEE模块”,由于与安全功能相关的应用依赖于TEE模块提供的可信任环境,因此安全应用的正常运行依赖于TEE模块中的TEE组件提供支持,而TEE组件的运行依赖相关的TEE基础库,而TEE基础库依赖Android基础框架,将安全应用或服务依赖的各部分均打包在应用包内,以使得应用包在Linux***中正常运行,从而解决依赖Android基础框架的安全应用在Linux***中的兼容运行问题。
本发明实施例中,TEE模块包括基础类组件、安全支持类组件及基础库;
所述基础类组件及安全支持类组件分别对应运行依赖的所述基础库;
所述基础类组件用于对安全支持类组件提供基础支持;所述安全支持类组件用于对所述安全应用运行提供可信执行环境的支持。
本发明实施例中,TEE模块中的各个组件的开发各有分工,一般基础类组件,如TEE内核、TEE管理服务等由芯片商负责开发,CA(客户端应用程序)和对应的TA(安全应用)由设备商负责开发、集成商负责集成。
以典型的依赖应用TEE模块的安全应用指纹识别功能为例进行说明。指纹商在TEE基础框架上从非安全世界运行的CA发送请求至运行在安全世界的TA,TA负责高安全级别的处理,把结果返回给CA。TEE基础框架不关注CA和TA之间的业务逻辑,只提供基础服务,如通信通道建立、TA的身份校验等。
本发明实施例中,Linux***安全应用的软件框架还包括管理软件包,所述管理软件包部署在Linux***上,并在Linux***上运行;
所述管理软件包包括:所述基础类组件、所述基础类组件依赖的基础库以及Android基础框架。
本发明实施例中,将安全支持类组件依赖的基础类组件,以及基础类组件相关的基础库及Android基础框架进行软件打包部署在Linux***上,是为了对安全支持类组件在Linux***上的正常运行提供支持。如在图3中,将属于基础类组件的TEE管理服务与其依赖的TEE基础库以及Android基础框架进行打包形成一个独立的管理软件包部署在Linux***上。
具体地,本发明实施例中的应用包包括:至少一个所述安全应用,各所述安全应用依赖的所述安全支持类组件、各所述安全支持类组件依赖的基础库以及Android基础框架。
具体地,本发明实施例中的软件框架包括至少一个所述应用包。
本发明实施例,中可将每一安全应用分别独立打包在应用包中,也可将几个或者全部安全应用全部打包在同一应用包中,对外提供综合功能。应用包对外呈现可以是单个应用或者是中间服务。
如图3所示为本发明实施例提供的Linux***安全应用的软件框架架构示意图之一,以snap形式的应用包为例,图中每个snap包均包括Android基础框架,snap包内Android基础框架和TEE基础库及安全应用对应的客户应用程序不依赖于Linux框架,但snap包内的其他部分依赖于Linux框架,snap机制本身依赖于Linux框架及基础服务。
下面对本发明实施例提供的Linux***安全应用的软件框架创建方法进行描述,下文描述的Linux***安全应用的软件框架创建方法与上文描述的Linux***安全应用的软件框架可相互对应参照,如图4所示,本发明实施例提供一种Linux***安全应用的软件框架创建方法,包括以下步骤:
步骤410:确定在Linux***上运行的安全应用与可信执行环境模块中组件的依赖关系;其中,所述可信执行环境模块包括组件及基础库;
本步骤中,确定Linux***上开发的各安全应用与TEE模块中安全支持类组件的对应关系。本步骤中,在Linux***上开发的各安全应用依赖于TEE模块中的安全支持类组件TEE组件。本步骤中的安全应用是指Linux***上与TEE模块相关的***安全相关的应用或服务,这些应用或者服务的正常运行都依赖于TEE模块的功能,以完成某项安全的功能,例如指纹识别、人脸识别、文档解密等。
步骤420:确定所述安全应用依赖的所述组件对应的基础库;
步骤430:将所述安全应用、所述安全应用依赖的组件、所述组件对应的基础库以及所述基础库依赖的Android基础框架,进行设定格式的软件打包,得到应用包;
本步骤中将Linux***中各安全应用依赖的TEE基础库以及整个Android框架中的部分的基础框架进行软件打包,形成应用包,将其直接移植在Linux***中,使得TEE模块在Linux***上支持各安全应用的正常运行。
在本步骤的一些实施例中,将所述安全应用、所述安全应用依赖的安全支持类组件、所述安全支持类组件对应的基础库以及所述基础库依赖的Android基础框架,进行软件打包,得到snap形式的应用包。
本实施例中,采用Linux上特有的snap技术可以解决原有TEE模块在Linux***中由于环境变化而不能运行的问题。
通过打包应用直接依赖的本属于***部分基础组件,和应用共同制作成为一个snap应用包,这样的应用包安装在不同的运行环境都可以正常运行。
把TEE模块依赖的Android的基础框架同Linux CA一起打包成为一个snap包,将snap包部署在Linux***中,使得安全应用在Linux***中正常运行。
在本步骤的一些实施例中,将所述安全应用、所述安全应用依赖的安全支持类组件、所述安全支持类组件对应的基础库以及所述基础库依赖的Android基础框架,进行软件打包,得到flatpak形式的应用包。
本实施例中,采用Linux上特有的flatpak技术可以解决原有TEE模块在Linux***中由于环境变化而不能运行的问题。
flatpak是一个程序包管理实用程序,可分发安装和管理软件,而不必担心依赖项,运行时或Linux分发。可以安装软件而与Linux发行版无关(无论是基于Debian的发行版还是基于Arch的发行版),因此flatpak称为通用软件包。
本发明实施例提供的技术方案可以适用的前提是应用包中仅包括TEE模块依赖的Android基础框架,所以用snap或flatpak更为灵活,能抛弃容器的隔离限制。除此之外,TEE模块的特殊性还在于TEE模块的驱动与诸如蓝牙音频、GPS等的驱动有区别,TEE模块驱动本身就支持多个访问者同时使用(可以容器内Android***和容器外Linux***同时访问),所以TEE模块可以在无需移植其驱动的情况下使用本发明实施例提供的方案即可满足安全应用需求。
在构建了上述软件包后,用户或***发行者可以执行步骤440:将所述应用包部署在Linux***上,并在需要执行所述安全应用的时候运行所述软件包。
本步骤的应用包根据实际***情况部署在Linux***,以使得各应用包在Linux***上正常运行,为各安全应用在Linux***上正常运行提供安全运行环境的支持。
本发明实施例中,TEE模块的各组件分别依赖于相应的基础库,而所依赖的基础库可能同样依赖其他基础库,因此在步骤430中需要找到安全应用间接依赖的所有基础库,并将所被依赖的所有基础库封装在应用包内。
本发明的一些实施例中,如图5所示,步骤430之后还包括:
步骤510:将所述基础类组件、所述基础类组件对应的基础库以及所述基础库依赖的Android基础框架,进行软件打包,得到snap或者flatpak形式的管理软件包;
在得到所述管理软件包后,***发行者可以执行步骤520:将所述管理软件包部署在Linux***上,从而提供给用户使用。
下面结合图6描述本发明实施例提供的一种电子设备的实体结构示意图,如图6所示,该电子设备可以包括:处理器(processor)610、通信接口(Communications Interface)620、存储器(memory)630和通信总线640,其中,处理610,通信接口620,存储630通过通信总线640完成相互间的通信。处理器610可以调用存储器630中的逻辑指令,以执行Linux***安全应用的软件框架创建方法,该方法包括:确定在Linux***上运行的安全应用与可信执行环境模块中组件的依赖关系;其中,所述可信执行环境模块包括组件及基础库;确定所述安全应用依赖的所述组件对应的基础库;将所述安全应用、所述安全应用依赖的组件、所述组件对应的基础库以及所述基础库依赖的Android基础框架,进行设定格式的软件打包,得到应用包;将所述应用包部署在Linux***上并运行。
此外,上述的存储器630中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实施例的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
在上述终端设备实施例中,应理解,处理器610可以是中央处理单元(英文:Central Processing Unit,简称:CPU),还可以是其他通用处理器、数字信号处理器(英文:Digital Signal Processor,简称:DSP)、专用集成电路(英文:Application SpecificIntegrated Circuit,简称:ASIC)等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本发明所公开的方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。
另一方面,本发明实施例还提供一种计算机程序产品,所述计算机程序产品包括存储在非暂态计算机可读存储介质上的计算机程序,所述计算机程序包括程序指令,当所述程序指令被计算机执行时,计算机能够执行上述各方法所提供的Linux***安全应用的软件框架创建方法,该方法包括:确定在Linux***上运行的安全应用与可信执行环境模块中组件的依赖关系;其中,所述可信执行环境模块包括组件及基础库;确定所述安全应用依赖的所述组件对应的基础库;将所述安全应用、所述安全应用依赖的组件、所述组件对应的基础库以及所述基础库依赖的Android基础框架,进行设定格式的软件打包,得到应用包;将所述应用包部署在Linux***上并运行。
又一方面,本发明实施例还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现以执行上述各提供的Linux***安全应用的软件框架创建方法:确定在Linux***上运行的安全应用与可信执行环境模块中组件的依赖关系;其中,所述可信执行环境模块包括组件及基础库;确定所述安全应用依赖的所述组件对应的基础库;将所述安全应用、所述安全应用依赖的组件、所述组件对应的基础库以及所述基础库依赖的Android基础框架,进行设定格式的软件打包,得到应用包;将所述应用包部署在Linux***上并运行。
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (10)
1.一种Linux***安全应用的软件框架,其特征在于,所述软件框架能够以应用包的形式部署在Linux***上并在Linux***上运行;所述应用包包括:安全应用、可信执行环境模块以及Android基础框架;
所述安全应用为在Linux***上运行的安全类应用;
所述可信执行环境模块用于对所述安全应用提供可信的运行基础;
所述Android基础框架用于对所述可信执行环境模块提供运行基础。
2.根据权利要求1所述的Linux***安全应用的软件框架,其特征在于,所述可信执行环境模块包括基础类组件、安全支持类组件及基础库;
所述基础类组件及安全支持类组件分别对应运行依赖的所述基础库;
所述基础类组件用于对安全支持类组件提供基础支持;所述安全支持类组件用于对所述安全应用运行提供可信执行环境的支持。
3.根据权利要求2所述的Linux***安全应用的软件框架,其特征在于,所述软件框架还包括管理软件包,所述管理软件能够部署在Linux***上并在Linux***上运行;
所述管理软件包包括:所述基础类组件、所述基础类组件依赖的基础库以及Android基础框架。
4.根据权利要求3所述的Linux***安全应用的软件框架,其特征在于,所述应用包包括:至少一个所述安全应用,各所述安全应用依赖的所述安全支持类组件、各所述安全支持类组件依赖的基础库以及Android基础框架。
5.根据权利要求4所述的Linux***安全应用的软件框架,其特征在于,所述软件框架包括至少一个所述应用包。
6.一种Linux***安全应用的软件框架创建方法,其特征在于,包括以下步骤:
确定在Linux***上运行的安全应用与可信执行环境模块中组件的依赖关系;其中,所述可信执行环境模块包括组件及基础库;
确定所述安全应用依赖的所述组件对应的基础库;
将所述安全应用、所述安全应用依赖的组件、所述组件对应的基础库以及所述基础库依赖的Android基础框架,进行设定格式的软件打包,得到应用包。
7.根据权利要求6所述的Linux***安全应用的软件框架创建方法,其特征在于,所述组件包括基础类组件、安全支持类组件;
所述将所述安全应用、所述安全应用依赖的组件、所述组件对应的基础库以及所述基础库依赖的Android基础框架,进行设定格式的软件打包,得到应用包,具体包括:将所述安全应用、所述安全应用依赖的安全支持类组件、所述安全支持类组件对应的基础库以及所述基础库依赖的Android基础框架,进行软件打包,得到snap或者flatpak形式的应用包。
8.根据权利要求7所述的Linux***安全应用的软件框架创建方法,其特征在于,所述将所述安全应用、所述安全应用依赖的组件、所述组件对应的基础库以及所述基础库依赖的Android基础框架,进行设定格式的软件打包,得到应用包,之后还包括:
将所述基础类组件、所述基础类组件对应的基础库以及所述基础库依赖的Android基础框架,进行软件打包,得到snap或者flatpak形式的管理软件包。
9.一种计算机程序产品,其特征在于,包括存储在非暂态计算机可读存储介质上的计算机程序,所述计算机程序包括程序指令,当所述程序指令被计算机执行时,计算机能够执行根据权利要求6至8中任一项所述Linux***安全应用的软件框架创建方法的步骤。
10.一种电子设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求6至8所述Linux***安全应用的软件框架创建方法的步骤。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110924877.XA CN113703790B (zh) | 2021-08-12 | 2021-08-12 | Linux***安全应用的软件框架产品及创建方法 |
PCT/CN2022/104299 WO2023016151A1 (zh) | 2021-08-12 | 2022-07-07 | Linux***安全应用的软件框架及创建方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110924877.XA CN113703790B (zh) | 2021-08-12 | 2021-08-12 | Linux***安全应用的软件框架产品及创建方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113703790A true CN113703790A (zh) | 2021-11-26 |
CN113703790B CN113703790B (zh) | 2024-07-23 |
Family
ID=78652431
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110924877.XA Active CN113703790B (zh) | 2021-08-12 | 2021-08-12 | Linux***安全应用的软件框架产品及创建方法 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN113703790B (zh) |
WO (1) | WO2023016151A1 (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2023016151A1 (zh) * | 2021-08-12 | 2023-02-16 | 北京字节跳动网络技术有限公司 | Linux***安全应用的软件框架及创建方法 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2012138046A1 (ko) * | 2011-04-04 | 2012-10-11 | 주식회사 인프라웨어테크놀러지 | 범용 운영체제 상에서 안드로이드 어플리케이션을 실행하기 위한 단말장치 및 방법, 그리고 이를 위한 컴퓨터로 판독가능한 기록매체 |
WO2014185573A1 (ko) * | 2013-05-16 | 2014-11-20 | (주)인프라웨어테크놀러지 | 안드로이드 어플리케이션의 타이젠 설치가능 패키지 자동변환을 이용한 적응 실행 방법 |
CN108469962A (zh) * | 2018-03-27 | 2018-08-31 | 江苏恒宝智能***技术有限公司 | 基于手机盾的移动终端及手机盾管理方法 |
US20180284712A1 (en) * | 2017-03-28 | 2018-10-04 | Accenture Global Solutions Limited | Integrated services platform |
CN112631563A (zh) * | 2020-12-09 | 2021-04-09 | 北京飞讯数码科技有限公司 | 基于框架的***开发方法、装置、计算机设备及存储介质 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9875099B2 (en) * | 2015-07-27 | 2018-01-23 | Mechdome, Inc. | Computer-implemented method and system for executing android apps natively on any environment |
CN109086100B (zh) * | 2018-07-26 | 2020-03-31 | 中国科学院信息工程研究所 | 一种高安全可信移动终端安全体系架构及安全服务方法 |
CN112486512A (zh) * | 2020-11-25 | 2021-03-12 | 湖南麒麟信安科技股份有限公司 | 基于容器和堆叠文件***的Linux通用软件适配方法及*** |
CN113703790B (zh) * | 2021-08-12 | 2024-07-23 | 北京字节跳动网络技术有限公司 | Linux***安全应用的软件框架产品及创建方法 |
-
2021
- 2021-08-12 CN CN202110924877.XA patent/CN113703790B/zh active Active
-
2022
- 2022-07-07 WO PCT/CN2022/104299 patent/WO2023016151A1/zh unknown
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2012138046A1 (ko) * | 2011-04-04 | 2012-10-11 | 주식회사 인프라웨어테크놀러지 | 범용 운영체제 상에서 안드로이드 어플리케이션을 실행하기 위한 단말장치 및 방법, 그리고 이를 위한 컴퓨터로 판독가능한 기록매체 |
WO2014185573A1 (ko) * | 2013-05-16 | 2014-11-20 | (주)인프라웨어테크놀러지 | 안드로이드 어플리케이션의 타이젠 설치가능 패키지 자동변환을 이용한 적응 실행 방법 |
US20180284712A1 (en) * | 2017-03-28 | 2018-10-04 | Accenture Global Solutions Limited | Integrated services platform |
CN108469962A (zh) * | 2018-03-27 | 2018-08-31 | 江苏恒宝智能***技术有限公司 | 基于手机盾的移动终端及手机盾管理方法 |
CN112631563A (zh) * | 2020-12-09 | 2021-04-09 | 北京飞讯数码科技有限公司 | 基于框架的***开发方法、装置、计算机设备及存储介质 |
Non-Patent Citations (3)
Title |
---|
IEEE,"FULL TEXT & METADATA":LINUX,ANDROID,TRUSTED EXECUTION ENVIRONMEN: ""digitalSTS: A Field Guide for Science & Technology Studies"", 《PRINCETON UNIVERSITY PRESS》 * |
罗净: ""基于智能终端可信操作***的安全支付研究与实现"", 《中国优秀硕士学位论文全文数据库(信息科技辑)》, pages 1 - 93 * |
范文博: ""基于Android***的小面积指纹识别技术的研究"", 《中国优秀硕士学位论文全文数据库(信息科技辑)》, pages 1 - 62 * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2023016151A1 (zh) * | 2021-08-12 | 2023-02-16 | 北京字节跳动网络技术有限公司 | Linux***安全应用的软件框架及创建方法 |
Also Published As
Publication number | Publication date |
---|---|
WO2023016151A1 (zh) | 2023-02-16 |
CN113703790B (zh) | 2024-07-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI533204B (zh) | 用於在受限應用程式執行環境中應用程式執行的方法及系統,與用於記錄相關指令的電腦可讀取儲存媒體 | |
CN111782338B (zh) | 一种基于区块链智能合约的数据处理方法及*** | |
CN110009321B (zh) | 一种基于区块链智能合约的转账方法及*** | |
US20190370471A1 (en) | Systems and methods for patching vulnerabilities | |
US8438640B1 (en) | Method and apparatus for reverse patching of application programming interface calls in a sandbox environment | |
US11687655B2 (en) | Secure execution guest owner environmental controls | |
CN110048846B (zh) | 一种基于区块链智能合约的签名验证方法及*** | |
CN102163266A (zh) | 在主机服务器之间安全地移动虚拟机 | |
US11550919B2 (en) | Prioritizing patching of vulnerable components | |
CN109766152B (zh) | 一种交互方法及装置 | |
EP3828696A1 (en) | Method invoke chain tracing method, electronic apparatus, and computer-readable storage medium | |
CN115378735B (zh) | 一种数据处理方法、装置、存储介质及电子设备 | |
CN110046991B (zh) | 一种基于区块链智能合约的数据处理方法及*** | |
US10482034B2 (en) | Remote attestation model for secure memory applications | |
CN107871077B (zh) | 用于***服务的权能管理方法、权能管理方法及装置 | |
CN113703790B (zh) | Linux***安全应用的软件框架产品及创建方法 | |
CN114327791A (zh) | 基于虚拟化的可信计算度量方法、装置、设备和存储介质 | |
CN112559980A (zh) | 一种可内嵌众多任意app的小程序运行时 | |
CN112363771B (zh) | 应用程序的处理方法及相关产品 | |
CN108021801B (zh) | 基于虚拟桌面的防泄密方法、服务器及存储介质 | |
CN108628620B (zh) | Pos应用开发的实现方法、装置、计算机设备和存储介质 | |
CN113868691B (zh) | 一种基于云原生的区块链的授权运行方法及装置 | |
CN110852139A (zh) | 生物特征识别方法、装置、设备以及存储介质 | |
CN114553608A (zh) | 用于接入云平台的方法和装置 | |
CN112667441A (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 | ||
TA01 | Transfer of patent application right | ||
TA01 | Transfer of patent application right |
Effective date of registration: 20220406 Address after: 100041 B-0035, 2 floor, 3 building, 30 Shixing street, Shijingshan District, Beijing. Applicant after: BEIJING BYTEDANCE NETWORK TECHNOLOGY Co.,Ltd. Address before: 2005, floor 2, No. 39, West Street, Haidian District, Beijing 100082 Applicant before: Beijing jingling Information System Technology Co.,Ltd. |
|
GR01 | Patent grant |