在网络中保持用户数据隐私的制作方法

文档序号:7739466阅读:190来源:国知局
专利名称:在网络中保持用户数据隐私的制作方法
技术领域
本发明的实施例一般地涉及在网络中存储用户的个人数据,并且更具体地涉及ー种用于在网络中保持用户的存储的个人数据的隐私的装置和方法。
背景技术
移动设备经常视为用于通信、商业和娱乐的重要个人设备。它们可以收集与它们的用户有关的各种数据或者信息,比 如位置、移动应用使用信息、通信统计、设备连通状态、web服务访问统计以及用户个人活动等。同吋,已经开发多种在线服务,这些服务尝试收集移动用户的个人数据以便提供所需服务,并且更具体地提供基于用户数据挖掘的个人化移动服务。例如,基于移动用户位置的服务已经表现商业潜力。信誉服务可以基于广泛收集的用户反馈和软件/应用使用统计来提供关于可下载软件(例如,移动)应用的个人化推荐。这些和其它相似类型的服务一般应用集中服务中心以从用户的移动电话收集用户的个人数据,然后基于收集的数据提供服务。该服务中心可以部署于广域网(比如因特网)之上并且可能易受各种内部和外部攻击。在实践中,用户可能犹豫将他们的个人数据共享给服务提供商的位于不安全网络中的服务中心。隐私经常被声称为该犹豫的主要考虑。首先,服务中心可能遭受其中用户的个人数据可能被未授权个人访问的内部或者外部攻击。其次,即使服务中心恰当运行,仍然可以根据存储于服务中心数据库中的可访问数据记录来推导ー些个人数据。

发明内容
鉴于前述背景,本发明的示例实施例涉及ー种用于在服务中心或者其它装置处保持用户数据的隐私以便克服数据库读取攻击和用户数据跟踪攻击的装置和方法。本发明的示例实施例可以防止或減少服务中心学习或者跟踪关于在服务中心的数据库中维护的用户数据记录的信息。可以使用假名来藏匿和/或借助随机初始化矢量来加密可以用来链接与相同用户关联的任何两个用户记录的信息。根据本发明的示例实施例,可以向已授权用户分配独立秘密密钥(用于假名生成和加密)从而满足高级和动态的可追溯要求,这可以允许使用代理重新加密技术的高效密钥管理和权限撤回。本发明的示例实施例可以后向兼容于服务中心的现有通信协议和数据库方案,并且可以不对物理基础设施施加任何额外要求。另外,本发明的示例实施例可以用如下方式运用安全管理器,该方式与在线安全管理器相比可以减少成本,并且在线安全管理器还可能让用户感觉更繁琐。根据本发明的示例实施例的ー个方面,提供ー种包括处理器和存储器的装置,存储器存储可执行指令,可执行指令响应于由处理器执行来使装置至少执行多个操作。操作包括在装置(例如,服务中心)接收假名和加密的标识符,其中假名属于具有唯一标识符的用户的个人数据。已经使用第一秘密密钥来生成假名,并且已经通过使用第二秘密密钥加密标识符来生成加密的标识符。第一秘密密钥和第二秘密密钥为被授权访问数据的其他用户所知,而不为装置所知。操作还包括将个人数据在假名之下存储在数据库中,并且由加密的标识符编索引。已授权用户然后可以基于假名和加密的标识符查询数据库来取回个人数据。更具体而言,存储器可以存储可执行指令,可执行指令响应于由处理器执行来使装置进ー步执行从已授权用户接收针对个人数据的查询,其中查询包括均已经由已授权用户生成的假名和加密的标识符。操作然后可以包括基于假名和加密的标识符从数据库取回个人数据;并且准备个人数据用于向已授权用户发送。可以接收用于多个用户的相应假名和加密的标识符。在这样的实例中,个人数据可以在相应的假名之下存储于数据库中,并 且由相应的加密的标识符编索引。也在这样的实例中,查询可以包括针对用户中的ー些用户的个人数据的查询,并且可以包括相应用户的假名和加密的标识符。根据本发明的示例实施例的另一方面,提供ー种包括处理器和存储器的装置,存储器存储可执行指令,可执行指令响应于由处理器执行来使装置至少使用第一秘密密钥来生成用户的个人数据的假名并且使用第二秘密密钥来加密用户的唯一标识符。该实施例的装置被配置成准备假名和加密的标识符用于向远程装置发送以便将个人数据在假名之下存储于数据库中,并且由加密的标识符编索引。第一秘密密钥和第二秘密密钥为被授权访问数据的一个或者多个其他用户所知,但是不为远程装置所知。根据本发明的示例实施例的又一方面,该装置(例如,服务中心)可以包括处理器和存储可执行指令的存储器,可执行指令响应于由处理器执行来使装置进ー步执行多个操作。这些操作可以包括接收已经通过使用第二装置(例如,安全管理器)的公共密钥加密第一秘密密钥和第二秘密密钥来生成的加密的第一秘密密钥和第二秘密密钥。附加操作还可以包括创建已经使用已授权用户的公共密钥以及第ニ装置(例如安全管理器)的公共密钥和私有密钥来生成的重新加密密钥;并且使用重新加密密钥来重新加密加密的第一秘密密钥和第二秘密密钥以便使它可由已授权用户的私有密钥解密。并且附加操作可以包括准备重新加密的第一秘密密钥和第二秘密密钥用于向已授权用户发送,其中已授权用户被配置成使用已授权用户的私有密钥来解密重新加密的密钥以由此获得第一秘密密钥和第ニ秘密密钥。该装置可以被配置成执行的更多操作包括接收访问控制策略(例如从第二装置),访问控制策略向一个或者多个已授权用户批准对个人数据的访问。生成重新加密的第一秘密密钥和第二秘密密钥以及准备该密文用于发送然后可以根据访问控制策略来发生。


