为软件服务管理用户数据的制作方法

文档序号:11161007阅读:493来源:国知局
为软件服务管理用户数据的制造方法与工艺

随着将软件作为云服务来提供变得越来越普遍,用户经常期望跨其各种设备的一致体验。用户常常期望他们所有的数据(例如,文档、图像等)在其所有设备上都可用。用户还可以具有表示软件体验的个性化的数据(例如,设置文件),并且用户可能期望该个性化数据跨设备可用。

为保护用户的隐私权益,当敏感数据或用户特定数据被存储和递送到各个设备时,可能出现保护数据的问题。保护数据的一种方式是通过使用密码。然而,让用户选择新密码来保护数据给用户带来记住密码的不便,并且很可能用户已经有用于其各种账户的若干密码要记住。



技术实现要素:

基于云的服务的用户特定数据可以通过从用户的生物识别数据可识别的加密密钥来保护,其中用户可以自愿地选择提供生物识别数据,以便获得“保护数据而不必记住密码”的便利性。当将从云服务接收加密的用户特定数据并在用户设备上使用时,在用户设备上运行的客户端软件可以收集(通过用户许可)生物识别数据,例如指纹、掌纹或虹膜图像。可以根据生物识别数据生成度量,并且该度量可以用于取回或生成解密密钥。然后解密密钥用于解密数据。然后可以在给定设备上使用该数据。

为了将用户特定数据与特定密钥相关联,用户的生物识别数据可以与特定群集相关联。可以通过如下来生成群集:取得生物识别数据的样本、为每个样本生成度量以及将样本分配给群集。选择群集可以通过例如以使得群集中项目之间的距离最小化的方式。例如,可以依据来自给出指纹样本的人们的适当许可,从庞大人群收集一组指纹。可以为每个指纹分配度量,然后以使得给定群集中的度量之间的距离最小化或减小的方式来创建群集。可以为每个群集分配解密密钥。然后,密钥、与密钥相关联的群集以及将给定指纹分配给群集的算法对用户设备上的客户端软件可用。当用户自愿给出指纹样本以解锁加密的用户特定数据时,客户端软件从样本生成度量,并确定将指纹将被分配到的群集。然后,软件使用与所述群集相关联的密钥来解密用户的数据。然后,解密后的数据可用于个性化用户体验。

提供该“发明内容”以介绍在后文“具体实施方式”中进一步描述的简化形式的概念选集。该发明内容并不意图识别所要求保护主题的关键特征或必要特征,也不打算用来限制所要求保护主题的范围。

附图说明

图1是可以将数据下载到设备的示例性布置的框图。

图2是一组示例群集的框图。

图3和图4是可以从用户处收集数据的各种方式的框图。

图5是使用数据来访问密码学密钥的示例性设备的框图。

图6是其中可以在设备上使用软件的示例性过程的流程图。

图7是可以结合本文描述的主题的实现方式使用的示例性组件的框图。

具体实施方式

随着将软件作为云服务来提供变得普遍,用户日益期望用于提供跨设备的一致体验的软件。特别地,用户可能期望他们的数据(例如,文档、图像等)在任意设备上都可用,并可能期望任何个性化数据(例如,用户特定设置)跨设备可用。这些类型的数据是敏感的且要被保护。保护数据的一种方式是通过密码,但是当用户订阅的每个服务要求他或她生成、记住和管理新的密码时,这对于用户是不方便的。

避免使用密码的一种方式是以加密方式将数据递送到设备,其中解密密钥可以从生物识别数据中容易地取回或计算出,用户自愿提供所述生物识别数据以交换不必使用密码的便利性。例如,用户可以给出指纹样本,并可以基于该样本生成度量。可能存在一组指纹群集,其中每个群集与特定的解密密钥相关联。可以将用户的样本分配给群集,并且与所述群集相关联的密钥可以用于加密和解密用户数据。(为了保护用户的隐私权益,可以依据从用户处获得的适当许可并在适当公开给用户之后收集和使用指纹样本。)

