首页> 中国专利> 用于客户端情报安全共享的系统、方法和架构

用于客户端情报安全共享的系统、方法和架构

摘要

公开了一种能够在网络中的服务提供商上进行操作的主密钥服务。主密钥使授权方能够安全地交换客户端信息,而不会损害客户端安全性。主密钥服务的一个特征是为每个客户端生成唯一的密钥。授权领域中的所有方都通过引用通用密钥而不是使用已知的客户端标识符来访问、交换和修改客户端信息。通过有利地对数据应用混淆函数来进一步保护客户端信息。混淆的客户端信息与通用密钥一起作为带密钥的客户端数据存储在客户端和/或服务器,服务提供商或第三方可以直接在其中访问。由于客户端信息的存储和交换无法识别客户端身份或信息性质,因此可以保护此类信息免遭恶意第三方的拦截。

著录项

说明书

相关申请

本申请要求于2018年10月7日提交的题为“用于客户端情报安全共享的系统、方法和架构(SYSTEM,METHOD AND ARCHITECTURE FOR SECURE SHARING OF CUSTOMERINTELLIGENCE)”的美国专利申请序列号16/153,808的优先权。上述申请的内容通过引用合并于此。

背景技术

许多服务提供商使用“cookie”来使客户端的网站体验个性化。cookie是存储客户端信息的小文件。此信息可能包括个人信息(例如客户端的地址和密码)以及行为信息(例如客户端的浏览历史记录)。

cookie有两种类型:在每次网页浏览会话结束时删除的“会话”cookie和在会话之间保存的“持久性”cookie。在客户端首次访问服务提供商网站期间,服务提供商会填充cookie文件并将其下载到客户端的浏览器中。如果该cookie是持久性cookie,则在客户端随后访问服务提供商网站时,取回该cookie,并可以提取客户端相关数据,以提高效率并使客户端的网站体验个性化。

除了提高处理效率外,cookie还可以用于通过存储客户端情报来定制广告并分析营销活动。客户端情报可以包括例如客户端的浏览历史记录、购买历史记录和其他互联网行为。在某些情况下,服务提供商使得客户端情报对授权的第三方是可用的,第三方也可以在客户端存储cookie。

尽管使用cookie有很多好处,但cookie存储个人客户端信息这一事实使它们容易受到恶意拦截。客户端可以通过限制服务提供商使用持久性cookie的能力来保护其信息的分布。浏览器通常为用户提供服务提供商和第三方控制cookie的创建和存储的能力,并且用户可能会完全阻止cookie的创建。但是,阻止所有cookie最终只会对客户端无益,并消除与客户端情报相关联的业务优势。

希望利用通过使用cookie所获得的效率,同时防止客户端信息的无意或未经授权的公开。

发明内容

根据本发明的一个方面,一种保护由服务提供商的客户端相关数据的方法,包括以下步骤:从客户端接收对由服务提供商提供的内容的请求,并获得用于该客户端的密钥。该方法还包括以下步骤:收集客户端相关数据,并转换一部分的客户端相关数据,以产生混淆的客户端相关数据。生成并存储包括密钥和混淆的客户端相关数据的带密钥的(keyed)客户端数据。响应于寻求访问客户端数据的第三方请求,取回并返回带密钥的客户端数据。通过这种布置,可以保护客户端数据免受恶意拦截,因为在服务器、客户端和第三方之间的通信中,只有带密钥的、混淆的数据才可用。

根据本发明的另一个方面,一种用于保护由服务提供商网站收集的客户端相关数据的系统,包括:用于将客户端标识符转换为密钥的主密钥(key master);用于存储密钥的第一存储单元;用于转换客户端相关数据的至少一部分以产生混淆的客户端相关数据的转换单元;以及安全cookie建立器,用于将密钥和混淆的客户端相关数据组合成带密钥的客户端数据。第二存储设备存储带密钥的客户端数据,并且由接口访问,该接口响应于对相应的客户端相关数据的第三方请求而返回带密钥的客户端数据,从而保护客户端相关数据免于未经授权的暴露。

