根据企业信息控制策略的带有密钥和数据交换的安全应用程序生态系统的制作方法
【技术领域】
[0001]本公开一般涉及计算机安全,更具体地,涉及提供一种应用程序的安全生态系统,所述应用程序根据企业信息控制策略来安全地交换加密数据,而不允许来自生态系统外部的非授权访问。
【背景技术】
[0002]随着个体拥有和携带诸如智能手机和平板电脑的移动计算设备变得越来越普遍,人们想要自由地将自己的设备用于工作和个人用途(这种方式有时被称为“带上自己的设备型式”)。用户熟悉且适应自己的设备,不想针对工作而学习怎样操作或携带第二台设备。同时,当在非企业的设备上访问和处理机密信息时,企业拥有对企业机密信息的处理进行控制的合法需求。
[0003]任何计算平台上的生产工作均依赖于相同的数据被多个应用程序安全访问以及在多个应用程序之间被交换的能力,其中每个应用程序适用于该交互的不同方面。然而,雇主想要根据企业信息控制策略来限制对企业机密数据的访问和使用。此外,一些用户(例如,顾问或那些有多个雇主的用户)想要针对其与多个组织的职业关系而使用其个人计算设备,其中这些组织中的每一者均拥有独立的信息控制要求。
[0004]这些问题需要得到解决。
【发明内容】
[0005]在计算机,例如移动计算设备上,提供了一种安全生态系统。属于生态系统成员的多个应用程序根据企业的信息控制策略安全地交换加密数据,而不允许生态系统外部的非授权访问。本文中称为生态系统代理的特定生态系统应用程序在计算设备上创建生态系统目录。在一个实施例中,基于生态系统的名称,在计算设备上的一位置处创建生态系统目录。生态系统目录包含针对生态系统中每个特定应用程序(包括生态系统代理)的条目。每个目录条目包括关于特定应用程序的策略信息和识别信息。例如,此类条目可包含:1)针对特定应用程序的策略,2)使特定应用程序获得策略更新的信息,以及3)关于特定应用程序的使生态系统中的其他应用程序与该特定应用程序安全地进行加密数据通信的信息。在一个实施例中,使其他应用程序与该特定应用程序安全地进行加密数据通信的信息为特定应用程序的包标识符或包名称、特定应用程序的地址、特定应用程序的公用密钥(并且在一些实施例中,为用于加密特定应用程序的公用密钥的全生态系统范围的对称加密密钥)、特定应用程序支持的介质类型以及特定应用程序的本地化标题的形式。
[0006]在一个实施例中,计算设备上针对生态系统成员资格而配置的每个特定应用程序生成非对称密钥对,该特定应用程序只与生态系统中的应用程序共享该非对称密钥对中的公用密钥,而该特定应用程序完全不共享该非对称密钥对中的私用密钥。生态系统代理可使用其私用密钥加密生态系统目录,使得需要生态系统代理的公用密钥来解密生态系统目录。在一个实施例中,生态系统代理还生成全生态系统范围的对称加密密钥,其用于加密和解密生态系统应用程序的公用密钥,从而进一步阻止从生态系统的外部访问生态系统应用程序的公用密钥。
[0007]生态系统内的应用程序之间安全地传送数据,使得所传送的数据在没有生态系统内部授权的情况下无法从生态系统的外部访问。生态系统应用程序之间的安全通信可包括用第一密钥由生态系统内的提供方应用程序加密数据,使得生态系统内的任何接收方应用程序可使用第二密钥来解密数据。更具体地,为了与单个生态系统应用程序安全地传送数据,这可采用第一生态系统应用程序从生态系统目录读取第二生态系统应用程序的公用密钥的形式。第一生态系统应用程序使用第二生态系统应用程序的公用密钥来加密消息或数据对象以安全地传送到第二生态系统应用程序。第一生态系统应用程序与第二生态系统应用程序进行加密消息或数据对象通信或共享,且第二生态系统应用程序使用自有私用密钥将加密消息或数据对象解密。为了将数据安全地传送到多个生态系统应用程序,第一生态系统应用程序可使用其自有私用密钥来加密消息或数据对象。然后,第一生态系统应用程序可与多个其他的目标生态系统应用程序进行加密消息或数据对象通信或共享。接收方生态系统应用程序可从目录读取第一生态系统应用程序的公用密钥,并使用第一生态系统应用程序的公用密钥来解密消息或数据对象。生态系统中的每个特定应用程序都遵循企业信息控制策略。这可采用生态系统中每个特定应用程序从生态系统目录读取其策略并且然后遵循其策略的形式。在一些实施例中,生态系统应用程序还可从企业接收策略更新,并且遵循所接收的策略更新。
[0008]在计算设备上针对生态系统成员资格而配置但不是生态系统成员的应用程序可使用加入生态系统的请求来调用生态系统代理。生态系统代理验证寻求加入的应用程序的信任状态,如果成功则将新应用程序添加到生态系统。这可采用针对新的应用程序将条目写入生态系统目录的形式,写入的条目至少包括与新应用程序有关使生态系统中其他应用程序将加密数据安全地传送到新应用程序的信息。生态系统代理可向新应用程序提供其自有公用密钥,从而使新应用程序使用生态系统代理的公用密钥来解密目录。在其中生态系统代理的公用密钥自身由生态系统范围内的对称加密密钥进行加密的实施例中,生态系统代理还向新应用程序提供生态系统范围内的对称加密密钥,使得新应用程序可解密生态系统代理的公用密钥。新加入的应用程序读取其目录条目,从目录获得它的策略,并遵循其获得的策略。在一些实施例中,新加入的应用程序还验证生态系统代理的信任状态,并且只有在生态系统代理被验证是值得信任时才继续加入生态系统。
[0009]列表可维护为基础介质类型与用于基于基础介质类型处理生态系统特定加密格式的内容的功能之间的映射。列表可用于基于基础介质类型正确地处理生态系统特定加密格式的生态系统特定加密消息和对象。计算设备外部的组件也可为生态系统的成员,其中外部组件为生态系统应用程序提供服务。此类外部组件可从企业直接接收密钥和策略,并遵循接收的策略。
[0010]本
【发明内容】
和以下【具体实施方式】中所述的特征和优点并不包括全部,并且特别地,相关领域的普通技术人员在考虑其附图、说明书和权利要求书后,许多另外的特征和优点将显而易见。此外,应该指出的是,说明书中所用的语言主要被选择用于可读性和指导目的,而不是被选择用来限定或限制本发明的主题,必需借助权利要求书确定此发明主题。
【附图说明】
[0011]图1为根据一些实施例的示例性网络体系结构的框图,安全生态系统组件可在该示例性网络体系结构中实施。。
[0012]图2为根据一些实施例的适用于实施安全生态系统组件的计算机系统框图。
[0013]图3为根据一些实施例的在计算设备的安全生态系统情景下提供安全生态系统组件功能的高级概览的框图。
[0014]图4A为根据一些实施例的示出生态系统应用程序的安全生态系统组件的模块的框图。
[0015]图4B为根据一些实施例的示出生态系统代理的安全生态系统组件的模块的框图。
[0016]图5为根据一些实施例的安全生态系统的操作的框图。
[0017]图6为根据一些实施例的与外部组件接合的安全生态系统的操作的框图。
[0018]图7为根据一些实施例的安全生态系统的操作的流程图。
[0019]这些图仅出于举例说明的目的来示出各种实施例。本领域技术人员根据下列讨论将易于认识到,在不脱离本文所述原理的情况下,可采用本文所述的结构和方法的替代实施例。
【具体实施方式】
[0020]图1为框图,示出了示例性网络体系结构100,安全生态系统组件101可在该示例性网络体系结构中实施。。所示网络体系结构100包括多个客户端103A、103B和103N,以及多个服务器105A和105N。在图1中,安全生态系统组件101被示为驻存在客户端103A上,后端组件109驻存在服务器105A上。应当理解这仅是例子,并且在各种实施例中该系统101的各种功能可在客户端103、服务器105上被实例化,或可在多个客户端103和/或服务器105之间分发。
[0021]客户端103和服务器105可使用计算机系统210(例如图2所示和下文所述的计算机系统)实施。客户端103和服务器105可通信地联接到网络107,例如经由以下结合图2所述的网络接口 248或调制解调器247进行。客户端103能够使用例如网页浏览器或其他客户端软件(未示出)访问服务器105上的应用程序和/或数据。客户端103可以但不需要为移动计算设备的形式,包括能够连接到网络107以及运行应用程序的便携式计算机系统210。此类移动计算设备有时被称为智能手机,但多数未如此命名的移动电话也有这些功能。平板电脑和笔记本电脑为移动计算设备的其他例子。
[0022]虽然图1示出了三个客户端103和两个服务器105作为例子,但实际上可部署更多(或更少)客户端103和/或服务器105。在一个实施例中,网络107为互联网的形式。可在其他实施例中使用其他网络107或基于网络的环境。
[0023]图2为计算机系统210的框图,该计算机系统210适于实施安全生态系统组件101。客户端103和服务器105都可以此类计算机系统210的形式实施。图2所示类型的计算机系统210可以但不需要是移动计算设备的形式。如图所示,计算机系统210的一个组件是总线212。总线212可通信地耦合计算机系统210的其他组件,诸如至少一个处理器214 ;系统存储器217(例如,随机存取存储器(RAM)、只读存储器(ROM)、快闪存储器);输入/输出(I/O)控制器218 ;音频输出接口 222,其可通信地耦合到外部音频设备,诸如扬声器系统220 ;显示适配器226,其可通信地耦合到外部视频输出设备,诸如显示屏224 ;—个或多个接口,诸如串行端口 230、通用串行总线(USB)插座230、并行端口(未示出)等;键盘控制器233,其可通信地耦合到键盘232 ;存储接口 234,其可通信地耦合到至少一个硬盘244 (或其他形式的磁介质);主机总线适配器(HBA)接口卡235A,其被配置为与光纤通道(FC)网络290连接;HBA接口卡235B,其被配置为连接到SCSI总线239 ;光盘驱动器240,其被配置为接收光盘242 ;鼠标246 (或其他指示设备),其例如经由USB插座228耦合到总线212 ;调制解调器247,其例如经由串行端口 230耦合到总线212 ;以及网络接口 248,其例如直接耦合到总线212。
[0024]其他组件(未示出)可以类似方式连接(如,文件扫描仪、数字相机、打印机等等)。相反地,图2中所示的所有组件不需要都存在。可以使用与图2中所示方法不同的方法来互连这些组件。
[0025]总线212允许处理器214与系统存储器217之间的数据通信,如上所指出的,所述系统存储器可包括ROM和/