本文的主题提供了一种利用跨多个设备的软件服务使用用户数据的方式。可以在用户无需生成、记住和管理针对数据的密码的情况下保护数据。用户被要求提供生物识别数据,例如指纹。(为了保护用户的隐私权益,可以向用户提供公开内容,以解释生物识别数据将被用于的目的,并解释服务提供商的关于这样的数据的用途的策略。当然,如果用户认为他的隐私权益比使用生物识别数据来保护他的信息更重要,则用户可以选择不提供这样的数据。)假设用户确实选择提供生物识别数据,则计算基于该数据的度量,并且将该度量用于识别密码学密钥。当将用户的数据从云递送到用户的设备时,接下来所识别出的密码学密钥被用于解密数据。然后,用户可以在所述设备上使用所述数据。所述数据可以是文本文档、图像等,或者可以是用于使用户体验个性化的元数据(例如,设置)。

现在转向附图,图1示出了示例性系统,其中软件可以用作服务,并且其中用户的信息被绑定到生物识别数据(为了保护用户的隐私权益,用户可以在适当公开之后选择自愿提供该生物识别数据)。软件服务102可以是任何类型的软件服务,例如,文字处理器、电子表单、数据库、社交网站、音乐流送服务等。用户可以通过各种设备104、106和108使用软件服务。这样的设备的例子在图1中示出:具体地是个人计算机(设备104)、平板计算机(设备106)和手机(phone)(设备108),尽管这些设备仅是示例,且任意类型的设备(例如,汽车上的计算机/视频控制台、机顶盒等)均可使用。每个设备可以配备有客户端软件110、112和114,以便于在给定设备上使用软件服务102。客户端软件可以仅仅是用户访问软件服务所通过的通用浏览器。或者,作为另一例子,客户端软件可以是特制应用(“app”),其在一定程度上是为软件服务102量身定做的。

客户端软件110-114可以维持一组密码学密钥116,或者可以以其他方式能够访问该组密码学密钥116。对密码学密钥116的访问可以采取存储于给定设备上的密钥数据库的形式,或者可以采取允许从一些其它数据(例如,根据在适当公开之后用户自愿提供的生物识别数据)构造或重构给定密钥的算法的形式。客户端软件110-114可以维持在密钥和生物识别数据(例如指纹)之间的关联118。如果密钥是以数据库形式存储的,则可以存在将给定密钥与给定数据片段明确地相关联的元数据。如果密钥是从生物识别数据生成的,则在密钥和数据之间的关联118可以是隐含的,鉴于密钥能够从数据生成这一事实。

在使用软件服务102期间的某一时刻,用户特定数据120可以被下载到设备102、104或106之一。用户特定数据120可以是要与软件一起使用的用户文件—例如,文本文档(在软件是文字处理器的情况下);电子表单(在软件是电子表单应用的情况下);绘图、音乐、视频(在软件是绘图应用、音乐播放器或编辑器、或者视频播放器或编辑器的情况下);等等。在另一例子中,用户特定数据120可以是元数据,例如用户设置—例如,表示用户所选背景颜色、字体、缩放水平、段落缩进水平(在文字处理器的情况下)、压缩格式(在音乐或视频编辑器的情况下)、或可能对于用户为特定的任意其它设置。可以使用任何适当类型的用户特定数据120。

用户特定数据120可以被以加密形式递送到设备104-108。如上文所讨论的解密密钥116可以用于恢复用户特定数据的清晰版本。为了恢复用户特定数据120,客户端软件110(或在设备104-108上的一些其它软件)可以从用户处征求生物识别信息,例如,指纹或虹膜扫描。为了保护用户的隐私权益,在征求到生物识别数据时,可以关于用户正被要求提供的信息的本质以及该数据将被用来做什么告知用户(例如,通过对话框)。或者,如果用户被频繁地要求提供生物识别数据,则可能通过周期性地“刷新”提醒,来将风险一次告知用户。