根据本发明的又一方面,一种保护由服务提供商收集的客户端相关数据的方法,包括将对内容的请求转发到服务提供商的网站,对内容的请求包括发出请求的客户端的标识符。响应于该请求,从服务提供商接收带密钥的客户端数据,其中带密钥的客户端数据包括与客户端的标识符和混淆数据相关联的密钥。响应于对客户端相关数据的第三方请求,存储带密钥的客户端数据并将其转发给第三方,其中第三方请求包含密钥。通过这种布置,授权的第三方可以使用密钥直接访问客户端cookie信息,而不是直接标识客户端的信息。返回的数据对于未经授权的各方来说是无法理解的,从而确保了客户端情报的通信。

附图说明

图1示出了根据本发明的包括密钥管理器的示例性客户端/服务器网络的组件;

图2是用于说明可被执行的示例性步骤以及可由图1的网络的客户端和服务器交换的示例性数据而提供的数据流程图;

图3是示出了由图1的密钥管理器执行来获取客户端密钥的过程的一个实施例的流程图;

图4是示出了由图1的密钥管理器执行来收集客户端数据的过程的一个实施例的流程图;

图5是用于说明图1的密钥管理器对客户端信息的转换而提供的框图;

图6是可以由图1的密钥管理器生成的示例性密钥cookie的示图;

图7是示出了由实施本发明的客户端存储密钥的浏览器界面的示例;

图8是示出了由实施本发明的客户端、服务器或第三方存储带密钥的客户端数据的浏览器界面的示例;并且

图9是示出了根据本发明的由服务器和第三方执行以安全地传送客户端信息的方法的示例性步骤的流程图。

具体实施方式

根据本发明的一个方面,在网络中的服务提供商上运行的主密钥服务使授权方能够安全地交换客户端信息而不会损害客户端安全性。主密钥服务的一个特征是为每个客户端生成唯一的密钥。授权领域(universe)中的所有方都通过引用通用密钥而不是使用已知的客户端标识符来访问、交换和修改客户端信息。通过有利地对数据应用混淆函数来进一步保护客户端信息。混淆的客户端信息与通用密钥一起作为带密钥的客户端数据存储在客户端和/或服务器上,服务提供商或第三方可以直接在其中访问。由于客户端信息的存储和交换无法识别客户端身份或信息性质,因此保护此类信息免遭恶意的第三方拦截。

图1示出了示例性网络化系统100,其中可以实践本发明以保护客户端信息。网络150耦合一个或多个端点,例如客户端101、服务提供商110和第三方130。在一个实施例中,服务提供商110可以提供两个账户内容(即,对于在服务提供商处维持的客户端账户而言是个人的内容)和服务内容(即,通过服务提供商网站使客户端可以访问的面向消费者的服务)。通过网络可获得的面向消费者的服务列表是详尽的,但举例来说,包括帐户管理服务、商业销售服务、广告服务、新闻服务、金融服务、通信服务、旅行服务等。服务提供商通过由链接的HTML(或其他格式)网页构成的网站界面,通过其网络将服务提供给客户端。

客户端101通过运行互联网浏览器应用105访问服务提供商的网站。浏览器105是诸如

根据本发明的一个方面,本地存储设备102有利地存储密钥106和带密钥的客户端数据108。如下面将更详细地描述的,密钥向服务提供商110唯一地标识客户端101,并且作为在收集和修改客户端相关信息时使用的通用密钥,可用于授权第三方的领域。带密钥的客户端数据108包括密钥和与客户端相关的数据,但是如果通过未授权的手段获得则是不可解释的。服务提供商可以在每个客户端会话期间取回并更新存储的带密钥的客户端数据108。带密钥的客户端数据108也可以有利地被推送到授权的第三方服务,该第三方服务可以受益于对这样的客户端信息的访问。

