具有测试执行环境的装置的制作方法

文档序号:13426426
具有测试执行环境的装置的制作方法

本发明一般来说涉及计算设备上的执行环境访问权限,更具体地,涉及允许在执行环境中安装新应用程序的装置。



背景技术:

移动操作系统(如Android)的设备基数越来越大,恶意应用程序和间谍软件也随之增多。此外,应用程序总体来说收集着大量的用户数据,但用户对此却无能为力。在日常生活中,通过移动设备共享个人设备和服务时,消费者日益重视其隐私。地方立法无法以全球环境所需的方式提供足够的控制和保护方法。终端用户需要根据其决定和需求,获取额外的隐私保护手段。

服务提供商当前将“隐私免责声明”作为“脱狱卡”,以获得使用位置、联系人、年龄、性别和其他使用的服务等个人信息的权限。实际上,终端用户别无选择,只能接受这一条件和相关的隐私损失。

因而,利用目前可用的技术,新安装的app(应用程序)可以自由地扫遍存储在装置上的个人信息,而装置的所有者(用户)对此一无所知。

因此,需要一种克服或至少减少上述问题的装置。



技术实现要素:

本发明的目的在于提供一种能够克服或至少减少上述问题的装置。

上述及其它目的通过独立权利要求的特征来实现。具体实现方式参见从属权利要求、说明书和附图。

第一方面,提供一种执行应用程序的装置,所述装置用于提供标准区域和提供测试区域。所述标准区域包括标准执行环境,所述标准执行环境提供对所述装置的真实资源的访问。所述测试区域包括测试执行环境,所述测试执行环境提供对模拟资源的访问,模拟资源(例如,所述模拟资源中的每一资源)是对所述装置的真实资源的建模。当所述应用程序在所述标准区域中执行时,所述应用程序能够访问所述真实资源;当所述应用程序在所述测试区域中执行时,所述应用程序能够访问所述模拟资源,且当所述应用程序在所述测试区域中执行时,所述应用程序无法访问(或禁止访问)所述真实资源。

通过提供测试区域,使所述应用程序可以访问模拟资源而不是真实资源,无需所述应用程序访问真实信息就可以测试所述应用程序尝试访问哪些资源。而且,用户可以测试所述应用程序,不会造成任何风险。

根据第一方面的一种实现方式,每个所述模拟资源均模拟所述装置的真实资源。因此,从所述应用程序的角度来看,所述模拟资源似乎是真实资源。因而,所述用户可以测试所述应用程序的所有功能。

根据第一方面的又一种实现方式,所述装置为移动通信设备。

根据第一方面的又一种实现方式,所述装置用于从应用服务器下载所述应用程序。

根据第一方面的又一种实现方式,所述装置用于将所述应用程序存储在可执行(由所述装置的操作系统执行)版本中。例如,该应用程序可能在一个编译中。因此,该应用程序可以直接由所述操作系统执行,无需进一步编译。示例性地,该应用程序可以由所述装置从可执行(例如已经编译的)版本的上述应用服务器下载。

根据第一方面的又一种实现方式,所述测试区域是隔离的执行环境,允许所述应用程序在所述测试区域中测试对资源的访问。因此,当处于测试区域时,所述应用程序可以与系统服务隔离。确保了所述应用程序不会访问不应该访问的信息。

根据第一方面的又一种实现方式,所述装置用于监测所述应用程序在所述测试区域中访问了哪些模拟资源。因此,创建了所述应用程序的信息收集活动的概述。

根据第一方面的又一种实现方式,所述装置具有显示屏,用于对测试区域中的应用程序访问的模拟资源进行可视化。

根据第一方面的又一种实现方式,所述装置用于允许用户将所述应用程序从所述测试区域移动到所述标准区域,并且在所述标准区域中为所述应用程序提供对真实资源的访问。上述应用程序的移动应理解为停止在测试区域中执行该应用程序,并开始在标准区域中执行该应用程序。因此,提供了一种选择在哪个区域安装和/或执行该应用程序的机制。因此,提供了简单和直观的用户体验,不需要执行广泛的系统配置。

根据第一方面的又一种实现方式,所述装置用于向用户呈现所述应用程序在所述测试区域中已访问的模拟资源。因此,用户清楚地了解到应用程序在测试区域中的活动。

根据第一方面的又一种实现方式,所述装置用于当应用程序从所述测试区域移动到所述标准区域时,自动向用户呈现所述应用程序在所述测试区域中已访问的模拟资源。因此,与应用程序从测试区域移动到标准区域相关的任何可能的风险将自动提醒给用户。