已经这样用一般术语描述本发明的实施例,现在将參照未必按比例绘制的附图,并且其中图I图示了根据本发明的示例实施例的一般通信环境;图2图示了根据本发明的各种示例实施例的可以被配置成在图I的网络架构内操作的装置;图3图示了根据本发明的示例实施例的与服务提供商的服务中心交互的移动终端的功能框图;并且
图4图示了包括本发明的示例实施例的方法中的各种操作的流程图。
具体实施例方式现在下文将參照其中示出了本发明的ー些但是并非所有实施例的附图更完全描述本发明的示例实施例。实际上,本发明可以用许多不同形式来体现而不应解释为限于这里阐述的实施例;实际上,提供这些实施例使得本公开内容将满足适用法律要求。相似參考标号通篇指代相似要素。这里可以參照特定系统、架构等特有的术语,但是应当理解本发明的示例实施例可以同样适用于其它相似系统、架构等。例如这里可以在自组(ad-hoc)网络的上下文中示出和描述本发明的示例实施例;但是应当理解本发明的示例实施例可以同样应用于其它类型的分布式网络( 比如网格计算、遍布式计算、普遍计算、对等、用于web服务的云计算等)中。术语“数掘”、“内容”、“信息”和相似术语根据本发明的一些示例实施例可以互换用来指代能够发送、接收、操作和/或存储的数据。术语“网络”可以指代一组互连计算机或者其它计算设备。在网络内,这些计算机或者其它计算设备可以通过各种手段(包括经由一个或者多个交换机、路由器、网关、接入点等)来直接或者间接互连。另外,如这里所用,术语“电路”指代以下各项中的任何或者所有项(a)仅硬件的电路实施方式(比如在仅模拟和/或数字电路中的实施方式);(b)电路与软件(和/或固件)的组合,比如(如适用的那样)(i)处理器的组合或者(ii)处理器/软件(包括数字信号处理器)、软件和存储器的如下部分,这些部分一起工作以使装置(比如移动电话或者服务器)执行各种功能;以及(C)如下电路(比如微处理器或者微处理器的部分),这些电路需要用于操作的软件或者固件(即使该软件或者固件不在物理上存在))。“电路”的该定义适用于该术语在本申请中(包括在权利要求书中)的所有使用。作为又ー示例,如在本申请中所用,术语“电路”也将覆盖仅ー个处理器(或者多个处理器)或者处理器的部分及其附带软件和/或固件的实施方式。术语“电路”也将例如并且如果适用于特定权利要求要素则覆盖基带集成电路或者用于移动电话的应用处理器集成电路或者在服务器、蜂窝网络设备或者其它网络设备中的相似集成电路。图I图示了本发明的示例实施例可以应用于其中的一般通信环境。该通信环境包括三个交互域用户设备域100、包括若干无线电接入网络110的接入域和包括核心网120的主干域。上述通信环境可以包括移动网络和一个或者多个短程无线网络,并且因此可以包括一个或者多个基站130 (或者节点B単元)、接入点140等。这些网络的示例可以包括3GPP无线电接入网、通用移动电话系统(UMTS)无线电接入UTRAN(通用地面无线电接入网)、全球移动通信系统(GSM)无线电接入网、码分多址(CDMA) 2000无线电接入网、无线局域网(WLAN)(比如 IEEE 802. xx 网络(例如,802. Ila,802. Ilb,802. Hg,802. Iln 等))、全球微波接入互操作性(WiMAX)网络(IEEE 802. 16)和/或无线专用网(WPAN)(比如IEEE802. 15、蓝牙、蓝牙的低功率版本、红外线(IrDA)、超宽带(UWB)、Wibree、Zigbee等)。3GPP无线电接入网可以例如包括3G或者3. 9G(也称为UTRAN长期演进(LTE)或者超3G)或者E-UTRAN(演进型UTRAN)网络。一般而言,无线电接入网可以指代任何2G、3G、4G或者更高代的移动通信网络及其不同版本、射频(RF)或者多个不同无线网络中的任何无线网络以及可以被布置成与这样的网络相互工作的任何其它无线无线电接入网络。用户设备域100可以包括多个移动終端101。在该上下文中,終端可以是多模终端。多模终端这里指代具有至少两个操作模式(即基于不同连通标准的至少两个无线电接ロ)的終端。虽然可以提供ー个操作模式用干 与移动网络通信,但是终端也可以具有其中终端的短程无线电可以活跃的一个或者多个其它操作模式。終端可以具有关于每个操作模式的不同状态,并且并行允许的状态依赖于终端的实施方式。虽然在图I中未具体示出,但是移动终端101也可以形成如下自组网络,在这些自组网络中,終端可以比如根据上述方式(无线电接入网络可以被配置成通过这些方式通信)中的各种方式相互直接或者间接通信。在这样的实例中,自组网络可以包括如下干线节点(trunk node),该干线节点被配置成与无线电接入网络的基站130或者接入点140通信,并且配置成与至少ー个其它自组节点(干线节点充当用于该自组节点的接入点或者网关)通信。其它节点可以位于与干线节点的不同距离(如作为在节点与干线节点之间的跳跃数目来測量)处。也就是说,干线节点无需具有与每个其它节点的直接连接。在这样的实例中,在干线节点与自组节点之间的消息可以与干线节点隔开比一个跳跃更远并且可以由一个或者多个中间自组节点中继。因此,在由干线节点服务的子网络中,连接可以涉及到终端节点和ー个或者多个中间节点。自组节点也可以形成不同子网络。干线节点也可以服务于多个自组网络并且具有不同无线电接ロ。除了移动终端之外,自组网络也可以包括一个或者多个如下无线路由器,该无线路由器也可以承担干线节点的职责。无线路由器也可以位于接入域中,在该情况下自组网络可以渗透到接入域中。无线电接入网络110和/或核心网络120还可以连接到ー个或者多个外部网络(比如因特网)。核心网络和/或外部网络(和/或一个或者多个自组网络)可以包括ー个或者多个如下服务提供商,该服务提供商可以操作对应服务中心150以向其它装置(比如移动终端101)提供相应服务。并且根据本发明的示例实施例,这些服务中心中的一个或者多个服务中心可以连接到ー个或者多个安全管理器160或者否则被配置成与一个或者多个安全管理器160通信。如图所示,安全管理器从核心网络离线并且还可以从外部网络离线,但是应当理解安全管理器在各种实例中可以代之以连接到核心网络和/或外部网络。根据本发明的示例实施例,服务提供商提供的服务可以包括如下服务,这些服务依赖于或者否则运用其它装置的用户的个人数据。这些服务的示例可以包括基于位置的服务(这些服务可以依赖于或者否则运用对接收服务的装置的位置的指示)、信誉服务(这些服务可以依赖于或者否则运用用户反馈和软件和/或应用使用统计以提供关于可下载软件(例如,移动)应用的个人化推荐)等。服务提供商提供的服务和下层个人数据可由已授权用户访问,但是对于未授权用户而言一般不可访问。已授权用户可以是移动終端101的用户或者位于核心网络120中或者别处的其它方。现在參照图2,该示了配置成执行这里描述的各种功能的根据本发明示例实施例的装置200。如这里示出和描述的那样,示例装置可以被配置成作为图I中描绘的网络部件中的一个或者多个部件(例如,移动终端101 (例如包括已授权用户)、基站130、接入点140、服务中心150、安全服务器160等)来工作或者否则实施该所述部件,并且有时可以由相应部件的用户引用。图2中描绘的示例装置也可以被配置成执行本发明的示例方法(比如关于图4描述的方法)。
在一些示例实施例中,装置200可以是、体现为或者被包括为具有有线或者无线通信能力的通信设备的部件。就该点而言,该装置可以被配置成根据如这里描述的ー个或者多个网络元件的功能来操作。示例装置可以包括一个或者多个处理器210、存储器设备220、输入/输出(I/O)接ロ 230、通信接ロ 240和/或用户接ロ 250 (示出了各项的ー个)或者否则与它们通信。处理器可以体现为用于实施本发明的示例实施例的各种功能的各种装置,例如包括微处理器、协同处理器、控制器、专用集成电路(如例如ASIC(专用集成电路))、FPGA(现场可编程门阵列)或者硬件加速器、处理电路等。根据ー个示例实施例,处理器可以代表配合操作的多个处理器或者一个或者多个多核处理器。另外,处理器可以包括用于有助于执行这里描述的功能的多个晶体管、逻辑门、时钟(例如,振荡器)、其它电路等。处理器可以包括但是不一定包括一个或者多 个附带数字信号处理器。在ー些示例实施例中,处理器被配置成执行存储于存储器设备中的指令或者否则可由处理器访问的指令。处理器可以被配置成操作使得处理器使该装置执行这里描述的各种功能。无论是作为硬件或者经由存储于计算机可读存储介质上的指令或者通过其组合来配置,处理器210可以是能够在被相应配置之时根据本发明的实施例执行操作的实体。因此,在其中处理器体现为AS IC、FPGA等或者是AS IC、FPGA等的部分的示例实施例中,处理器是用于进行这里描述的操作的具体配置的硬件。取而代之,在其中处理器体现为存储于计算机可读存储介质上的指令的执行器的示例实施例中,指令具体配置处理器以执行这里描述的算法和操作。在一些示例实施例中,处理器是如下具体设备的处理器,通过经由执行的用于执行这里描述的算法、方法和操作的指令进ー步配置处理器来配置该设备用于运用本发明的示例实施例。存储器设备220可以是可以包括易失性和/或非易失性存储器的一个或者多个计算机可读存储介质。在一些示例实施例中,存储器设备包括随机存取存储器(RAM)(包括动态和/或静态RAM、片上或者片外高速缓存存储器等)。另外,存储器设备可以包括可以嵌入和/或可拆卸的非易失性存储器,并且可以例如包括只读存储器、闪存、磁存储设备(例如硬盘、软盘驱动、磁带等)、光盘驱动和/或介质、非易失性随机存取存储器(NVRAM)等。存储器设备可以包括用于暂时存储数据的高速缓存区域。就该点而言,可以在处理器210内包括至少部分或者整个存储器设备。另外,存储器设备220可以被配置成存储用于使处理器210和示例装置200能够根据这里描述的本发明的示例实施例实现各种功能的信息、数据、应用、计算机可读程序代码指令等。例如存储器设备可以被配置成缓冲输入数据用于由处理器处理。除此之外或者取而代之,存储器设备可以被配置成存储用于由处理器执行的指令。可以安全保护存储器而保证存储于其中的数据的完整性。就该点而言,可以用认证来校验并且基于访问控制策略来授权数据访问。I/O接ロ 230可以是配置成使处理器210与其它电路或者设备(比如通信接ロ 240和/或用户接ロ 250)对接的、用硬件、软件或者硬件与软件的组合体现的任何设备、电路或者装置。在一些示例实施例中,处理器可以经由I/O接ロ来与存储器设备对接。I/O接ロ可以被配置成将信号和数据转换成可以由处理器解释的形式。I/O接ロ也可以执行对输入和输出的缓冲以支持处理器的操作。根据ー些示例实施例,处理器和I/O接ロ可以组合成如下单个芯片或者集成电路,该芯片或者集成电路被配置成执行或者使装置200执行本发明的各种功能。通信接ロ 240可以是用硬件、软件或者硬件与软件的组合体现的任何设备或者装置,其配置成从/向一个或者多个网络260(例如,无线电接入网110、核心网120等)和/或与示例装置200通信的任何其它设备或者模块(例如,其它相似装置(比如用于形成自组网络103))接收和/或发送数据。处理器210也可以被配置成通过例如控制在通信接ロ内包括的硬件来有助于经由通信接ロ的通信。就该点而言,通信接ロ可以例如包括ー个或者多个天线、发送器、接收器、收发器和/或支持硬件(例如包括用于实现通信的处理器)。经由通信接ロ,示例装置可以用设备到设备方式和/或经由间接通信来与各种其它网元通ィ目。通信接ロ 240可以被配置成根据多个有线 或者无线通信标准中的任何无线通信标准提供通信。通信接ロ可以被配置成支持在多天线环境(比如多输入多输出(MMO)环境)中的通信。另外,通信接ロ可以被配置成支持正交频分复用(OFDM)信令。在一些示例实施例中,通信接ロ可以被配置成根据各种技术(如上文说明的那样包括多个2G、3G、4G或者更高一代移动通信技术中的任何移动通信技术、射频(RF)、IrDA或者多个不通过无线联网技术中的任何无线联网技术)通信。通信接ロ也可以被配置成可能经由网际协议(IP)支持在网络层的通信。用户接ロ 250可以与处理器210通信以经由用户接ロ接收用户输入和/或向用户呈现输出例如作为可听、可视、机械或者其它输出指示。用户接ロ可以例如包括键盘、鼠标、操纵杆、显示器(例如,触屏显示器)、麦克风、扬声器或者其它输入/输出机制。另外,处理器可以包括如下用户接ロ电路或者与该用户接ロ电路通信,该用户接ロ电路被配置成控制用户接ロ的一个或者多个单元的至少ー些功能。处理器和/或用户接ロ电路可以被配置成通过在可由处理器访问的存储器(例如,存储器设备220)上存储的计算机程序指令(例如,软件和/或固件)控制用户接ロ的一个或者多个单元的一个或者多个功能。在ー些示例实施例中,用户接ロ电路被配置成通过使用显示器来有助于用户控制装置200的至少ー些功能并且配置成对用户输入做出响应。处理器也可以包括配置成显示用户接ロ的至少部分的显示电路或者与该显示电路通信,该显示和该显示电路被配置成有助于用户控制装置的至少ー些功能。本发明的示例实施例涉及消除或减少对来自在服务中心150的(存储器中的)数据库的信息的跟踪。这可以通过隐藏用户数据记录中的ー个或者多个字段以防止对与相同下层用户身份关联的那些记录进行分组和关联来实现。该下层或者真实或者实际身份或者标识符(ID)的示例可以包括移动站国际用户目录号(MSISDN)、国际移动用户标识(MSI)、国际移动设备标识(IMEI)、国际标识符(例如IM、电子邮件或者社交网络标识符)或者多个其它如下标识符中的任何标识符,通过这些标识符可以独立于相应服务提供商来访问相应装置。可以使用假名和/或借助随机初始化矢量的加密来藏匿可以用来链接与相同用户关联的任何两个用户记录的信息。更具体而言,本发明的示例实施例可以运用借助随机初始化矢量的加密以生成用于用户的如下加密的标识符(ID),这些标识符可以取代用户的相应真实或者实际ID用来对存储于服务中心的数据库中的用户记录编索引。尽管对应于相同用户,但是不同于真实用户ID,借助为相同用户生成的随机初始化矢量的加密可以表现得不同。除了借助随机初始化矢量的加密之外或者取而代之,还可以实施密钥化的伪随机函数以隐藏或者否则藏匿用户的数据记录中的真实或者实际数据(比如用户的位置、使用统计、通信记录、连通历史等)。用于加密和假名生成的密钥可以由如下安全管理器提供,该安全管理器可以运用代理重新加密技术以基于访问策略向服务中心150提供恰当密钥(其中可以防止服务中心本身透露密钥)。服务中心可以表现为如下代理,该代理向已授权用户转发重新加密的密钥,因此安全管理器不必总是在线,由此潜在地节省系统运营成本。可以布置系统使得仅已授权方可以用它们的私有密钥解密密钥;因此使得这样的已授权方可以是仅有的能够查询服务中心的数据库中存储的用户的数据记录 中的本应隐藏的真实或者实际数据的各方。现在參照图3,该示了根据本发明的示例实施例的移动终端300与服务提供商的服务中心310交互的功能框图。如图所示,服务中心包括配置成存储用于移动終端用户的数据记录的数据库320或者否则与该数据库通信,其中数据记录可以存储用户的用于在向用户提供服务时使用的个人数据。就该点而言,移动终端用户(经由他们的终端)可以与服务中心共享他们的个人数据,该服务中心可以在它的数据库中保存该数据。然而,根据本发明的示例实施例,该个人数据可以存储于数据库中使得个人数据可由已授权用户的装置330访问,但是从未授权用户隐藏或者否则藏匿。可以尝试访问个人数据并且可以被授权这样做的装置可以例如包括移动终端300 (包括其个人数据被访问的用户的装置)、相应服务提供商的用干与服务中心配合提供它的服务的装置(例如,装置200)等。可以从核心网络和外部网络(例如,因特网)离线的安全管理器340可以被配置成为那些已授权装置生成重新加密密钥,这些已授权装置可以能够查询和访问服务中心的数据库以基于ー个或者多个访问策略访问真实用户数据。其数据被存储的移动终端用户也可以指定关于用户的相应个人数据的ー个或者多个访问策略并且向安全管理器传递所述策略。本发明的示例实施例可以实施多个不同伪随机函数F (:;:)中的任何伪随机函数以生成如下假名,一个或者多个真实用户数据元素可以在这些假名之下存储于服务中心310的数据库320中的数据记录中。例如,可以应用散列函数(比如密钥化的散列消息认证代码(HMAC))以生成假名,例如假名=F(秘密密钥,真实数据记录元素)。多个加密算法E(:;:)中的任何加密算法用于生成如下加密的用户ID,这些用户ID用于对存储于服务中心310的数据库320中的用户记录编索引。例如可以实施选择明文攻击(CPA)-安全对称加密技术,比如在借助随机初始化矢量的密码块链(CBC)模式中的高级加密标准(AES) (AES-CBC)。CPA-安全加密技术在密文中引入随机性使得相同明文不会在使用相同密钥来加密两次时产生相同密文。因而,未授权装置可以不能链接与相同用户关联、但是由相同用户标识符的不同密文标注的任何两个用户记录。根据本发明的示例实施例,相同或者不同秘密密钥可以用于不同密码操作。在使用不同秘密密钥的情况下,用户可以将ー个秘密密钥用于假名生成而另ー秘密密钥用于加密。另ー方面,用户可以将ー个秘密密钥用于假名生成和借助随机初始化的加密二者。在任ー实例中,可以实施如下代理重新加密技木,在该技术中,安全管理器340可以被配置成向已授权装置(有时由它们的相应已授权用户引用)签发恰当密钥。代理重新加密可以允许代理将在装置A的公共密钥之下计算的密文变换成可以使用另ー装置B的私有密钥来解码的密文。在称为重新加密的密文变换期间,代理不可以了解关于下层明文的任何信息。根据本发明的示例实施例的代理重新加密技术可以表示为(可能概率性的)多项式时间算法(KG ;RG ;E ;R ;D)的元组· (KG ;E ;D)可以代表用于下层公共密钥技术的标准密钥生成、加密和解密算法。在输入用于装置A的安全參数Ik吋,密钥生成算法KG被配置成输出公共和私有密钥对(pk_A ;sk_A)。在输入公共密钥pk_A和消息m吋,加密算法E被配置成输出密文C_A = E (pk_A ;m)。并且在输入私有密钥sk_A和密文C_A时,加密算法D被配置成输出消息m = D (sk_A ;C_A)。
在输入用于装置A的密钥对和用于装置B的公共密钥(pk_A ;sk_A ;pk_B)时,重新加密密钥生成算法RG可以被配置成输出用于代理的重新加密密钥rk_A — B。·在输入rk_A — B和密文C_A时,重新加密函数R(rk_A — B ;C_A)可以被配置成输出可以使用私有密钥sk_B来解密的E(pk_B ;m) = C_B。安全管理器340以及移动终端300和已授权装置330中的每ー个可以在公共密钥加密技术(KG ;E ;D)之下具有公共和私有密钥对。令(pk_SM ;sk_SM)表示安全管理器的公共和私有密钥对而(pk_u ;sk_u)表示已授权用户u的公共和私有密钥对。安全管理器可以被配置成如下操作用于管理密钥并且控制对服务中心310的数据库320的访问。在向重新加密密钥生成算法RG输入(pk_SM;sk_SM;pk_U)时,安全管理器可以被配置成生成用于装置u的重新加密密钥rk_SM — U。安全管理器然后可以配置成将rk_SM — u和可应用访问控制策略转发至服务中心。移动终端用户P可以操作它的移动终端300以使用安全管理器的公共密钥来加密它的秘密密钥k_p以获得E(pk_SM;k_p)并且将加密的秘密密钥与保存的用户的数据记录一起发布给服务中心310用于存储于服务中心的数据库320中。当允许已授权用户u访问用户的数据记录时,服务中心可以被配置成计算(基于访问控制策略)R(rk_SM —u ;E(pk_SM;k_p)) =E(pk_u;k_p)并且将它发送到已授权用户u。已授权用户的装置可以被配置成使用它的私有密钥sk_u来解密E(pk_u ;k_p)以获得然后可以用来查询数据库的k_p。在该示例实施例中,服务中心可以在如下代理重新加密技术中充当代理,在该技术中,服务中心向已授权用户的装置间接分发移动終端用户的秘密密钥而服务中心本身不了解关于相应秘密密钥的任何信息。注意访问策略也可以由移动终端用户定义并且发送到服务中心和/或安全管理器。因此可以实施个人化私有数据保护。现在參照图4,该示了包括本发明的示例实施例的方法中的各种操作的流程图。如在块410所示,该方法可以包括移动用户P加入系统或者否则向服务提供商的服务中心供应个人数据以接收相应提供商的服务。在该阶段,用户的移动终端300可以生成或者否则接收随机秘密密钥k_p,并且接收安全管理器的公共密钥pk_SM。移动终端然后可以加密它的私有密钥E(pk_SM ;k_p)并且将它发送到安全性管理器340,并且还可以更新用于已授权用户的控制策略policy(u)并且向安全管理器转发所述策略。安全管理器可以更新用于所有受影响用户的访问控制策略Policy(u)并且将它们转发到服务中心。就该点而言,访问控制策略可以例如表示如下policy(u) = {〈u ;data_p, day_i ;granted) |p e P},其中P代表其数据记录被允许由已授权用户u的装置330访问的一组ー个或者多个移动用户,而day_i代表允许访问日期。
在用户p的移动终端300向安全管理器340转发它的加密秘密密钥和访问控制策略之前、之后或者同时,如在块420所示,移动终端可以向服务中心发送用户个人数据X,share (p ;x)。根据本发明的示例实施例,移动终端可以生成数据x的假名(即pn_x = F(k_P;x));并且可以加密用户P的真实或者实际IDl_p(即et_i =E(k_p;l_p))。然后可以向服务中心发布数据假名和加密的ID。更具体而言,可以向服务中心发送数据假名和加密的ID用于在用于用户的数据记录中在假名之下存储个人数据,其中数据记录可以由加密的ID编索引。在移动终端300向服务中心 310发送它的用户的数据假名和加密的ID之前、之后或者同时,如在块430所示,可以向已授权用户u批准访问权。这可以包括已授权用户的装置330生成或者否则接收公共密钥和私有密钥对(pk_u ;sk_u) = KG(Ik)。安全管理器340可以生成重新加密密钥rk_SM-U = RG(pk_SM ;sk_SM ;pk_u),并且将它和用于已授权用户的访问控制策略policy (U)发送到服务中心。在该方法的反复实施期间,当(pk_u ;sk_u)和(pk_SM,sk_SM)的值保持不变时可以略过密钥对和重新加密密钥的生成。已授权用户u可以(经由它的装置330)请求移动用户P的秘密密钥k_p的变换的密文。作为响应,服务中心310可以校验用于已授权用户的访问控制策略Policy(U)并且在策略授权用户U访问用户P的数据记录时将E(pk_SM ;k_p)变换成E(pk_u ;k_p) R(rk_SM — u ;E(pk_SM ;k_p)) = E (pk_u ;k_p)。已授权用户u然后可以接收用户p的加密秘密密钥E(pk_u ;k_p)并且使用已授权用户的私有密钥来解密它以获得用户P的秘密密钥k_p=D (,sk_u ;E (pk_u ;k_p))。在向已授权用户u批准访问之后,如在块440所示,用户可以操作它的装置330以查询服务中心310的数据库320以获取用户P的个人数据X。在该实例中,用户P e P( gp,其数据记录被允许由已授权用户u访问的一组ー个或者多个移动用户),并且已授权用户具有权限prig(u),其中k_p e prlg(u)0已授权用户然后可以计算用户p的数据假名和加密的ID并且在查询中将它们发送到服务中心用于访问它的数据库320中的记录。在其它实例中,已授权用户可能希望向服务中心查询其数据记录被允许访问的用户集(即P)的所有用户P的个人数据X。在该实例中,已授权用户可以实施如下例程,该例程包括初始设置一组数据假名iW= 0 (空集)和加密的ID五Γ=0。然后对于每个移动用户P e P和k_p e prlg(u),已授权用户可以计算pn_x = F (k_p ;x)和PN = PN U pn_x ;并且可以计算et_i = E(k_p ;l_p)和ET = ET U et_i。已授权用户然后可以向服务中心发送PN和ET。在服务中心310的数据库320中,用户P的个人数据x可以在它的假名pn_x之下存储于用于用户P的数据记录中,其中数据记录可以由用户P的加密ID的_1编索引。因此,响应于查询并且利用假名(pn_x或者PN)和加密的ID(et_i或者ET),服务中心可以从它的数据库320取回请求的数据X,该数据然后可以响应于查询来发送到已授权用户的装置 330。也如图4中并且具体在块450和460所示,在任何时间,移动终端用户P可以离开系统,从而它的个人数据可能不再可由任何已授权用户访问或者可以撤回向ー个或者多个已授权用户批准的访问。在这些实例中,可以向安全管理器340通知改变。如果用户P离开系统,则安全管理器可以更新用于所有受影响的已授权用户u的访问控制策略policy(u),并且向服务中心310发送更新的访问控制策略。另ー方面,如果撤回已授权用户u的访问权,则安全管理器可以指引服务中心去除该用户的策略policy (u)。根据本发明的示例实施例,可以在服务提供商的服务中心310隐藏或者否则藏匿用户个人数据。跟踪用户数据然后可以包括安全管理器340向服务中心提供的密钥;可以基于访问策略。这些密钥不可以由服务中心本身透露。并且已授权用户可以是仅有的如下用户,这些用户能够用他们的私有密钥解密密钥,并且因此可以能够查询服务中心的数据库320中存储的真实用户记录。根据本发明的示例实施例的ー个方面,可以通过各种手段执行由装置200执行的功能(比如图4的流程图所示功能)。将理 解可以通过各种手段实施流程图的每个块或者操作和/或在流程图中的块或者操作的组合。用于实施流程图的块或者操作、在流程图中的块或者操作的组合或者这里描述的本发明的示例实施例的其它功能的手段可以包括硬件和/或计算机程序产品(包括如下计算机可读存储介质,该计算机可读存储介质具有存储于其中的一个或者多个计算机程序代码指令、程序指令或者可执行计算机可读程序代码指令)。就该点而言,程序代码指令可以存储于存储器设备(比如示例装置的存储器设备220)上并且由处理器(比如示例装置的处理器210)执行。如将理解的那样,任何这样的程序代码指令可以从计算机可读存储介质加载到计算机或者其它可编程装置(例如,处理器、存储器设备等)上以产生特定机器,从而特定机器变成用于实施在流程图的块或者操作中指定的功能的装置。这些程序代码指令也可以存储于如下计算机可读存储介质中,该计算机可读存储介质可以指弓I计算机、处理器或者其它可编程装置以特定方式工作以由此生成特定机器或者特定制造品。存储于计算机可读存储介质中的指令可以产生制造品,其中制造品变成用于实施在流程图的块或者操作中指定的功能的装置。程序代码指令可以从计算机可读存储介质取回并且加载到计算机、处理器或者其它可编程装置中以配置计算机、处理器或者其它可编程装置执行将在计算机、处理器或者其它可编程装置上或者由计算机、处理器或者其它可编程装置执行的指令。可以依次执行程序代码指令的取回、加载和执行,从而一次取回、加载和执行ー个指令。在一些示例实施例中,可以并行执行取回、加载和/或执行,从而一起取回、加载和/或执行多个指令。程序代码指令的执行可以产生计算机实施的过程,从而计算机、处理器或者其它可编程装置执行的指令提供用于实施在流程图的块或者操作中指定的功能的操作。因而,处理器执行与流程图的块或者操作关联的指令或者在计算机可读存储介质中存储与流程图的块或者操作关联的指令支持用于执行指定功能的操作的组合。也将理解流程图的ー个或者多个块或者操作和在流程图中的块或者操作的组合可以由执行指定功能的基于专用硬件的计算机系统和/或处理器或者由专用硬件与程序代码指令的组合实施。从在前文描述和关联附图中呈现的教导中受益的、在这些发明涉及的领域中的技术人员将想到这里阐述的发明的许多修改和其它实施例。因此,将理解本发明将不限于公开的具体实施例并且修改和其它实施例g在于包含于所附权利要求书的范围内。另外,里然前文描述和关联附图在単元和/或功能的某些示例组合的背景中描述示例实施例,但是应当理解不同的単元和/或功能组合可以由替选实施例提供而未脱离所附权利要求书的范围。就该点而言,例如如可以在ー些所附权利要求书中阐述的那样也设想与上文明确描述的单元和/或功能组合不同的単元和/或功能组合。虽然这里运用具体术语,但是它们是仅在通用和描述 意义上而不是出于限制的目的来使用的。
权利要求
1.一种包括处理器和存储器的装置,所述存储器存储可执行指令,所述可执行指令响应于由所述处理器执行来使所述装置至少执行以下操作 使用第一秘密密钥来生成用户的个人数据的假名; 使用第二秘密密钥来加密所述用户的唯一标识符;并且 准备所述假名和加密的标识符用于向远程装置发送,以便将所述个人数据在所述假名之下存储于数据库中并且由所述加密的标识符编索引,所述第一秘密密钥和第二秘密密钥为被授权访问所述数据的一个或者多个其他用户所知,并且所述第一秘密密钥和第二秘密密钥不为所述远程装置所知。
2.根据权利要求I所述的装置,其中生成所述数据的假名包括使用第二私有密钥将散列函数应用于所述数据。
3.根据权利要求I所述的装置,其中加密所述标识符包括根据选择明文攻击安全对称加密技术来加密所述标识符。
4.根据权利要求I所述的装置,其中所述装置包括第一装置,并且所述存储器存储可执行指令,所述可执行指令响应于由所述处理器执行来使所述装置进一步执行以下操作 接收与所述第一装置不同的第二装置的公共密钥; 使用所述第二装置的所述公共密钥来加密所述第一秘密密钥和第二秘密密钥;并且 准备所述加密的第一秘密密钥和第二秘密密钥用于向所述第二装置发送,以便生成并且向已授权用户发送已经使用重新加密密钥来重新加密的重新加密的第一秘密密钥和第二秘密密钥,所述重新加密密钥已经使用已授权用户的公共密钥以及所述第二装置的所述公共密钥和私有密钥来生成。
5.根据权利要求4所述的装置,其中所述存储器存储可执行指令,所述可执行指令响应于由所述处理器执行来使所述装置进一步执行以下操作 准备访问控制策略用于向所述第二装置发送以便根据所述访问控制策略生成并且向所述已授权用户发送所述重新加密的密钥,所述访问控制策略向所述一个或者多个已授权用户批准对所述个人数据的访问。
6.一种包括处理器和存储器的装置,所述存储器存储可执行指令,所述可执行指令响应于由所述处理器执行来使所述装置至少执行以下操作 在所述装置接收假名和加密的标识符,所述假名属于具有唯一标识符的用户的个人数据,所述假名已经使用第一秘密密钥来生成,并且所述加密的标识符已经通过使用第二秘密密钥加密所述标识符来生成,所述第一秘密密钥和第二秘密密钥为被授权访问所述数据的一个或者多个其他用户所知,并且所述第一秘密密钥和第二秘密密钥不为所述装置所知;并且 提供将所述个人数据在所述假名之下存储于数据库中并且由所述加密的标识符编索引。
7.根据权利要求6所述的装置,其中所述存储器存储可执行指令,所述可执行指令响应于由所述处理器执行来使所述装置进一步执行以下操作 从已授权用户接收针对所述个人数据的查询,所述查询包括均已经由所述已授权用户生成的所述假名和加密的标识符; 基于所述假名和加密的标识符从所述数据库取回所述个人数据;并且准备所述个人数据用于向所述已授权用户发送。
8.根据权利要求7所述的装置,其中接收假名和加密的标识符包括接收用于多个用户的假名和加密的标识符,其中准备所述个人数据的存储包括提供将所述个人数据在相应的假名之下存储于所述数据库中并且由相应的加密的标识符编索引, 其中接收查询包括接收针对所述用户中的一些用户的所述个人数据的查询,所述查询包括相应用户的所述假名和加密的标识符,所有所述假名和加密的标识符已经由所述已授权用户生成。
9.一种包括处理器和存储器的装置,所述存储器存储可执行指令,所述可执行指令响应于由所述处理器执行来使所述装置进一步执行以下操作 接收已经通过使用所述装置的公共密钥加密第一秘密密钥和第二秘密密钥来生成的加密的第一秘密密钥和第二秘密密钥; 使用已授权用户的公共密钥以及所述装置的所述公共密钥和私有密钥来生成重新加密密钥; 使用所述重新加密密钥来生成重新加密的第一秘密密钥和第二秘密密钥;并且 准备所述重新加密的第一秘密密钥和第二秘密密钥用于向所述已授权用户发送以便使用所述已授权用户的私有密钥来解密所述重新加密的第一秘密密钥和第二秘密密钥以由此获得所述第一秘密密钥和第二秘密密钥。
10.根据权利要求9所述的装置,其中所述存储器存储可执行指令,所述可执行指令响应于由所述处理器执行来使所述装置进一步执行以下操作 接收访问控制策略,所述访问控制策略向所述一个或者多个已授权用户批准对所述个人数据的访问, 其中生成所述重新加密的第一秘密密钥和第二秘密密钥以及准备第二重新加密密钥用于发送根据所述访问控制策略来发生。
11.一种方法,包括 使用第一私有密钥来生成用户的个人数据的假名; 使用第二私有密钥来加密所述用户的唯一标识符;并且 准备所述假名和加密的标识符用于向远程装置发送,以便将所述个人数据在所述假名之下存储于数据库中并且由所述加密的标识符编索引,第一秘密密钥和第二秘密密钥为被授权访问所述数据的一个或者多个其他用户所知,并且所述第一秘密密钥和第二秘密密钥不为所述远程装置所知, 其中生成假名、加密所述标识符以及准备所述假名和加密的标识符用于发送由配置为成生成所述假名、加密所述标识符并且准备所述假名和加密的标识符用于发送的至少一个处理器执行。
12.根据权利要求11所述的方法,其中生成所述数据的假名包括使用所述第二秘密密钥将散列函数应用于所述数据。
13.根据权利要求11所述的方法,其中加密所述标识符包括根据选择明文攻击安全对称加密技术来加密所述标识符。
14.根据权利要求11所述的方法,进一步包括 接收第二装置的公共密钥;使用所述第二装置的所述公共密钥来加密所述第一秘密密钥和第二秘密密钥;并且 准备所述加密的第一秘密密钥和第二秘密密钥用于向所述第二装置发送,以便生成并且向已授权用户发送已经使用重新加密密钥来重新加密的重新加密的第一秘密密钥和第二秘密密钥,所述重新加密密钥已经使用已授权用户的公共密钥以及所述第二装置的所述公共密钥和私有密钥来生成。
15.根据权利要求14所述的方法,进一步包括 准备访问控制策略用于向所述第二装置发送以便根据所述访问控制策略生成并且向所述已授权用户发送所述重新加密的密钥,所述访问控制策略向所述一个或者多个已授权用户批准对所述个人数据的访问。
16.—种方法,包括 在装置接收假名和加密的标识符,所述假名属于具有唯一标识符的用户的个人数据,所述假名已经使用第一秘密密钥来生成,并且所述加密的标识符已经通过使用第二秘密密钥加密所述标识符来生成,所述第一秘密密钥和第二秘密密钥为被授权访问所述数据的一个或者多个其他用户所知,并且所述第一秘密密钥和第二秘密密钥不为所述装置所知;并且 提供将所述个人数据在所述假名之下存储于数据库中并且由所述加密的标识符编索引, 其中接收假名和加密的标识符以及存储所述个人数据由所述装置的配置成接收所述假名和加密的标识符并且存储所述个人数据的至少一个处理器执行。
17.根据权利要求16所述的方法,进一步包括 从已授权用户接收针对所述个人数据的查询,所述查询包括均已经由所述已授权用户生成的所述假名和加密的标识符; 基于所述假名和加密的标识符从所述数据库取回所述个人数据;并且 准备所述个人数据用于向所述已授权用户发送。
18.根据权利要求17所述的方法,其中接收假名和加密的标识符包括接收用于多个用户的假名和加密的标识符,其中提供所述个人数据的存储包括提供将所述个人数据在相应的假名之下存储于所述数据库中并且由相应的加密的标识符编索引, 其中接收查询包括接收针对所述用户中的一些用户的所述个人数据的查询,所述查询包括相应用户的所述假名和加密的标识符,所有所述假名和加密的标识符已经由所述已授权用户生成。
19.一种方法,包括 接收已经通过使用装置的公共密钥加密第一秘密密钥和第二秘密密钥来生成的加密的第一秘密密钥和第二秘密密钥; 接收已经使用已授权用户的公共密钥以及所述装置的所述公共密钥和私有密钥来生成的重新加密密钥; 使用重新加密密钥来生成重新加密的第一秘密密钥和第二秘密密钥;并且 准备所述重新加密的第一秘密密钥和第二秘密密钥用于向所述已授权用户发送,以便使用所述已授权用户的私有密钥来解密所述重新加密的第一秘密密钥和第二秘密密钥,以由此获得所述第一秘密密钥和第二秘密密钥。
20.根据权利要求19所述的方法,进一步包括 接收访问控制策略,所述访问控制策略向所述一个或者多个已授权用户批准对所述个人数据的访问, 其中生成所述重新加密的第一秘密密钥和第二秘密密钥以及准备所述重新加密的第一秘密密钥和第二秘密密钥用于发送是根据所述访问控制策略来进行的。
全文摘要
提供一种接收假名和加密的标识符的示例装置,其中假名属于用户的个人数据。已经使用第一秘密密钥来生成假名,并且已经通过使用第二秘密密钥加密标识符来生成加密的标识符。第一秘密密钥和第二秘密密钥为被授权访问数据的其他用户所知,而不为装置所知。操作还包括将个人数据在假名之下存储在数据库中,并且由加密的标识符编索引。用于加密和伪随机生成的密钥可以由第二装置(例如离线安全管理器)提供,第二装置可以运用代理重新加密方案以基于访问策略向装置提供恰当密钥。仅已授权用户可以用他们的私有密钥解密密钥,因此可以查询存储于装置中的用户记录。
文档编号H04W8/24GK102714790SQ200980163297
公开日2012年10月3日 申请日期2009年12月7日 优先权日2009年12月7日
发明者闫峥 申请人:诺基亚公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1