图1的服务提供商110包括接口112,用于使用已知的网络协议在网络150上与各种客户端、第三方和数据存储库通信。接口112耦合到主密钥服务111。主密钥服务111被示为包括密钥生成器115和聚合单元113。如本文稍后将描述的,聚合单元113将与客户端有关的并从各种源收集到的数据组合成客户端相关数据结构。在一个实施例中,客户端相关数据结构包括一串客户端属性,这些属性一起包含客户端情报。可以理解的是,数据可以以多种形式表示和存储,并且本发明不限于用于存储客户端情报的任何特定数据结构。

密钥生成器115为访问服务提供商网站的每个注册客户端有选择地生成密钥,例如密钥116。该密钥向服务提供商唯一地标识客户端,并且在授权领域的成员之间广播客户端情报时,它用作代替客户端标识符的通用密钥。通过这种布置,与特定客户端情报相关联的客户端的身份被防止未授权的公开。

在生成之后,密钥116被转发到密钥表123以进行存储并被转发到客户端101。密钥116还被转发到cookie建立器117,其中密钥116与从聚合单元113经由转换单元114接收到的转换后的客户端相关数据组合。带密钥的客户端数据有利地存储在密钥客户端数据表124中,在此可以在不损害客户端身份或其他个人敏感信息的情况下通过网络取回和广播密钥客户端数据。

在图1中还示出了第三方130耦合到网络150。根据本发明的一个方面,可以从对客户端情报的访问中受益的某些第三方可以由服务提供商110授权用于这种访问。当被授权时,第三方可以接收密钥和与客户端相关联的数据。在一些实施例中,授权的第三方可以接收诸如存储在服务提供商的密钥表123中的密钥映射信息和/或翻译信息(用于解码客户端情报),以使第三方能够管理其对客户端情报的使用。在其他实施例中,仅向授权的第三方提供用于客户端情报的翻译信息,并且客户端标识符映射不暴露给服务提供商以外的任何一方。

图2是用来说明可在根据本发明进行操作的客户端与服务提供商之间的通信中执行的示例性步骤而提供的数据流程图。在步骤201,当客户端101访问服务提供商的网站时,浏览器启动与服务器的会话,所述服务器托管(host)服务提供商网站,并将诸如简档参考标识符202之类的客户端标识符转发给服务提供商。例如,简档参考标识符可以是由客户端在服务提供商网站上作为预注册过程的一部分而获得的客户端标识符。在步骤205,服务提供商接收简档参考标识符202,并且在步骤210,服务提供商为客户端101产生密钥106。

图3示出了可以作为用于产生密钥的过程210的一部分而执行的示例性步骤。在步骤311,接收客户端参考ID作为客户端请求的一部分,并且在步骤312,将其与客户端参考ID/密钥映射的密钥表进行比较,以确定该客户端是否存在密钥。如果存在密钥,则在步骤313,从密钥表123中取回客户端密钥,并在步骤315将其返回,以供服务提供商使用。如果在步骤312确定先前没有为客户端101生成密钥,则服务提供商生成密钥,并且在步骤315,将其返回以供服务提供商使用。

如上所述,密钥是唯一值,其映射到客户端并且仅在认证之后才与第三方共享。可以使用随机数生成器、哈希函数或其他已知技术来生成密钥,以提供唯一的、去标识的密钥,以用于网络中端点之间的通信客户端情报。

再次返回参考图2,在步骤220,服务提供商开始取回与客户端相关联的数据的过程220。尽管示出了该步骤与步骤210相继发生,但是应当理解的是,一旦接收到简档参考ID就开始数据收集。图4示出了可以在客户端信息收集过程中执行的步骤。在步骤416,如果先前没有为客户端收集数据,则服务提供商使用客户端访问的个人参考ID从整个服务提供商企业中的一个或多个现有数据库中收集有关客户端的信息。