根据第一方面的又一种实现方式,所述装置用于为用户提供选择,即,当所述应用程序在所述标准区域中执行时选择允许所述应用程序访问的与已访问的模拟资源相对应的真实资源。因此,可以选择性地允许应用程序访问不同类型的真实私人信息。

根据第一方面的又一种实现方式,所述装置用于请求用户决定应用程序应安装在所述测试区域中还是所述标准区域中。因此,提供了一种避免应用程序自动安装在标准区域中的机制,并且提供了一种提醒用户选择标准区域或测试区域安装新应用程序的机制。

根据第一方面的又一种实现方式,所述模拟资源包括模拟用户数据后端,优选地,所述真实资源包括真实用户数据后端。提供模拟资源可以测试应用程序在访问用户数据时的活动,无需应用程序访问真实用户数据。

根据第一方面的又一种实现方式,所述模拟用户数据后端包含正确格式化但虚假的用户数据,优选地,真实用户数据后端包含正确格式化且真实的用户数据。在测试区域中提供正确格式化的数据使得创建一个可以检测出自身被放置在测试环境中并因此与放置在标准环境中的行为不同的应用程序更加困难。换句话说,应用程序无法弄清它们当前是在标准区域还是在测试区域中执行。

根据第一方面的又一种实现方式,所述测试区域将所述应用程序与所述装置的操作系统和所述装置上的其他应用程序隔离。因此,提供了一种机制,用于防止新安装的应用程序在测试区域中访问装置上的真实数据和其他应用程序。

根据第一方面的又一种实现方式,所述装置用于隔离所述测试区域。因此,防止测试区域中的应用程序访问测试区域外的资源。

根据第一方面的又一种实现方式,所述装置用于启动应用程序包。

根据第一方面的又一种实现方式,通过认证系统使测试区域变得安全。

根据第一方面的又一种实现方式,该装置用于在执行应用程序之前加载和验证与所述应用程序相关的应用证书,优选地,如果证书无法通过验证,该装置用于阻止执行该应用程序。

根据第一方面的又一种实现方式,该装置用于加载并验证与应用程序相关的应用程序清单。

根据第一方面的又一种实现方式,该装置还包括显示屏和图形用户界面。

根据第一方面的又一种实现方式,该真实资源可以包括联系人、短信、电子邮件、照片、媒体、文件、相机数据、麦克风记录、蓝牙连接信息、设备ID、位置、呼叫信息和/或日历信息。

根据第一方面的又一种实现方式,该真实资源分为多种类型的个人信息。

根据第一方面的又一种实现方式,信息类型可以包括联系人、短信、电子邮件、照片、媒体、文件、相机数据、麦克风记录、蓝牙连接信息、设备ID、位置、呼叫信息和/或日历信息。

上述目的也是根据第二方面实现的。

第二方面,提供一种用于在装置上测试应用程序的方法,其中,该装置例如为执行应用程序的计算设备或对执行应用程序的计算设备建模的节点。所述方法包括:在不允许访问所述装置上的真实资源的测试区域中执行应用程序;允许所述应用程序在所述测试区域中访问模拟资源,模拟资源(例如,所述模拟资源中的每一资源)是对所述装置的真实资源的建模。

根据第二方面的一种实现方式,该方法还包括:阻止所述测试区域中执行的应用程序访问所述装置上的真实资源。

根据第二方面的又一种实现方式,该方法还包括:当所述应用程序在所述测试区域中执行时,监测所述应用程序访问了哪些模拟资源。

根据第二方面的又一种实现方式,该方法还包括:向用户呈现所述应用程序在测试区域中执行时访问的模拟资源的列表。

以下示例实施例中将清楚地描述这些和其他方面。

附图说明

在本公开内容的以下详述部分中,将参看附图中所展示的示例性实施例来更详细地解释本发明,其中:

图1示出了示例性实施例提供的操作系统中两个执行区域。

图2是阐明安装应用程序的过程的截屏图。

图3是阐明示例性实施例提供的在区域中安装和运行应用程序的过程的方法的流程图。

图4是表明安装在装置上的多个应用程序包括安装在测试区域中的一个应用程序的截屏图。

图5是测试区域中运行的应用程序的截屏图。

图6是表示将应用程序从测试区域移动到标准区域的对话框的截屏图。

图7是显示活动日志的截屏图。

图8是示例性实施例提供的装置的正视图。

图9是阐明图8中所述装置的一般架构的框图。

具体实施方式

图1示出了装置1的操作系统中的两个分层堆栈,并且示出了两个堆栈之间的差异。左侧展示的是执行可信应用程序102的标准执行环境101。右侧展示的是测试执行环境111,执行不可信应用程序112以测试应用程序112尝试访问或实际访问测试执行环境111中的哪些资源和/或应用程序。

