发明内容
根据本发明的方面,根据所附权利要求,提供了一种用于控制用户装置上的剪贴板操作的方法和设备。
在第一示例性实施方式中,提供了一种用户装置,包括:至少一个处理器;以及至少一个存储器,其包括计算机程序代码以及由应用程序供应实体供应的应用程序,所述应用程序访问(having access to,使用)第一类型的第一剪贴板,用户装置上的另外的不同的应用程序可以将数据转移给所述第一剪贴板和/或可以从所述第一剪贴板中检索数据,其中,所述应用程序被配置有用于将数据转移给第二不同类型的第二剪贴板和/或从所述第二剪贴板中检索数据的加密密钥,所述加密密钥与所述应用程序供应实体供关联,所述至少一个存储器和所述计算机程序代码被配置为与所述至少一个处理器一起促使所述用户装置通过加密密钥控制所述应用程序将数据转移给第二剪贴板和/或从第二剪贴板中检索数据。
在本文中描述的实施方式中,第一剪贴板可以是在用户装置上的至少一个其他应用程序可访问的不受限制的或开放的剪贴板,而第二剪贴板可以是仅仅应用程序可访客的限制的剪贴板。因此,在本公开中描述的实例中,术语“类型”总体上表示在访问剪贴板时被分配给应用程序的限制的等级。在本公开中,术语不受限制/开放式剪贴板和第一剪贴板可互换使用,并且术语限制的剪贴板和第二剪贴板可互换使用。
因此,除了访问在用户装置上的至少一个其他应用程序可访问的不受限制的或开放的剪贴板以外,第一实施方式还能够允许应用程序访问仅仅预留给该应用程序使用的限制的剪贴板。该应用程序配置有加密密钥,用于将数据转移给限制的剪贴板并且从限制的剪贴板中检索数据,从而缓解数据丢失和数据泄露的任何风险。
在第一配置中,所述应用程序可以以前台操作状态和后台操作状态来执行。在这种配置中,响应于所述应用程序正在过渡到后台操作状态内的指示,所述应用程序可以使标识符与放在限制的剪贴板上的加密的数据关联并且可以根据预定规则将加密的数据转移给开放剪贴板,从而在应用程序过渡到前台操作状态时支持加密的应用程序的检索和/或通过一个不同的应用程序检索数据。
在第二配置中,响应于所述应用程序过渡到前台操作状态的指示,所述应用程序可以从开放剪贴板中检索数据项,该数据项可以由在过渡到后台操作状态时的应用程序或者通过一个不同的应用程序放在开放剪贴板上。该应用程序可以根据加密密钥,确定所检索的数据项是否加密;如果还未加密,那么根据加密密钥将所述检索的数据项加密;以及将加密的数据项转移给限制的剪贴板。因此,这个配置能够允许应用程序在开放剪贴板上安全地保存数据项而应用程序在后台操作状态和/或能够由另一个应用程序检索数据。此外,根据加密的密钥,将在限制的剪贴板上保持的任何项目加密,从而缓解数据泄露的风险。
在第三配置中,所述应用程序访问第二类型的第三和/或第四剪贴板,这可以通过一个不同的密钥来访问。例如,第三剪贴板可以通过与用户关联的用户密钥来访问,并且第四剪贴板可以通过与从中下载应用程序的应用程序供应储存库关联的供应密钥来访问。实际上,这个配置提供与上下文关联的剪贴板,并且该应用程序可以确定哪些剪贴板可以访问并且根据预定的标准,选择一个可访问的剪贴板,所述预定的标准可以是(例如)由上述应用程序供应实体规定的策略。
在一个替换的配置中,第二、第三和/或第四剪贴板可以由用户装置上的另外的不同的应用程序访问。在这种情况下,另外的应用程序配置有加密密钥、用户密钥以及供应密钥中的一个或多个,并且被配置为通过相应的密钥将数据转移给第二、第三和/或第四剪贴板中可访问的剪贴板和/或从所述可访问的剪贴板中检索数据。因此,这个配置提供共享上下文关系的应用程序可访问的限制的剪贴板,例如,由应用程序供应实体供应的并且配置有相应的加密密钥的应用程序。可以根据用户密钥和/或供应密钥,可替换地或者另外建立上下文。
而且,在这个配置中,用于选择应用程序可访问的一个剪贴板的上述预定标准可以包括关于所述另外的应用程序可访问哪个剪贴板的指示,从而能够允许应用程序与所述另外的应用程序安全地共享数据。
在第二示例性实施方式中,提供了一种控制用户装置上的剪贴板操作的方法,所述用户装置包括由应用程序供应实体供应的应用程序,所述应用程序访问第一类型的第一剪贴板,在用户装置上的另外的不同的应用程序可以将数据转移给所述第一剪贴板和/或可以从所述第一剪贴板中检索数据,其中,所述应用程序配置有用于将数据转移给第二不同类型的第二剪贴板和/或从所述第二剪贴板中检索数据的加密密钥,所述加密密钥与所述应用程序供应实体供关联,所述方法包括:根据预定的标准通过加密密钥控制所述应用程序将数据转移给第二剪贴板和/或从第二剪贴板中检索数据。
在第三示例性实施方式中,提供了一种用户装置,包括:至少一个处理器;以及至少一个存储器,其包括计算机程序代码以及多个应用程序、由所述多个应用程序中的至少一些可访问的第一类型的第一剪贴板以及第二不同类型的第二剪贴板,第二剪贴板配置有加密参数,至少一个应用程序具有所述应用程序能够访问第二剪贴板的第一状态以及与所述第一状态不同的第二状态,所述至少一个存储器和所述计算机程序代码被配置为与所述至少一个处理器一起促使所述用户装置:响应于从应用程序中接收转移数据的第一请求,根据加密参数将数据加密;以及将加密后的数据提供给第二剪贴板,其中,防止在第二状态中的任何应用程序后续访问第二剪贴板。
具体而言,在第一状态中的应用程序配置有加密参数,用于访问第二剪贴板,而在第二状态中的应用程序不配置有加密参数,结果,不能访问第二剪贴板。因此,根据相应的加密参数,将由第二剪贴板保持的数据加密,结果,防止第二状态中的任何应用程序的后续访问。既然如此,通过限制访问第二剪贴板,并且从而将所保持的数据加密,用户装置尽可能减少数据泄露的风险。
响应于从远程实体中接收与不同的应用程序对应的配置消息,用户装置可以将不同的应用程序配置到第一状态内,从而能够允许不同的应用程序访问第二或限制的剪贴板。
应用程序可以访问多个第二剪贴板,在这情况下,响应于应用程序转移数据的请求,用户装置使选择一个第二剪贴板。可以根据预定的标准可以进行特定的第二剪贴板的选择。例如,预定的标准可以包括由相应的应用程序供应实体规定的一个或多个策略。
响应于所述应用程序的检索数据的请求,用户装置可以促使确定与由第一或第二类型的剪贴板中的至少一个保持的一个或多个数据项关联的时间戳,并且根据该确定,选择剪贴板。然后,从所选择的剪贴板中检索数据项。因此,应用程序不限于从第二类型的剪贴板中检索数据项;确切地说,根据关联的时间特性检索数据项。
用户装置可以促使根据预定的参数,将与第二类型的剪贴板关联的标识符加密,以及在加密的标识符与第二剪贴板之间保持关联。通过这种方式,可以防止恶意应用程序根据嗅探攻击推断与第二剪贴板对应的标识符,其中,恶意应用程序监控在应用程序与应用程序执行环境之间的通信。这是因为预定参数独立于使用第二剪贴板的应用程序。
在第四示例性实施方式中,提供了一种控制用户装置上的剪贴板操作的方法,所述用户装置包括:多个应用程序;由所述多个应用程序中的至少一些可访问的第一类型的第一剪贴板;以及第二不同类型的第二剪贴板,第二剪贴板配置有加密参数,至少一个应用程序具有所述应用程序能够访问第二剪贴板的第一状态以及与所述第一状态不同的第二状态,所述方法包括:响应于从应用程序中接收转移数据的第一请求,根据加密参数,将数据加密;以及将加密的数据提供给第二剪贴板,其中,防止任何应用程序在第二状态中后续访问第二剪贴板。
在第五示例性实施方式中,提供了一种用户装置,包括:至少一个处理器;以及至少一个存储器,其包括计算机程序代码以及多个应用程序、由所述多个应用程序中的至少一些可访问的第一类型的剪贴板以及第二不同类型的多个剪贴板,第二类型的剪贴板中的每个与一个不同的加密参数关联,每个加密参数表示授权应用程序将数据转移给第二类型的相应剪贴板和/或从第二类型的相应剪贴板中检索数据,所述至少一个存储器和所述计算机程序代码被配置为与所述至少一个处理器一起促使所述用户装置:响应于从应用程序中接收转移数据的第一请求,根据预定的标准,选择应用程序可访问的第二类型的剪贴板;根据与所选择的第二类型的剪贴板对应的加密参数,将与第一请求对应的数据加密;以及将加密后的数据提供给所选择的剪贴板。
因此,用户装置促使根据用于放置与转移数据的请求对应的数据的预定标准,选择第二类型的剪贴板,并且根据与其对应的加密参数,将与请求对应的数据加密。通过这种方式,响应于请求,选择第二类型的合适剪贴板,而非在第二类型的任何可访问的剪贴板上放置与请求对应的数据。
如果不能访问第二类型的任何剪贴板,那么用户装置可以促使将与请求对应的数据放在开放剪贴板上。因此,如果可以访问的话,那么与请求对应的数据可以放在限制的剪贴板上,但是在特殊情况下,可以将数据放在至少一些应用程序可访问的开放剪贴板上。如果该数据并非机密,那么用户装置可以另外使与请求对应的数据放在开放剪贴板上。
在第六示例性实施方式中,提供了一种控制用户装置上的剪贴板操作的方法,所述用户装置包括:多个应用程序;由所述多个应用程序中的至少一些可访问的第一类型的剪贴板;以及第二不同类型的多个剪贴板,第二类型的剪贴板中的每个与一个不同的加密参数关联,每个加密参数表示授权应用程序将数据转移给第二类型的相应剪贴板和/或从第二类型的相应剪贴板中检索数据,所述方法包括:响应于从应用程序中接收转移数据的第一请求,根据预定的标准,选择应用程序可访问的第二类型的剪贴板;根据与所选择的第二类型的剪贴板对应的加密参数,将与第一请求对应的数据加密;以及将加密的数据提供给所选择的剪贴板。
在第七示例性实施方式中,提供了一种用于控制在远离其的用户装置上的剪贴板操作的设备,所述用户装置包括:多个应用程序;由所述应用程序中的至少一些可访问的第一类型的剪贴板;以及第二不同类型的至少一个第二剪贴板,第二剪贴板与加密参数关联,其中,所述加密参数表示授权应用程序将数据转移给相应的第二剪贴板和/或从第二剪贴板中检索数据,所述设备包括处理***,所述处理***包括处理器和存储器,其被配置为促使所述设备将加密参数选择性地供应给所述应用程序,从而能够允许所述应用程序将数据转移给第二剪贴板和/或从第二剪贴板中检索数据。
因此,远程设备可以控制访问第二类型的剪贴板。通过这种方式,企业网络或应用程序供应储存库可以积极地控制访问在用户装置上的第二类型的剪贴板。在这方面,该设备可以进一步供应一个或多个策略,用于控制应用程序在用户装置上的剪贴板操作。
在第八示例性实施方式中,提供了一种由远离其的实体控制在用户装置上的剪贴板操作的方法,所述用户装置包括:多个应用程序;由所述应用程序中的至少一些可访问的第一类型的剪贴板;以及第二不同类型的至少一个第二剪贴板,第二剪贴板与加密参数关联,所述加密参数表示授权应用程序将数据转移给相应的第二剪贴板和/或从第二剪贴板中检索数据,所述设备包括处理***,所述方法包括:将加密参数选择性供应给所述应用程序,从而能够允许所述应用程序将数据转移给第二剪贴板和/或从第二剪贴板中检索数据。
第七和第八示例性实施方式由服务器装置最方便地实现。实施方式还包括计算机程序,其包括指令集,该指令集在由设备执行时,使用设备执行根据第八实施方式的方法。根据本发明的进一步方面,该设备可以体现为单个计算装置或者体现为包括一群计算装置的分布式***。该设备被配置为单个装置或一群装置,以执行与上述功能对应的方法,并且实际上,这个或这些装置配置有能够执行相应的步骤的计算机代码。
从参照附图进行的仅仅通过示例提供的本发明的优选实施方式的以下描述中,本发明的进一步特征和优点显而易见。
具体实施方式
本发明的实施方式涉及在用户装置上管理访问剪贴板或粘贴板。在特定的实例中,实施方式涉及提供应用程序可以唯一地访问的安全剪贴板和/或与上下文关联的并且分享上下文关系的一个或多个应用程序可访问的基于上下文的剪贴板。下面详细描述涉及管理剪贴板的处理,但是首先,参照图1,描述本发明的实施方式在其内操作的传统网络环境的概述,图1是示出通信网络101的方框图,该通信网络能够允许用户装置103与域201和301(在后文中称为第一和第二域)通信。
通信网络101被配置为能够在用户装置103与第一和第二域201和301之间直接或通过中介网络实体(例如,代理服务器(未显示))进行分组通信。第一和第二域201和301可以(例如)是专用网络,例如,企业或组织网络。第一域201可以包括应用程序供应实体203,该实体提供应用程序,以能够允许用户装置与由第一域201和/或由进一步的域(例如,第二域301)提供的服务,例如,数据库(未显示)进行通信。既然如此,由应用程序供应实体203供应的应用程序可以访问敏感或机密信息。第二域301可以包括应用程序供应储存库303,该储存库包括用于供用户装置下载的一个或多个应用程序。应用程序供应储存库303可以包括由应用程序供应实体203和/或进一步的应用程序供应储存库(未显示)供应的一些或所有应用程序。为了完整性,要注意的是,应用程序供应储存库303可以可选择地位于第一域201内。
没有限制地,用户装置103可以是远程台式电脑、智能电话(例如,iPhoneTM)、平板电脑(例如,iPadTM)或膝上型电脑。在一个优选的配置中,例如,在用户装置103是移动计算装置的情况下,通信网络101操作地连接至移动网络(未显示),以将数据包路由给用户装置103/从用户装置103中路由数据包,在这种情况下,移动网络给用户装置103提供无线网络连接。没有限制地,移动网络可以包括全球移动通信***(GSM)、通用分组无线业务(GPRS)、增强数据率的GSM演进(EDGE)、通用移动电信***(UMTS)、3G、Wi-Fi、非授权移动接入和通用接入网络。构成移动网络的元件和实体对于本领域的技术人员众所周知。
用户装置103可以装有多个应用程序,一些应用程序可以由应用程序供应实体203供应和/或可以通过应用程序供应储存库303下载。由应用程序供应实体203供应的应用程序可以配置有属于域201的机密信息或者可以通过因此可访问的一个或多个服务,访问机密信息。
另外,用户装置103额外地包括其上的至少一些应用程序可访问的第一类型的剪贴板(在后文中称为“开放剪贴板”)。开放剪贴板是不受限制的剪贴板,并且通常可由应用程序访问而没有任何限制。
开放剪贴板暂时保存由应用程序通过剪切或复制操作转移的数据,并且响应于粘贴操作,将保存的数据提供给相同的或不同的应用程序。由于应用程序在用户装置103上可访问开放剪贴板,所以由应用程序转移给开放剪贴板的任何敏感或机密信息可以由未授权的应用程序获得;因此,开放剪贴板造成数据泄露的风险。
用于解决这个问题的传统方法涉及应用程序供应实体,例如,应用程序供应实体203,其配置所供应的一个或多个应用程序,从而禁用剪贴板功能,因此,防止应用程序将数据转移给开放剪贴板。然而,这种限制阻止访问开放剪贴板,这对于习惯使用剪贴板功能的用户造成干扰。
在一个替换的配置中,一些应用程序供应实体配置其应用程序,以将转移给开放剪贴板的数据加密,从而防止数据泄露。然而,包括放在开放剪贴板上的加密数据的数据可以被应用程序不可恢复地移除,结果,造成数据丢失的风险。
在进一步已知的配置中,操作***(例如,AppleTM iOSTM)通过分配唯一标识符提供任何应用程序可以调用的专用剪贴板。对专用剪贴板的访问限于了解相应的其唯一标识符的应用程序,从而能够允许应用程序分享敏感信息。然而,如果另外的应用程序发现其相应的标识符,那么专用剪贴板的内容处于危险中。
参照图2,现在描述根据本发明的一个实施方式。在这个实施方式中,在用户装置103上的应用程序App1配置有加密参数,例如,加密密钥Key1,该参数可以是哈希或数字证书,用于将数据转移给其各自的限制的剪贴板RC1或者从该剪贴板中检索数据。限制的剪贴板RC1是与上述第一类型的剪贴板即,开放剪贴板C1不同的第二类型的剪贴板,并且仅仅应用程序App1可访问。实际上,限制的剪贴板RC1是专用剪贴板,并且通过加密密钥Key1,应用程序将数据转移给该剪贴板以及从该剪贴板中检索数据。在至少一些配置中,加密密钥Key1可以与供应应用程序App1的应用程序供应实体203关联。在替换的配置中,并且下面进一步进行解释,加密参数可以附加地或者可替换地与用户或从中下载应用程序App1的相应的应用程序供应储存库关联。既然如此,实施方式提供了专用剪贴板并且配置密钥用于将数据转移给专用剪贴板和/或从专用剪贴板中检索数据。
将根据加密密钥Key1对限制的剪贴板RC1上保存的数据项加密,结果,即使未经批准的或恶意应用程序能够获得一个或多个数据项,在没有加密密钥Key1的情况下,不能将其解密。因此,实施方式尽可能减少数据泄露的风险。下面进一步描述,通过给应用程序选择性配置加密密钥Key1或者远程供应加密密钥Key1,实施方式能够允许远程实体(例如,应用程序供应实体203)控制访问与其关联的限制的剪贴板。因此,企业网络可以允许其应用程序使用剪贴板功能而没有数据泄露的任何风险。
为了完整性,要注意的是,在用户装置103上的应用程序可以由多个应用程序供应实体供应。例如,应用程序App2可以由与第二域301关联的不同的应用程序供应实体(未显示)供应,因此,可以配置有不同的加密参数,例如,加密密钥Key2、哈希或数字证书,用于将数据转移给限制的剪贴板RC2和/或从该剪贴板中检索数据。因此,实施方式给在用户装置103上的至少一些应用程序提供了单独的限制的剪贴板,并且能够允许相应的应用程序供应实体控制对其访问。既然如此,用户装置103可以选择性允许应用程序App1将数据转移给剪贴板C1和RC1之一和/或从该剪贴板中检索数据,或者用户装置103可以选择性允许应用程序App2根据预定的标准将数据转移剪贴板C2和RC2之一和/或从该剪贴板中检索数据,例如,该标准可以是由相应的应用程序供应实体规定的策略。
限制的剪贴板RC1和RC2可以是硬件和/或软件(在硬件上执行)的任何组合,其被配置为根据关联的上下文,将剪贴板功能提供给所选择的应用程序。如上所述,限制的剪贴板RC1和RC2分别配置有相应的加密密钥Key1或Key2,用于控制对其的访问。
在至少一些配置中,应用程序App1可以具有能够允许应用程序App1通过加密密钥Key1将数据转移给其相应的限制的剪贴板RC1和/或从该剪贴板中检索数据的第一操作状态以及不允许应用程序App1通过加密密钥Key1将数据转移给其相应的限制的剪贴板RC1和/或从该剪贴板中检索数据的第二状态。具体而言,如果应用程序App1配置有加密密钥Key1,那么被视为在第一操作状态中。在这方面,与应用程序App1对应的应用程序供应实体203可转移包括加密密钥Key1的消息,从而将应用程序App1配置到第一状态内。
应用程序App1可以通过对其设置的应用程序编程接口(API)对限制的剪贴板RC1调用剪贴板功能,例如,剪切、复制或粘贴。或者,用作在应用程序与应用程序执行环境之间的接口的应用程序执行环境或应用程序包装,可以选择性地或者不加选择地拦截来自应用程序App1的剪贴板功能的请求,并且促使开放剪贴板C1或限制的剪贴板RC1根据实施方式处理请求的剪贴板功能。
参照图3,在一个替换的配置中,应用程序App1和App2的剪贴板功能的请求可以由剪贴板管理器1041单独地或者与应用程序包装或应用程序执行环境一起拦截。在这种情况下,剪贴板管理器1041用作在开放与限制的剪贴板C1、RC1以及RC2之间的接口,并且促使剪贴板C1、RC1以及RC2中的一个根据实施方式处理请求的剪贴板功能。
现在,参照图4,描述应用程序App1响应于剪贴板操作执行的步骤的概述。响应于从应用程序App1中接收转移数据的请求,应用程序执行环境、或应用程序App1、或应用程序包装和/或配置管理器1041可以根据上述加密密钥Key1,即与限制的剪贴板RC1对应的加密参数将数据加密(s401)。然后,将加密数据提供给限制的剪贴板RC1(s403)。
在至少一些配置中,应用程序App1可以在前台操作状态和后台操作状态中执行。例如,在应用程序App1活动时,可以被视为在前台操作状态中。响应于应用程序App1过渡到后台操作状态内的指示,应用程序执行环境、或应用程序App1、或应用程序包装和/或剪贴板管理器1041可以使标识符与由其相应的限制的剪贴板RC1保持的一个或多个加密的数据项关联(s405),然后,根据预定的规则,将至少一些加密的数据项从限制的剪贴板RC1中转移给开放剪贴板C1(s407)。预定的规则可以(例如)包括以下中的一个或多个:由相应的应用程序供应实体203规定的策略;与由限制的剪贴板RC1保持的一个或多个加密的数据项关联的时间戳;以及与由限制的剪贴板RC1保持的一个或多个加密的数据项关联的数据类型。
通过这种方式,在过渡到前台操作状态内时,应用程序App1能够从开放剪贴板C1中检索一个或多个加密的数据项。具体而言,在应用程序App1过渡到前台操作状态内时(s409),应用程序执行环境、或应用程序App1、或应用程序包装和/或剪贴板管理器1041可以根据关联的标识符,从开放剪贴板C1中检索一个或多个加密的数据项(s411),并且将一个或多个加密的数据项转移给其相应的限制的剪贴板RC1(s413)。
应用程序执行环境、或应用程序App1、或应用程序包装和/或剪贴板管理器1041可以可选地或附加地检索由不同的应用程序转移的一个或多个数据项。在这种情况下,应用程序App1可以确定所检索的一个或多个数据项是否根据加密密钥加密(s415)。如果加密的话,那么将检索的一个或多个数据项转移给限制的剪贴板RC1。如果不加密的话,那么应用程序执行环境、或应用程序App1、或应用程序包装和/或剪贴板管理器1041根据加密密钥将所检索的一个或多个数据项加密(s417),然后,将其转移给限制的剪贴板RC1(s419)。
为了完整性,要注意的是,可以可选地或附加地由另外的不同的应用程序从开放剪贴板C1中检索加密的数据项。然而,如果配置有加密密钥Key1,那么所述另外的应用程序仅仅能够将检索的加密数据项解密。既然如此,实施方式能够在共享上下文的应用程序之间安全地共享数据项,例如,由相同的应用程序供应实体供应的以及配置有相应密钥的应用程序。
在至少一些配置中,应用程序App1可以访问第二限制的剪贴板,并且配置有用于将数据转移给该剪贴板和/或从该剪贴板中检索数据的用户密钥。应用程序App1可附加地或可选择地使用第三限制的剪贴板,并且配置有供应密钥,该供应密钥与相应的应用程序供应储存库关联,用于将数据转移给该剪贴板和/或从该剪贴板中检索数据。在这种情况下,应用程序App1可以确定可以访问剪贴板C1、RC1、第二限制的剪贴板和/或第三限制的剪贴板中的哪个,并且根据预定的标准,选择性允许将数据转移给可访问的剪贴板之一和/或从可访问的剪贴板之一中检索数据。
例如,所述预定的标准包括以下中的一个或多个:由相应的应用程序供应实体203规定的策略;可访问的剪贴板之一是否包括至少一个数据项的指示;以及与由至少一个可访问的剪贴板保持的数据项关联的时间戳。
要注意的是,可以给限制的剪贴板RC1、第二限制的剪贴板和/或第三限制的剪贴板分配虚拟和/或物理存储器,并且在这种情况下,可以根据相应的加密参数来区分不同的限制的剪贴板。
参照图5,如上所述,限制的剪贴板RC1和/或RC2可以(例如)是与特定的应用程序(例如,应用程序App1)关联的专用剪贴板,并且可以仅仅由应用程序的模块访问,以供内部使用。或者,如果应用程序是一套应用程序(例如,MicrosoftTM OfficeTM)的构成元素,那么来自同一套应用程序的一个或多个应用程序可以访问剪贴板。在这种情况下,限制的剪贴板RC1和/或RC2是应用程序的专用私人限制的剪贴板AppC,并且可以由配置有相应的密钥的一个应用程序或一套应用程序访问。
在替换的配置中,限制的剪贴板RC1可以在具有上下文关系的应用程序之间共享。在这种情况下,共享上下文关系的每个应用程序配置有加密密钥Key1,用于将数据转移给限制的剪贴板RC1或者从该剪贴板中检索数据。因此,该配置提供在具有上下文关系的应用程序之间共享的限制的剪贴板,例如,由应用程序供应实体203供应的以及配置有相应的加密密钥的应用程序。
再次参照图5,限制的剪贴板RC1和/或RC2可以是用户特定的限制的剪贴板UserC并且被与规定的用户关联的且配置有相应的用户密钥的一个或多个应用程序可访问。为了完整性,要注意的是,与应用程序关联的用户可以时常变化,因此,应用程序可以在不同的时间访问不同的用户特定的限制的剪贴板UserC。应用程序可以配置有一个或多个用户密钥,用于将数据转移给相应的用户特定的限制的剪贴板UserC和/或从该剪贴板中检索数据,或者在(例如)用户关联性改变时,可以动态地供应用户密钥。
限制的剪贴板RC1和/或RC2可以附加或可替换地与应用程序供应储存库(例如,应用程序供应储存库303)关联。在这种情况下,限制的剪贴板RC1和/或RC2可以被视为供应商特定的限制的剪贴板ProvC,从同一应用程序供应储存库(例如,应用程序供应储存库303)中下载的一个或多个应用程序可以访问该剪贴板。应用程序可以配置有用于将数据转移给相应的供应商特定的限制的剪贴板ProvC和/或从该剪贴板中检索数据的与相应的应用程序供应储存库关联的供应密钥。
限制的剪贴板RC1和/或RC2可以附加或可替换地与企业网络关联。在这种情况下,限制的剪贴板RC1和/或RC2可以被视为企业特定的限制的剪贴板EntC,与给定的企业网络关联的应用程序可以访问该剪贴板。与企业网络关联的应用程序可以配置有用于将数据转移给相应的企业特定的限制的剪贴板EntC和/或从该剪贴板中检索数据的企业密钥。
因此,除了或者代替应用程序特定的剪贴板,实施方式提供上下文特定的限制的剪贴板,不同的应用程序集可访问每个剪贴板。在至少一些配置中,与限制的剪贴板对应的加密密钥或参数可以表示授权应用程序App1和/或App2将数据转移给该剪贴板和/或从该剪贴板中检索数据。
参照图6,在一个示例性配置中,应用程序App1可以访问剪贴板C1、RC1以及RC2,并且应用程序App2可以访问剪贴板C1和RC1,而应用程序App3仅仅可以访问开放剪贴板C1。如下面进一步所解释的,在应用程序将数据转移给剪贴板,以供另外的应用程序检索的情况下,可以根据关于另外的应用程序可以访问剪贴板C1、RC1以及RC2中的哪些的指示,将数据转移给剪贴板C1、RC1或RC2中的一个。例如,在至少一些配置中,响应于应用程序App1或App2的剪贴板操作的请求,请求应用程序App1或App2、或应用程序执行环境、或应用程序包装和/或配置管理器1041可以确定应用程序App1或App2可以访问剪贴板C1、RC1和/或RC2中的哪些。随后,相关的实体可以根据上述预定的标准,选择性地允许数据转移给可访问剪贴板C1、RC1以及RC2中的一个和/或从这个中检索数据。在替换的配置中,用户装置103可以保持记录,该记录包括表示每个应用程序App1和App2可访问的剪贴板C1、RC1和/或RC2的数据,并且根据该记录,选择性地允许数据转移给可访问的剪贴板之一和/或从该剪贴板中检索数据。
现在,参照图7,解释响应于接收应用程序App1转移数据的请求(即剪切或复制剪贴板请求)执行的步骤的概述。首先,相对于限制的剪贴板RC1,以上述第一状态配置应用程序App1,即,App1能够访问限制的剪贴板RC1。响应于从应用程序App1中接收转移数据的请求,应用程序执行环境、或应用程序App1、或应用程序包装和/或配置管理器1041可以根据上述加密密钥Key1,即与限制的剪贴板RC1对应的加密参数将数据加密(s701)。然后,将加密数据提供给限制的剪贴板RC1(s703)。
简单地考虑应用程序App2,并且假设应用程序App2最初相对于限制的剪贴板RC1处于上述第二状态内,将禁止App2访问由应用程序App1放在其上的加密数据。然而,如果随后应用程序App2相对于限制的剪贴板RC1被配置在上述第一状态内,那么该应用程序可访问由应用程序App1放在其上的加密数据。下面进一步解释的是,通过给其供应加密密钥Key1,可以以第一状态配置应用程序App2。
在替换的配置中,响应于从应用程序App1中接收转移数据的请求(即,剪切或复制剪贴板请求)(s705),可以根据上述预定的标准将与请求对应的数据放在开放剪贴板C1上(s707)。这可以发生在应用程序App1需要与不需要访问限制的剪贴板RC1的另外的应用程序(例如,应用程序App2)分享数据的情况下。为了完整性,要注意的是,根据开放剪贴板C1,不需要访问任何限制的剪贴板RC1和RC2的应用程序的剪贴板操作请求被满足。在至少一些配置中,放在开放剪贴板C1上的任何数据项可以与时间限制关联,例如,数据项可以仅仅在开放剪贴板C1上保持几分钟,例如,1、2、5分钟。
响应于应用程序App1检索数据的请求,即,粘贴剪贴板操作请求(s709或713),可以根据用于供应给应用程序App1的上述预定的标准,检索由开放剪贴板C1或一个限制的剪贴板RC1或RC2保持的数据。例如,如果至少一个限制的剪贴板RC1和RC2可访问和/或被配置为仅仅从限制的剪贴板中检索数据项,那么可以从限制的剪贴板RC1和RC2之一中给应用程序App1供应数据项(s711)。或者,如果是在所有可访问的剪贴板C1、RC1和/或RC2上可获得的最新数据项,那么可以从开放剪贴板C1中给应用程序App1供应数据项(s715)。尤其地,可以将具有最新时间戳的数据项供应给应用程序App1,无论是从开放剪贴板C1中还是从一个限制的剪贴板RC1或RC2中检索数据项。
在一个示例性配置中,应用程序App1可以访问限制的剪贴板RC1和RC2。在这种情况下,应用程序App1、应用程序执行环境、应用程序包装和/或配置管理器1041可以根据预定的标准(例如,与各应用程序App1或App2关联的操作状态)促使应用程序App1将数据转移给限制的剪贴板RC1和/或RC2和/或从其中检索数据。例如,如果应用程序App1在处理机密信息的状态中,那么可以禁止使用开放剪贴板C1。在这种情况下,附加或可替换地,可以防止应用程序App1使用限制的剪贴板RC1和/或RC2中的一个。这可以发生在企业网络将其应用程序配置为仅将相应的企业特定的剪贴板EntC用于剪贴板功能的情况下。
可替换地或此外,预定标准可以包括由相应的应用程序供应实体(例如,上述实体203)或相应的应用程序供应储存库(例如,上述储存库303)规定的一个或多个策略。在将应用程序App1和/或App2供应给用户装置103之前,可以配置这种策略,或者随后可以将这种策略供应给用户装置103,用于控制由应用程序App1和/或App2进行剪贴板访问。
可替换地或此外,预定标准可以包括与和转移数据的请求对应的数据项关联的属性。例如,属性可以基于数据类型、尺寸和/或数据包括预定序列的指示。
在应用程序(例如,应用程序App1)需要将数据转移给剪贴板,以供另外的应用程序(例如,应用程序App2)检索的情况下,预定标准可以另外或可替换地包括关于应用程序App2可以访问限制的剪贴板RC1和/或RC2中的哪个的指示。例如,如果应用程序App1可以访问限制的剪贴板RC1和RC2,那么可以将由应用程序App2检索的数据放在应用程序App2可以访问的限制的剪贴板RC1或RC2中的一个上。或者,如果(例如)应用程序App2不能访问任何限制的剪贴板RC1和RC2,那么应用程序App1可以将数据放在开放剪贴板C1,以供应用程序App2检索。
响应于从应用程序App1或App2中接收检索数据的请求,请求应用程序App1或App2、应用程序执行环境、应用程序包装和/或剪贴板管理器1041可以确定与由至少一个可访问的剪贴板C1、RC1和/或RC2保持的一个或多个数据项关联的时间戳。然后,根据时间戳确定,选择可访问的剪贴板C1、RC1或RC2,并且从其中检索数据项,用于供应给请求应用程序App1或App2。如上所述,可以选择具有包括最近的时间戳的数据项的剪贴板C1、RC1或RC2。
在所选择的剪贴板是限制的剪贴板的情况下,应用程序执行环境、应用程序包装和/或剪贴板管理器1041可以根据相应的加密密钥,将所检索的数据项解密,用于供应给请求应用程序App1或App2。在替换的配置中,可以通过加密格式将检索的数据项供应给请求应用程序App1或App2,并且请求应用程序App1或App2可以将加密的数据项解密。
在至少一些配置中,至少一个限制的剪贴板RC1和/或RC2与标识符关联,并且用户装置103、应用程序执行环境、应用程序包装和/或剪贴板管理器1041根据预定的参数,将与限制的剪贴板RC1和/或RC2关联的标识符加密。例如,预定的参数可以包括与用户、用户装置103和/或相应的应用程序App1和/或App2关联的标识符。例如,可以根据相应的企业证书,将与企业特定的剪贴板EntC对应的标识符加密。然后,用户装置103、应用程序执行环境、应用程序包装和/或剪贴板管理器1041可以保持在加密的标识符与其相应的限制的剪贴板RC1或RC2之间的关联,从而避免通过容易受到嗅探攻击的明文格式保持标识符,在该攻击中,恶意应用程序可以监控通信,以找出标识符。
转向图8,在至少一些配置中,响应于从应用程序(例如,应用程序App1或App2)中接收转移数据的请求,请求应用程序App1或App2、应用程序执行环境、应用程序包装和/或剪贴板管理器1041可以根据上述预定标准,选择请求应用程序App1或App2可以访问的一个限制的剪贴板RC1或RC2(s801)。随后,根据与所选择的限制的剪贴板RC1或RC2对应的加密密钥Key1或Key2,将与请求对应的数据加密(s803),并且将加密的数据提供给所选择的剪贴板RC1或RC2(s805)。因此,实施方式选择合适的限制的剪贴板,并且促使将与剪贴板功能请求对应的数据安全地放在所选择的剪贴板上。
在与转移数据的请求对应的数据包括至少两个数据项的情况下,请求应用程序App1或App2、应用程序执行环境、应用程序包装和/或剪贴板管理器1041可以相对于至少一个数据项选择不同的限制的剪贴板RC1或RC2。这种选择可以基于上述预定标准。然后,请求应用程序App1或App2、应用程序执行环境、应用程序包装和/或剪贴板管理器1041可以根据与不同的限制的剪贴板RC1或RC2对应的加密参数,将数据项加密,并且提供加密的数据项来由不同的限制的剪贴板RC1或RC2维护。因此,实施方式可以促使将不同的数据项放在不同的限制的剪贴板上。
在一个示例性设置中,并且如上所述,在请求转移数据的应用程序App1或App2不能访问任何限制的剪贴板RC1和RC2的情况下,可以将与请求对应的数据转移给开放剪贴板C1。
现在,参照图9,描述将应用程序App2配置到第一状态内,其中,能够将数据转移给限制的剪贴板RC1和/或从该剪贴板中检索数据,用于限制的剪贴板RC1与应用程序供应实体203关联的情况。应用程序供应实体203可以选择性地供应的配置消息包括供应用程序App2接收的加密密钥Key1,以便相对于限制的剪贴板RC1,将应用程序App2配置到第一状态内,结果,能够允许其将数据转移给限制的剪贴板RC1和/或从其中检索数据(s901)。应用程序供应实体203可以自动地、或响应于应用程序App2或用户装置103的请求,传输配置消息,以供应用程序App2接收。响应于接收的该消息,应用程序App2、应用程序执行环境、应用程序包装和/或剪贴板管理器1041可以相对于限制的剪贴板RC1,将应用程序App2配置到第一状态内(s903)。随后,并且响应于检索数据的请求,即,粘贴剪贴板功能请求(s905),给应用程序App2提供在s703中由应用程序App1放在限制的剪贴板RC1上的加密数据(s907)。在至少一些配置中,应用程序供应实体203可以保持在加密密钥Key1与相应的限制的剪贴板RC1之间的关联,以便控制对其访问。
实际上,远程实体通过将与其关联的加密密钥选择性供应给一个或多个应用程序,可以控制对给定的基于上下文的限制的剪贴板的访问。通过这种方式,实体(例如,应用程序供应实体)、企业网络、应用程序供应储存库以及远程装置管理器可以控制对来自应用程序的剪贴板功能请求的处理;尤其地,实施方式提供关于远程应用程序管理应用策略的应用程序行为的新控制水平。在这方面,实体(例如,应用程序供应实体203)可以供应一个或多个策略,用于控制与在用户装置103上的应用程序对应的剪贴板功能请求。这种策略可以(例如)由相应的应用程序供应实体或相应的应用程序供应储存库规定。
图10是一个示例性用户装置103的功能方框图。如图所示,用户装置103可以包括处理模块1003、存储模块1004、接收模块1001以及传输模块1002。处理模块1003可以至少在一些方面与(例如)在本文中讨论的处理器对应。存储模块1004可以至少在一些方面与(例如)在本文中讨论的存储器对应。接收模块1001可以至少在一些方面与(例如)在本文中讨论的处理器、接收器和/或收发器对应。传输模块1002可以至少在一些方面与(例如)在本文中讨论的处理器、传输器和/或收发器对应。
图11是一个示例性应用程序供应实体203的功能方框图。如图所示,应用程序供应实体203可以包括处理模块1103、存储模块1104、接收模块1101以及传输模块1102。处理模块1103可以至少在一些方面与(例如)在本文中讨论的处理器对应。存储模块1104可以至少在一些方面与(例如)在本文中讨论的存储器对应。接收模块1101可以至少在一些方面与(例如)在本文中讨论的处理器、接收器和/或收发器对应。传输模块1102可以至少在一些方面与(例如)在本文中讨论的处理器、传输器和/或收发器对应。
图10和图11的模块的功能可以通过与在本文中的教导内容一致的各种方式实现。在一些方面,这些模块的功能可以作为一个或多个电气元件实现。在一些方面,这些模块的功能可以作为包括一个或多个处理器元件的处理***实现。在一些方面,例如,可以使用一个或多个集成电路(例如,ASIC)的至少一部分,实现这些模块的功能。如在本文中所讨论的,集成电路可以包括处理器、软件、其他相关的元件或其某种组合。这些模块的功能还可以通过在本文中教导的某种其他方式实现。
例如,可以至少部分作为供处理器执行的程序指令、作为逻辑电路、作为专用集成电路、作为固件等来实现模块。例如,可以作为一个或多个软件或固件应用程序、计算机实现的方法、储存在计算机可用介质上程序产品,来实现实施方式,用于在一个或多个处理器(例如,CPU、微控制器)或在无线站中的其他计算装置上执行。
更尤其地,根据一些以上实施方式的用户装置103和/或应用程序供应实体203可以被配置为通过执行在计算机可读介质中保持的计算机程序来根据以上一些实施方式操作。计算机可读介质包括计算机储存介质和通信介质,包括促进将计算机程序从一个地方传输到另一个地方的任何介质。储存介质可以是计算机可以访问的任何可用介质。通过实例,而非限制性地,这种计算机可读介质可以包括RAM、ROM、EEPROM、CD-ROM或其他光盘储存器、磁盘储存器或其他磁储存装置、或者可用于通过指令或数据结构的形式传输或储存期望的程序代码的并且可以由计算机访问的任何其他介质。而且,任何连接适当地称为计算机可读介质。例如,如果使用同轴电缆、光纤电缆、双绞线、数字用户线(DSL)或无线技术(例如,红外、无线电以及微波),从网站、服务器或其他远程源中传输软件,那么在介质的定义内包括同轴电缆、光纤电缆、双绞线、DSL或无线技术(例如,红外、无线电以及微波)。在本文中使用的磁盘和圆盘包括光碟(CD)、激光盘、光盘、数字通用光盘(DVD)、软盘以及Blu-rayTM盘,其中,圆盘通常磁性再现数据,同时,圆盘通过激光在光学上再现数据。因此,在一些方面,计算机可读介质可以包括永久的计算机可读介质(例如,有形介质)。此外,在一些方面,计算机可读介质可以包括暂时的计算机可读介质(例如,信号)。还应在计算机可读介质的范围内包括以上内容的组合。
在本文中描述的实施方式要理解为本发明的说明性实例。预见有本发明的进一步实施方式。要理解的是,相对于任何一个实施方式描述的任何特征可以单独地或者与所描述的其他特征相结合地使用,并且还可以与任何其他实施方式的一个或多个特征或任何其他实施方式的任何组合来结合地使用。而且,在不背离在所附权利要求中定义的本发明的范围的情况下,还可以使用上面未描述的等同物和修改。