图2示出了生物识别数据群集的例子。在图示例子中,生物识别数据202是指纹,但是可以使用其它形式的生物识别数据,例如,虹膜图像。图2所示的生物识别数据可以是已从公共数据库中获得的,在所述公共数据库中,为保护人们的隐私权益,人们在公开之后自愿提供了其指纹的样例。图2的指纹被分配到群集204、206、208和210。在一个例子中,度量是基于每个指纹(或其它生物识别数据片段)计算的,并且群集边界是以使群集中的一些统计(例如,距离平方和或方差)最小化的方式选择的。一旦这些边界被选择,则边界表示关于如何通过计算度量然后确定该度量所仿射的群集以将任何给定指纹(或其它生物识别数据)分配给群集的规则。这样,可以将任意指纹分配给群集之一。

群集204-210中的每一个与密码学密钥相关联。在所示出的例子中,群集204、206、208和210分别与密钥212、214、216和218相关联。与群集相关联的密钥可以用于以下文结合图6描述的方式恢复用户特定数据。

图3和图4示出了可以从用户处收集指纹的各种示例性方式。在图3中,设备302是智能手机或平板计算机。设备302具有触摸屏304。用户可以将手指306抵靠触摸屏304按压(在被请求这样做时),由此允许触摸屏304读取用户的指纹。在图4中,设备402是配备有指纹读取器404的膝上型计算机。用户可以利用指纹读取器404扫描手指(在被请求这样做时),以使得设备402可以收集指纹,从而为用户提供“访问其用户特定数据而用户不必输入密码”的便利性。应当理解的是,设备可以以不同方式收集生物识别数据—例如,设备可以配备有能够用于捕捉虹膜图像的摄像机。

图5示出了使用生物识别数据访问密码学密钥的示例性设备。(在图1中介绍的)设备104包括客户端软件110。如以上结合图3和4所示,设备(诸如设备104)可以从用户处收集指纹(为保护用户的隐私权益,这可以在公开和同意之后完成)。一旦已经收集了指纹502,则可以将指纹502提供给指纹度量软件504,其可以生成指纹度量506。指纹度量506然后可以被提供回客户端软件110。客户端软件110然后可以使用指纹度量506来查找指纹数据库508中的密钥510。指纹数据库可以将密钥与指纹度量的特定群集相关联。如上文结合图2所讨论的,各种群集的边界可以被妥善定义,从而能够根据给定指纹度量来确定度量属于哪个群集,并因此确定哪个密钥与给定指纹相关联。

图6示出了示例性过程,其中用户特定数据可以在设备上使用,这是通过使用诸如(用户可在适当的公开和同意之后自愿提供的)指纹等生物识别数据来促进的。在602处,用户使用设备上的软件服务。设备可以是台式计算机,膝上型计算机、平板计算机、智能手机、机顶盒、汽车计算机、可穿戴计算机,等等。如上所讨论的,软件服务可以通过云来提供。在604处,在用户设备上的客户端软件可以接触软件服务,以取回用户特定数据。用户特定数据的例子包括用户文件(例如,文本文档、图像等)和/或表示用户特定设置的元数据。在606处,设备可以(从云中的软件服务处,或者从任意其它适当位置处)接收处于加密形式的用户特定数据。

在608处,设备可以从用户处收集生物识别信息,例如指纹。在610处,设备上的软件可以基于指纹生成度量。在612处,设备上的软件基于度量取回或生成适当的密码学密钥。如果度量未能清楚无疑地仿射(affine)特定的密钥群集(例如,“(如果在密钥和若干群集之间的距离相同或接近相同)”),则可以考虑对于该度量是可能的匹配的任意密钥,并且这些密钥可以逐一地应用于加密数据,直到发现正确的密钥。在614处,软件使用密钥来解密提供给设备的用户特定数据。在616处,用户继续使用设备上的软件服务,但却是借助于用户特定数据,用户特定数据现在已被使得对设备可用。