从应用程序方面来看,两个堆栈101和111看起来相似并且优选地,是不可区分的。两个堆栈101和111都在自身的隔离环境中,具有相似的执行环境103和113以及界面104和114。

在通过使用Linux命名空间的进程隔离实现的示例性实施例中描述了与操作系统(实际系统服务)的隔离。在标准区域101内,进程隔离(由操作系统实现的)是足够的,即测试区域112的隔离是由容器(使用命名空间)实现的。

堆栈之间的区别在于:在测试区域111中,应用程序以模拟后端115的形式访问模拟数据,模拟后端115包含虚假数据或虚拟数据,而真实后端105包含真实用户数据。模拟后端115包含具有虚假数据或虚拟数据的数据后端和硬件接口,该接口仅具有虚拟或存根实现来保护用户数据和其他应用程序数据,为系统提供安全性。每个模拟资源都对装置1的真实资源进行了建模,即从应用程序的角度来看,模拟资源和真实资源是无法区分的。

后端模拟数据的非详尽列表包括以下数据类型:联系人、短信和彩信、电子邮件、照片/媒体/文件、相机、麦克风、蓝牙连接信息、设备ID、位置、呼叫信息和/或日历。

模拟数据模拟真实资源或对真实资源进行建模,对于有关的个人数据类型,模拟数据格式正确,但正确格式化的个人数据的内容是假的,即是伪造或虚假的。

在示例性实施例中,应用程序112是在装置1上从可执行(例如,(预)编译)版本中的应用服务器下载的,因此,应用程序112可由装置1的操作系统执行,无需进一步编译。

图2示出了用户在装置1上安装新应用程序112的过程的截屏图。区域管理系统提示用户选择101和111中的哪个区域安装应用程序112。在该示例性实施例中,是在标准区域101和测试区域111之间进行选择。用户选择相关区域来进行安装,并通过按下安装按钮209来确认安装。操作系统中的区域数量取决于装置1的使用和功能,可以是两个或更多。

图3示出了计算设备1中的后端访问过程的实施例。对于标准区域101中的可信应用程序102和测试区域111中的不可信应用程序112,该过程是完全相同的。两个过程之间的区别在于:测试区域111中的不可信应用程序112访问包含虚拟用户数据的模拟后端115,而可信应用程序102使用或访问包含真实用户数据的真实后端105。

图3描述了不可信应用程序112访问测试区域111中的模拟后端115的过程。首先,在步骤200中请求应用程序(包)112在系统的测试执行环境111中启动。执行环境可以理解为诸如计算设备硬件或其他通过软件或其他方式对计算设备硬件进行建模的节点。接下来,系统在步骤201中加载应用程序的证书。应用程序的证书在本发明的上下文中被认为是可以验证应用程序作者的任何信息,即应该在应用程序包中的确切数据。如果证书签名与应用程序包的数据匹配,则系统认为该包是完整的。如果包数据与证书不匹配,则系统知道包已更改,因此认为该包已损坏,且系统不予以运行。在验证包完整后,系统在步骤202中加载应用程序清单。

清单中包含了应用程序112需要访问的权限。步骤203:此时,系统开始在测试执行环境111中运行应用程序。步骤204:应用程序112在运行时将访问界面。步骤205:为此,系统检查应用程序是否有权访问界面后端。为了测试测试区域111中的不可信应用程序112,所有权限都被启用,从而使不可信应用程序112能够自由地使用所有模拟后端115。步骤206:由于应用程序112可以成功访问界面,所以不可信应用程序112将访问模拟后端115。步骤207:系统监测不可信应用程序112访问的资源,并将这些活动记录到日志中。

测试区域111向用户提供安全的环境,使用户可以尝试新的(不可信的)应用程序112。测试区域111形成的容器确保在没有用户授权的情况下不使用(真实的)系统资源。如图4中的截屏图所示,应用程序112以与所有其他应用程序211相同的方式显示在应用程序网格210上,并且在测试区域(容器)111中添加关于应用程序放置的图形指示212。

图5示出了在测试区域111中运行的具有示例功能:功能1、功能和功能3的应用程序112的截屏图213。然而,应当理解,这些功能仅仅是说明性的,并不代表具体应用程序112的功能。这些功能会变化且依赖于所涉及的应用程序112,但不一定在显示屏上显示为虚拟按钮。

如图5中的截屏图所示,应用程序112周围设置有边界214,以指示用户应用程序112在测试区域111中运行。应用程序112可以访问诸如用户名、地址、电话号码、位置(固定坐标)等虚拟或虚假资源(来自模拟后端)。