如果确定客户端先前已经访问过该网站,则根据本发明的一方面,先前已为该客户端存储了带密钥的客户端数据。带密钥的客户端数据包括客户端信息,其已经以使未授权的用户无法解释其的方式进行转换。在步骤412,如果确定先前已经存储过数据,则服务提供商从浏览器本地存储器132中取回带密钥的客户端数据108,并且在步骤415,有利地将带密钥的客户端数据与服务提供商收集到的其他客户端信息进行聚合。此“其他客户端数据”可以是通过询问服务提供商已经访问的其他服务从服务提供商或从第三方服务取回的客户端数据。在步骤418,将聚合的客户端数据返回给服务提供商。

返回到图2,在步骤230,对取回的客户端数据进行转换以使数据混淆,并防止不必要的泄露。可以使用各种已知的混淆技术来转换数据,包括但不限于对数据应用哈希函数或其他操作。以这种方式转换客户端数据可以保护数据免于无意或恶意的泄露,因为无法访问或不了解用于操纵客户端信息的方法的任何一方都无法解释转换后的客户端数据。转换后的数据107返回到用户的浏览器,并且其中在步骤204,与密钥106合并,并作为带密钥的客户端数据108存储在本地浏览器存储器中。

图5是这种转换过程的高级别框图。所收集的客户端属性数据502被转发到转化引擎505。转换引擎505有利地将转换函数应用于客户端属性数据并将结果存储为转换后的客户端属性数据510。

返回到图2,在步骤240,将从步骤230取回的转换后的客户端数据与步骤210的密钥相结合,以生成用于该客户端的带密钥的客户端数据。如上所述,该带密钥的客户端数据有利地由客户端浏览器存储在服务提供商数据存储器中。

图6是示出了本发明的带密钥的客户端数据600的示例性实施例的框图。带密钥的客户端数据包括密钥602和一个或多个客户端属性604(列为604a-604d),其中,客户端属性已被转换为对带密钥的客户端数据的未授权接收方无法解释。使用带密钥的客户端数据使能使用通用密钥(而不是个人客户端标识符)在受信方之间进行客户端情报的通信,以跟踪数据。结果,可以在不牺牲客户端安全性的情况下使用客户端情报来提高服务效率并提高营销效率。

图7是网络浏览器图形用户界面(GUI)的图,其说明了客户端的浏览器对本发明的密钥的存储。窗口700示出了浏览器窗口,其中要素702被突出显示以表示用户已经选择了GUI中的字段,这致使显示了服务提供商(SP)域中的所有cookie。在图7中,根据本发明,cookie 706标识了将由授权的第三方通用地用于安全交换客户端情报的密钥。

图8是网络浏览器GUI 800的示图,其中“本地存储器”部分中的项目被选择示出为显示了由浏览器存储的数据列表,以供服务提供商使用。在该示例中,示出了本地存储器来存储带密钥的客户端数据807,包括密钥和多个数据字段,其包括与用户有关但未授权的用户无法解释的信息。在一个实施例中,转换后的数据还无法由客户端浏览器软件解释。

图9是示出了通用密钥用于由第三方收集的安全客户端情报的流程图。在步骤901,授权的第三方将信息请求转发给服务提供商,该信息请求包括与客户端相关联的密钥906,该客户端的信息由第三方寻求,该密钥已作为授权第三方访问各自客户端信息的安全交换的一部分提供给第三方。

在步骤912,服务提供商访问带密钥的客户端数据表,并且在步骤930,与接收到的密钥相关联的带密钥的客户端数据被返回给第三方。在一个实施例中,先前已经向授权的第三方提供了解码机制,以允许解码和使用客户端信息。在检查通信的交换时,从图9可以看出,即使在授权方之间交换敏感的客户端信息,对信息的任何无意或恶意捕获也不会损害敏感的客户端信息。