图7示出了可以部署本文描述的主题的各方面的示例性环境。

设备700(其中,智能手机、平板计算机、机顶盒、汽车计算机、可穿戴计算机等是例子)包括一个或多个处理器702以及一个或多个数据记忆组件704。处理器702通常是微处理器,例如在个人台式计算机或膝上型计算机、服务器、手持计算机或另一种计算设备中发现的那些。数据记忆组件704是能够短期或长期存储数据的组件。数据记忆组件704的例子包括硬盘、可移除盘(包括如CD或DVD等光盘,以及磁盘)、易失性和非易失性随机存取存储器(RAM)、只读存储器(ROM)、闪存、磁带等。数据记忆组件是计算机可读存储介质的例子。设备700可以包括显示器712或与其相关联,显示器712可以是阴极射线管(CRT)监视器、液晶显示(LCD)监视器或任意其它类型的监视器。

软件可以存储于数据记忆组件704中,并可以在一个或多个处理器702上执行。这样的软件的例子是用户特定的数据安全软件706,其可以实现上文结合图1-6描述的一些或所有功能,尽管也可以使用任意类型的软件。软件706可以例如通过一个或多个组件实现,所述组件可以是在分布式系统、单独文件、单独功能、单独对象、单独代码行等中的组件。在其中程序存储于硬盘中、加载到RAM内并在计算机处理器上执行的计算机(例如,个人计算机、服务器计算机、手持计算机等)代表图7描述的场景,但是本文描述的主题不限于该例子。

本文描述的主题可以实现为存储于一个或多个数据记忆组件704中并在一个或多个处理器702上执行的软件。作为另一例子,主题可以实现为存储于一个或多个计算机可读介质上的指令。这种指令在被计算机或其它机器执行时,可以使得计算机或其它机器执行方法的一个或多个动作。执行动作的指令可以存储于一个介质上,或者可以分散在多个介质上,从而指令可以集体地出现在一个或多个计算机可读介质上,而不管是否所有的指令碰巧都在同一介质上。术语“计算机可读介质”不包括信号本身;其也不包括单独作为传播信号存在的信息。计算机存储介质包括易失性和非易失性、可移除和不可移除介质,其实现于用于存储信息(例如,计算机可读指令、数据结构、程序模块或其它数据)的任意方法或技术中。计算机存储介质包括但不限于,RAM、ROM、EEPROM、闪存或其它存储器技术、CD-ROM、数字通用盘(DVD)或其它光存储设备、磁带盒、磁带、磁盘存储设备或其它磁存储设备、或者可以用于存储以供计算设备访问的信息的任意其它非传输介质。“存储介质”是存储信息的介质。术语“存储设备”用于表示数据的持久保留。为了本文的主题,只以传播信号的形式存在的信息不被认为是“持久”保持的。因此,“存储介质”包括盘、RAM、ROM等,但是不包括只以传播信号形式存在的信息,因为这种信息不是“存储的”。相比之下,通信介质可以在已调制数据信号(例如载波、或其它传输介质)中实现计算机可读介质、数据结构、程序模块或其它数据。如本文定义的,计算机存储介质不包括通信介质。

另外,本文描述的任意动作(无论是否在图中示出)可以由处理器(例如,处理器702中的一个或多个)作为方法的一部分执行。因此,如果本文中描述了动作A、B和C,则可以执行包括动作A、B和C的方法。此外,如果本文中描述了动作A、B和C,则可以执行包括使用处理器来执行动作A、B和C的方法。

在一个示例性环境中,设备700可以通过网络708通信地连接到一个或多个其它设备。设备710类似于设备700的结构,其是可以连接到设备700的设备的例子,尽管其它类型的设备也可以这样连接。

虽然以特定于结构特征和/或方法动作的语言描述了主题,但是应理解的是,在所附权利要求中定义的主题不必限于上述特定特征或动作。相反地,将上述描述的特定特征和动作公开为实现权利要求的示例性形式。

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