可以在测试区域中使用应用程序112,以了解其功能。一旦用户决定想拥有完整的功能,可移动应用程序112至标准区域101中,例如,使用图形用户界面。在这一过程中,有关应用程序112自动显示在测试区域中执行时在模拟后端中访问的资源的列表或日志。

图7示出了用户将应用程序从测试区域111移动(或想要移动)到标准区域101时显示的日志对话框217。当应用程序从测试区域111移动到标准区域112时,将要求用户授予所需的访问权限。应用程序112所需的所有资源都显示在图形列表217中,供用户参考和选择用户决定允许应用程序112在标准区域101中执行时访问的资源。

软件开发人员可以使用通过本发明中讨论的方法启用的简单的开发工具来定义应用程序112所使用的资源。那些且只有那些资源在安装应用程序的容器中可用。例如,银行应用程序不需要访问用户联系人数据,因此该资源不可用于该应用程序。这就确保了应用程序不能利用超出该容器范围的任何资源。

图8示出了能够运行应用程序的装置1。装置1可以是计算设备硬件或者通过软件或其他方式对计算设备进行建模的节点。

在该示例实施例中,装置1是移动电话。然而,应当理解,该装置可以是可以运行应用程序的任何其他设备,例如,平板电脑、笔记本电脑或台式电脑。该装置1具有壳体2、显示屏3和若干按钮4和5。作为一个实施例,该装置1适用于通过4G网络等蜂窝网络进行的通信,但也可以适用于使用不同的无线网络或基于TCP/IP的网络,以覆盖可能的VoIP网络(例如通过WLAN、WIMAX、或类似的网络)。

装置1设置有可以通过液晶显示器或有源矩阵有机发光二极管实现的显示屏3。显示屏3可以与触摸面板组合形成单个模块。作为一个实施例,该装置1设置有若干按键4和5用于用户输入。除了触摸屏之外,装置1可以设置有或连接到小键盘或键盘。

装置1中的电池组为装置1的电子部件提供电力。还提供了一种用于为电池组充电的端子。在另一实施例中,该装置由市电供电且没有设置电池。

图9以框图的形式示出了装置1的一般架构。处理器18通过发射机/接收机电路19和天线20控制与蜂窝网络的通信。麦克风6将声音变换为模拟信号,由此形成的模拟信号在A/D转换器(未示出)中进行A/D转换,然后语音在数字信号处理单元14(digital signal processor,简称DSP)中进行编码。编码的语音信号被传送到支持例如4G终端软件的处理器18。总线7形成到处理器18和该装置的外围单元的接口,包括例如RAM存储器17a、快闪ROM存储器17b、SIM卡16、显示屏3、蓝牙控制器25、通信端口36、触摸面板控制器29、外部RAM 27和按键4和5(以及数据、电源等)。数字信号处理单元14解码通过D/A转换器(未示出)从处理器18传送到扬声器5的信号。

本发明实施例的一个优点是可以具有一个能够以安全的方式使用的不损害用户隐私、设备完整性和设备及用户数据的机密性的系统。从用户角度来看,该机制简单,不需要大量的系统配置技能。

本发明实施例的另一优点是为用户提供了一种用于使用和测试不可信的或新的应用程序的隔离机制。

本发明实施例的又一优点是为用户提供了一种用于使用和测试不可信的或新的应用程序而不损害用户数据隐私、设备完整性和数据机密性的隔离机制。

本发明实施例的又一优点是提供了一种用于测试区域的模拟数据后端,以使实际或真实用户数据不会暴露于不可信应用程序。不可信应用程序只能访问所谓的默认(虚假或伪造)值(即虚假电话簿中的默认名、默认位置等)。

本发明实施例的又一优点是提供了一种在测试区域和标准区域之间传送应用程序的机制。

在此结合各种实施例描述了本发明。但本领域技术人员通过实践本发明,研究附图、本发明以及所附的权利要求,能够理解并获得公开实施例的其他变体。在权利要求书中,词语“包括”不排除其它元素或步骤,不定冠词“一”不排除多个。单个处理器或其他单元可以完成权利要求中描述的几个器件的功能。在仅凭某些措施被记载在相互不同的从属权利要求书中这个单纯的事实并不意味着这些措施的结合不能被有效地使用。计算机程序可存储或分发到合适的介质上,例如与其它硬件一起或者作为其它硬件的部分提供的光存储介质或者固态介质,还可以以其它形式例如通过因特网或者其它有线或无线电信系统分发。

权利要求书中所用的参考符号不应解释为限制了范围。

再多了解一些
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1