因此,已经示出和描述了一种系统和方法,该系统和方法使用仅包括混淆数据的带密钥的客户端数据,在服务提供商、客户端和授权的第三方之间传送客户端情报。通过这种布置,服务提供商可以利用cookie的益处,而不会损害客户端安全性。

可以使用表达“实施例”或“一个实施例”及其派生词来描述一些实施例。这些术语意味着结合实施例描述的特定特征、结构或特性包括在至少一个实施例中。说明书中各个地方出现的短语“在一个实施例中”不一定全都是指同一实施例。而且,除非另外指出,否则上述特征被认为可以以任何组合一起使用。因此,单独讨论的任何特征可以彼此组合地使用,除非注意到这些特征彼此不兼容。

总体上参考本文中使用的符号和术语,本文中涉及“功能”、“引擎”、“单元”、“块”或类似术语的详细描述可以根据在计算机或计算机网络上执行的程序过程来呈现。这些过程描述和表示被本领域技术人员用来将其工作的实质最有效地传达给本领域其他技术人员。

这里,过程通常被认为是导致期望结果的操作的自相一致序列。这些操作是需要对物理量进行物理操作的操作。通常,尽管不是必须的,但这些量采取能够被存储、传输、组合、比较和以其他方式操纵的电、磁或光信号的形式。主要出于通用的原因,有时证明将这些信号称为位,值,元素,符号,字符,项,数字等很方面。但是,应注意,所有这些和类似术语均应与适当的物理量相关联,并且仅是应用于这些量的方便标签。

此外,所执行的操作通常是用术语来表示的,例如加法或比较,这通常与人类操作员执行的智力操作有关。在本文描述的形成一个或多个实施例的一部分的任何操作中,人类操作员的这种能力在大多数情况下都不是必需的或不期望的。而是,这些操作是机器操作。用于执行各种实施例的操作的有用机器包括通用数字计算机或类似设备。

可以使用表达“耦合”和“连接”及其派生词来描述一些实施例。这些术语不一定旨在是彼此的同义词。例如,可以使用术语“连接”和/或“耦合”以指示两个或更多个元件彼此直接物理或电接触,从而描述一些实施例。然而,术语“耦合”也可以表示两个或更多个元件彼此不直接接触,而是彼此协作或相互作用。

各种实施例还涉及用于执行这些操作的装置或系统。该装置可以被特殊地构造用于所需目的,或者可以包括由存储在计算机中的计算机程序选择性地激活或重新配置的通用计算机。本文介绍的过程与特定的计算机或其他装置并不是固有地相关。各种通用机器可以与根据本文教导编写的程序一起使用,或者可以证明构造更专用的装置以执行所需的方法步骤是方便的。从给定的描述中将出现各种这些机器所需的结构。

要强调的是,提供本公开的摘要以允许读者快速地确定技术公开的性质。提交本文档时,应理解为不会将其用于解释或限制权利要求的范围或含义。另外,在前面的详细描述中,在单个实施例中将各种特征分组在一起以简化本公开。本公开的方法不应被解释为反映了这样一种意图,即所要求保护的实施例需要比每个权利要求中明确叙述的特征更多的特征。而是,如所附权利要求所反映的,发明主题在于少于单个公开实施例的所有特征。因此,以下权利要求据此被结合到详细描述中,其中每个权利要求独立地作为单独的实施例。在所附权利要求中,术语“包括”和“其中”分别用作相应术语“包括”和“其中”的普通英语等效词。而且,术语“第一”,“第二”,“第三”等仅用作标签,并不旨在对其对象施加数字要求。

上面已经描述的内容包括所公开的架构的示例。当然,不可能描述组件和/或方法的每种可能的组合,但是本领域的普通技术人员可以认识到许多进一步的组合和置换是可能的。因此,新颖的架构旨在包含落入所附权利要求书的精神和范围内的所有这样的改变、修改和变化。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号