CN107533611A - 在遥测数据的传输中保护用户可标识信息 - Google Patents

在遥测数据的传输中保护用户可标识信息 Download PDF

Info

Publication number
CN107533611A
CN107533611A CN201680024318.0A CN201680024318A CN107533611A CN 107533611 A CN107533611 A CN 107533611A CN 201680024318 A CN201680024318 A CN 201680024318A CN 107533611 A CN107533611 A CN 107533611A
Authority
CN
China
Prior art keywords
file
listed files
filename
hashed value
module
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201680024318.0A
Other languages
English (en)
Other versions
CN107533611B (zh
Inventor
O·克罗吉乌斯
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Microsoft Technology Licensing LLC
Original Assignee
Microsoft Technology Licensing LLC
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Microsoft Technology Licensing LLC filed Critical Microsoft Technology Licensing LLC
Publication of CN107533611A publication Critical patent/CN107533611A/zh
Application granted granted Critical
Publication of CN107533611B publication Critical patent/CN107533611B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • G06F21/6245Protecting personal data, e.g. for financial or medical purposes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/57Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
    • G06F21/577Assessing vulnerabilities and evaluating computer system security
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • G06F21/6245Protecting personal data, e.g. for financial or medical purposes
    • G06F21/6263Protecting personal data, e.g. for financial or medical purposes during internet communication, e.g. revealing personal data from cookies
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/10Network architectures or network communication protocols for network security for controlling access to devices or network resources
    • H04L63/101Access control lists [ACL]

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Medical Informatics (AREA)
  • Databases & Information Systems (AREA)
  • Computing Systems (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Storage Device Security (AREA)

Abstract

本公开描述了用于阻止在收集与操作系统或计算应用的特征相关的遥测数据时从客户机设备传输‘用户可标识信息’的系统和方法。在各示例中,遥测数据被收集以监视操作系统或计算应用的性能或使用。收集遥测数据的过程可涉及捕捉与不直接关联于被监视的操作系统或计算应用的文件相关联的数据。本公开提出了在收集遥测数据的过程期间使用密码散列函数来阻止在文件属性中揭示用户可标识信息的技术。用户的隐私通过从散列值重建原始文件名的计算不切实际性而得到保护。

Description

在遥测数据的传输中保护用户可标识信息
背景技术
操作系统和应用通常依赖于收集遥测数据来更好地了解如何执行或使用特定特征。通常,在给定时段期间,遥测数据可以辅助开发者隔离操作系统或应用的意外地使用大量资源的特征。使用这一信息,开发者可高效地排定哪些特征可能需要优化的优先次序以改进操作系统或应用的性能。
用于存储的遥测数据通常是从与操作系统或应用相关联的所选文件夹收集的。在这些情境中,收集遥测数据的过程通常引入隐私暗示,尤其是在用户选择将个人信息存储在所选文件夹中时。这样的个人信息随后被收集,这对于用户而言可能是不合乎需要的。
概述
本公开描述了用于阻止在收集遥测数据时‘用户可标识信息’从客户机设备传输到实体的系统和方法。在各示例中,遥测数据被收集以监视存储在客户机设备上的操作系统或计算应用的性能。收集遥测数据的过程可涉及从客户机设备捕获不与预期操作系统或计算应用直接关联的数据。作为结果,用户可标识信息可在文件属性(诸如文件名)中被无意地揭示。本公开提出了使用密码散列函数来阻止用户可标识信息在所传输的遥测数据中被揭示的技术。用户的隐私最终可通过反转散列值并重建原始文件名的计算不切实际性来得到保护。
提供本概述是为了以简化的形式介绍将在以下详细描述中进一步描述的一些概念。本发明内容不旨在标识所要求保护的主题的关键或必要特征,也不旨在用于帮助确定所要求保护的主题的范围。例如术语“技术”可指代上述上下文和通篇文档中所准许的系统、方法、计算机可读指令、模块、算法、硬件逻辑和/或操作。
附图说明
结合附图来描述具体实施方式。在附图中,附图标记最左边的数字标识该附图标记首次出现的附图。不同附图中的相同参考标记指示相似或相同的项。
图1是解说用于保护遥测数据中的用户可标识信息的示例环境的示意图。
图2是解说包括与图1一致的遥测数据支持框架的示例实体服务器的精选组件的框图。
图3是解说包括与图1一致的遥测数据支持框架的示例客户机设备的精选组件的框图。
图4是解说聚集与从客户机设备接收到的文件列表相关联的散列值与由分开的实体生成的文件列表的过程的示意图。
图5是解说生成白名单以用于与来自客户机设备的遥测数据中接收到的散列值相比较的过程流的流程图。
图6是解说从客户机设备接收文件列表并生成包括匹配散列值的原始文件名的另一文件列表的过程流的流程图。
图7是解说在客户机设备上生成经散列文件列表的过程流的流程图。
图8是解说从客户机设备传送包括该文件列表中的文件的文件名称的散列值的文件列表的过程流的流程图。
详细描述
概览
本文描述的示例提供了用于在收集与存储在客户机设备上的文件列表相关联的遥测数据时保护用户隐私的方法和系统的构造。在各示例中,操作系统或计算应用内的特征的性能特性可通过收集遥测数据来标识。在非限制性示例中,遥测数据可以指示与操作系统或计算应用相关联的文件大小的非典型增长。在一些实例中,文件大小的增长可指示操作系统或计算应用的特定特征没有如原始预期那样执行或者正以非预期的方式被使用。
如本文所使用的,术语‘遥测数据’描述了表示文件、文件集、或文件系统的特性的数据。该数据可包括文件系统内的文件数目、文件系统内的文件的文件名、文件的对应文件大小、以及文件的对应文件位置属性。文件的其他属性也可被包括,例如安全描述符、访问权限、访问特性、创建时间以及访问时间。然而,为简明起见,在本详细描述中没有讨论这些属性。
在各示例中,遥测数据是从与操作系统或计算应用相关联的文件列表收集的。该文件列表可包括操作系统的系统文件、计算应用的系统文件、与专有计算应用相关联的参考数据文件、或与客户机设备的最终用户相关联的个人文件。在一些示例中,遥测数据是从文件系统内的所有文件收集的。
在其中文件列表包括个人文件的实例中,遥测数据可能包括‘用户可标识信息’。例如,个人文件的文件名通常揭示‘用户可标识信息’。如本文所使用的,术语‘用户可标识信息’被用来描述可被用来标识或描述最终用户的某一方面的任何类型的非系统相关信息。作为非限制性示例,考虑文件系统内的具有文件名“julies_cat_picture_0343.jpeg”的文件。与文件名“julies_cat_picture_0343.jpeg”相对应的遥测数据的传输揭示了最终用户的至少一些用户可标识信息。即,最终用户的名字可能是Julie,或最终用户可能具有与名为Julie的养猫的人的至少某些关联。
本公开提出了阻止在收集与操作系统或计算应用的特征相关的遥测数据时从客户机设备传输‘用户可标识信息’的技术。在各示例中,客户机设备可以捕获文件系统内的完整文件列表的遥测数据。遥测数据可包括每一文件的文件名、对应文件大小、以及对应文件位置属性。为了保护用户可标识信息中的最终用户的隐私,客户机设备可以对文件列表上的所有文件名执行单向散列。单向散列可以用对应的散列值来替换文件列表中的每一文件的原始文件名。
如本文所使用的,术语“单向散列”描述了由产生给定输入的散列值的密码散列函数执行的过程。在各示例中,散列函数可以产生输入串(诸如,数据文件的文件名)的散列值。在其他示例中,散列函数可以产生与数据文件的内容相对应的散列值。密码散列函数具有两个不同特征。首先,反转散列值并重建原始输入在计算上是不切实际的。因此,原始输入(在这一情形中是文件名)的隐私得到保护。其次,任何两个不同输入散列成相同的散列值是尤其不可能的。这以非常高的概率来确保每一输入接收到排他的散列值。在各示例中,散列值的传输可以使用对称加密。在其他示例中,可以使用非对称加密。在又一另一个示例中,散列值的传输可以在没有加密的情况下发生。
在一些实例中,响应于执行每一文件名的单向散列,遥测数据可被传送到与实体相关联的计算设备。该实体可接收包括每一文件名的散列值连同文件列表中的各文件的对应文件大小和文件位置属性的遥测数据。
在该示例中,该实体可包括开发并支持操作系统和计算应用的软件开发者。在一些示例中,实体可包括代表另一感兴趣方来收集遥测数据的服务提供者。在一些示例中,实体可以是监视客户机设备上的专有应用或专有查考数据的性能和使用的组织。
在各示例中,该实体可以维护与操作系统或计算应用相关联的与由该实体接收到的遥测数据表示的文件列表相对应的分开的文件白名单。在一些示例中,白名单文件可包括在文件系统内频繁找到并且因此可能没有传达“用户可标识信息”的“系统”文件。在一些示例中,该白名单可包括每一文件的原始文件名连同对应的散列值。尽管散列函数为不同文件名提供不同散列值,但在不同时间或在不同设备上执行时散列函数将为相同文件名提供相同散列值。例如,考虑在第一时间点,名为“calc.exe”的文件在客户机设备上被散列以产生散列值“901”。在第二时间点,相同的“calc.exe”文件可在不同设备上被散列,诸如实体服务器,并且产生相同的散列值“901”。因此,该实体可以在从客户机设备接收到文件列表之前或之后的任何时间点生成文件白名单。
在各示例中,该实体可以将该实体的白名单上的文件名散列值与从客户机设备接收到的文件名散列值相比较。在其中标识了一对匹配散列值的实例中,该实体能以非常高的概率推导出该散列值对应于白名单文件。例如,文件“calc.exe”可以在来自客户机设备的文件列表上产生散列值“901”。此外,相同文件“calc.exe”可以在实体的白名单上产生相同散列值“901”。因此,通过匹配文件名散列值,该实体可以将来自客户机设备的文件列表上的散列值“901”标识为属于原始文件“calc.exe”。
如早先提及的,将白名单存储在实体服务器上的优点是该白名单可在从最终用户设备接收到文件列表之前或之后的任何时间点被创建。该实体可以重复该过程以标识从客户机设备接收到的文件列表上的一定数目的文件或所有文件,并用原始文件名来替换匹配的文件名散列值。在该过程标识了匹配的文件名散列值之后,所聚集的文件列表可包括白名单文件的原始文件名以及所有其他文件的散列值。因此,该过程确保可能在非白名单文件名中揭示的任何用户可标识信息保持作为散列值,由此保护最终用户的隐私。
在各示例中,本文描述的技术可被应用于文件名以外的数据标识符。在至少一个示例中,该方法和系统可应用于诸如文件夹、档案以及标记等数据项。在另一示例中,该方法和系统可以监视与组织或另一实体相关联的网页的性能和使用。在这一示例中,该组织可以维护与该组织的网页相对应的域名白名单。使用本文公开的方法和系统,对应于经高速缓存的域名的散列值可以从客户机设备或雇员设备检索以辅助提供阐明该组织的网页使用的遥测数据。该过程随后用实际域名来替换与该组织的网页相关联的域名相对应的散列值。此外,该过程确保可能在与非组织网页相关联的经高速缓存的域名中揭示的任何用户可标识信息保持作为散列值,由此保护最终用户的隐私。
在实体的计算设备上生成系统文件的白名单的技术优点是客户机没有招致存储系统文件的静态白名单的盘使用成本。此外,因为该实体可以在任何时间点生成白名单,所以该实体可以响应于标识非预期调查来更新白名单,而非必须依赖于更新客户机设备上的静态白名单。此外,通过利用散列函数,本文描述的技术还改进了用户体验,以及降低了网络带宽并提高了处理器效率。通过提供对用户隐私的更好保证以及将遥测数据传输到可被用来优化操作系统或计算应用的实体,最终改进了用户体验。此外,在一些实例中,网络带宽使用可被降低,因为只有具有固定大小的散列值的文件列表被传送到实体,而非文件本身的加密版本。
进一步参考图1-8来描述各示例、场景和方面。
说明性环境
下面描述的环境仅构成一个示例,而不旨在将各权利要求限于任一特定操作环境。可以使用其它环境而不背离所要求保护的主题的精神和范围。
图1是解说从客户机设备传输遥测数据的密码散列的系统的示例环境100的示意图。在一些示例中,环境100的各个设备和/或组件可包括可相互通信以及经由一个或多个网络104与外部设备通信的分布式计算资源102。在一些示例中,分布式计算资源102发起请求并最终接收与存储在客户机设备上的操作系统或计算应用相关联的遥测数据。
在各示例中,分布式计算资源102可以与开发和/或支持存储在客户机设备上的操作系统或计算应用的功能性的实体相对应。在一些示例中,分布式计算资源102可与代表实体来收集遥测信息的服务提供者相对应。
在一些示例中,(诸)网络104可包括诸如因特网之类的公共网络、诸如机构和/或个人内联网的专用网络,或专用和公共网络的某种组合。(诸)网络104还可包括任何类型的有线和/或无线网络,包括但不限于局域网(LAN)、广域网(WAN)、个域网(PAN)、体域网(BAN)、近场通信(NFC)、卫星网络、电缆网络、Wi-Fi网络、WiMax网络、移动通信网络(例如3G、4G等等)或它们的任意组合。(诸)网络104可利用通信协议,包括基于分组的和/或基于数据报的协议,如网际协议(IP)、传输控制协议(TCP)、用户数据报协议(UDP)或其它类型的协议。而且,(诸)网络104还可包括便于网络通信和/或形成网络的硬件基础的若干设备,如交换机、路由器、网关、接入点、防火墙、基站、中继器、主干设备等等。
在一些示例中,(诸)网络104可进一步包括能够实现到无线网络的连接的设备,诸如无线接入点(WAP)。各示例支持通过WAP的连接性,WAP经由各个电磁频率(例如,无线电频率)来发送和接收数据,包括支持电气和电子工程师协会(IEEE)802.11标准(例如,802.11g、802.11n等)、其他标准(如蓝牙、蜂窝电话标准(诸如GSM、LTE)或WiMAX)或它们中的多者或组合的WAP。
在所解说的示例中,分布式计算资源的群集102可包括计算设备106(1)-106(N)(在本文中单独地或共同地用参考标号106来称呼),其中N是大于或等于1的任何整数。尽管被解说为例如台式计算机,但计算设备106可包括各种不同设备类别、类或类型,诸如膝上型计算机、台式计算机、或蜂窝电话,并且不限于特定类型的设备。在所解说的示例中,计算设备106(1)-106(N)可以是群集102中的计算节点,例如诸如微软AZURE等云服务。在所解说的示例中,计算设备106可以是群集102的客户机并可以向群集102提交作业和/或从群集102接收作业结果。群集102中的计算设备106(1)-106(N)可例如共享资源、平衡负载、提高性能、或提供故障切换支持或冗余性。计算设备106可另外地或另选地在群集或编组配置中操作。
作为示例而非限制,计算设备106可包括但不限于服务器计算机或刀锋服务器(诸如web服务器)、映射/化简服务器或其他计算引擎、或者网络附连存储单元(例如,膝上型计算机、瘦客户机、终端或其他移动计算机)、可穿戴计算机(诸如智能手表或者生物测定或医疗传感器)、植入式计算设备(诸如生物测定或医疗传感器)、计算机导航客户机计算设备、基于卫星的导航系统设备(包括全球定位系统(GPS)设备和其他基于卫星的导航系统设备)、平板计算机或平板混合计算机、智能电话、移动电话、移动电话-平板混合设备、或其他电信设备、便携式或基于控制台的游戏设备或其他娱乐设备(诸如启用网络的电视机、机顶盒、媒体播放器、相机或个人摄录机(PVR))、车载计算机(诸如车辆控制系统、车辆安全系统、或车辆的电子钥匙)、个人数据助理(PDA)、台式计算机、或计算设备中包括的集成组件、电器、或其他计算设备。
设备106可包括任何具有诸如经由总线112可操作地连接到计算机可读介质110的一个或多个处理单元108的计算设备,总线112在一些实例中可包括系统总线、数据总线、地址总线、PCI总线、迷你PCI总线以及任何各种本地、外围和/或独立总线中的一个或多个。处理单元108还可包括分开的存储器,诸如在CPU型处理器、GPU型处理器、FPGA型加速器、DSP型加速器和/或另一加速器上的板载存储器114。存储在计算机可读介质110上的可执行指令可包括例如操作系统116、遥测数据支持框架118、用户接口120以及可由处理单元108加载并执行的其他模块、程序或应用。
作为替代或除此之外,本文所描述的功能可至少部分地由一个或多个硬件逻辑组件(诸如加速器)来执行。例如,可使用的硬件逻辑组件的说明性类型包括现场可编程门阵列(FPGA)、专用集成电路(ASIC)、专用标准产品(ASSP)、片上系统(SOC)、复杂可编程逻辑器件(CPLD)等。例如,加速器可表示混合设备,诸如来自包括内嵌在FPGA结构中的CPU资源的ZYLEX或ALTERA的一个。
在所解说的示例中,操作系统116可以是任何操作系统,包括但不限于MICROSOFTWINDOWS、WINDOWS PHONE、QNXTM、IBM z/OSTM、LINUX、ANDROID、iOSTM、OS XTM、NETBSDTM、或能够管理计算机硬件和软件资源的任何其他操作系统。
计算机可读介质110还可存储可由外部处理单元(诸如外部CPU、外部GPU)和/或可由外部加速器(诸如FPGA型加速器、DSP型加速器、或任何其他内部或外部加速器)执行的指令。在各个示例中,至少一个CPU、GPU和/或加速器被合并到设备106中,而在一些示例中,CPU、GPU和/或加速器中的一个或多个在设备106外部。
设备106可包括启用客户机设备124与其他网络设备的通信的接口122。接口122可包括一个或多个网络接口控制器(NIC)、I/O接口或其他类型的用于经由网络发送和接收通信的收发机设备。为了简明起见,其他组件从所示设备106中省略。
客户机设备124可包括例如一个或多个设备124(1)-124(N)。(诸)客户机设备124可属于各种各样的类别或分类的设备,它可以与设备106相同或不同,诸如客户机型设备、台式计算机型设备、移动型设备、专用型设备、嵌入式型设备和/或可穿戴型设备。由此,虽然被示为移动计算设备(其可具有比设备106少的计算资源),但是客户端计算设备124可包括多种多样的设备类型并不限于任何特定类型的设备。客户机计算设备124可包括但不限于个人数据助理(PDA)124(2)、移动电话平板混合124(3)、平板计算机124(4)、移动电话、膝上型计算机、其他移动计算机、可穿戴计算机、植入式计算设备、台式计算机、车载计算机、启用网络的电视机、瘦客户机、终端、游戏控制台、游戏设备、工作站、媒体播放器、个人摄录机(PVR)、机顶盒、相机、包括在计算设备中的集成组件、电器、或配置成接收用户输入的任何其他种类的计算设备。
各种类别或分类以及上述设备类型的客户机计算设备124可具有诸如经由总线130在操作上连接到计算机可读介质128的一个或多个处理单元124,总线130在一些实例中可包括系统总线、数据总线、地址总线、PCI总线、迷你PCI总线以及任何各种本地、外围和/或独立总线中的一个或多个。处理单元126还可包括分开的存储器,诸如CPU型处理器、GPU型处理器、FPGA型加速器、DSP型加速器和/或另一加速器上板载的存储器132。存储在计算机可读介质128上的可执行指令可包括例如操作系统134、遥测数据支持框架136以及可由处理单元126加载并执行的其他模块、程序或应用。在各示例中,操作系统134可对应于操作系统116。
客户机设备124还可包括启用客户机设备124与其他联网设备(诸如设备106)之间的通信的接口138。在各示例中,接口138可对应于接口122。
计算机可读介质(诸如110和/或128)可包括计算机存储介质和/或通信机制。计算机存储介质可包括以用于存储信息(诸如计算机可读指令、数据结构、程序模块或其他数据)的任意方法或技术实现的易失性存储器、非易失性存储器和/或其他持久和/或辅助计算机存储介质、可移动和不可移动计算机存储介质。存储器114和/或132可以是计算机存储介质的示例。计算机存储介质包括有形和/或物理形式的介质,该介质被包括在设备中或作为设备的一部分或外置于设备的硬件组件中,该介质包括但不限于:随机存取存储器(RAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、相变存储器(PRAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM)、电可擦除可编程只读存储器(EEPROM)、闪存、光盘只读存储器(CD-ROM)、数字多功能盘(DVD)、光卡或其它光存储介质、磁带盒、磁带、磁盘存储、磁卡或其它磁存储设备或介质、固态存储器设备、存储阵列、网络附连存储、存储区域网络、被托管的计算机存储或任何其它存储器、存储设备和/或可用于存储并维护供计算设备访问的信息的存储介质。
与计算机存储介质相反,通信介质可在已调制数据信号、载波或传播信号中体现计算机可读指令、数据结构、程序模块或其他数据。如本文所定义的,计算机存储介质不包括通信介质。
图2是解说被配置成发起遥测数据请求并最终接收来自客户机设备的遥测数据的示例计算设备200的精选组件的框图。在各示例中,计算设备200可对应于设备106。
计算设备202可包括操作上连接到计算机可读介质206的一个或多个处理单元204。在计算设备202中,处理单元204可表示例如,CPU型处理单元、GPU型处理单元、现场可编程门阵列(FPGA)、另一类数字信号处理器(DSP)或在一些实例中可由CPU驱动的其他硬件逻辑组件。
在一些示例中,计算设备202可以是能够经由网络连接的多个设备之一。在一些示例中,计算机可读介质206(它可对应于计算机可读介质110)可以存储可由外部加速器(诸如FPGA型加速器、DSP型加速器或任何其他内部或外部加速器)执行的指令。在一些示例中,至少一个CPU、GPU和/或加速器被合并到计算设备202中,而在其他示例中,CPU、GPU和/或加速器中的一者或多者可以在计算设备202外部。
在所解说的示例中,计算机可读介质206包括操作系统208,其可以对应于操作系统116。
在所解说的示例中,计算机可读介质206还包括应用储存库210。应用储存库210可包括结构化或未结构化应用数据存储。在各示例中,应用储存库210存储应用信息,诸如文件大小、操作系统、能力、以及因应用而异的任何其他信息。
在所解说的示例中,计算机可读介质206还包括数据存储212。数据存储212可储存用于被储存在计算机可读介质206中和/或由(诸)处理单元和/或加速器204执行的进程、应用、组件、和/或模块的操作的数据。另选地,以上引用的数据中的一些或全部可被存储在一个或多个处理单元204板载的分开的存储器214中。分开的存储器214可对应于存储器114。
计算设备202可包括接口216,这可对应于接口122和138。接口216可包括网络接口控制器(NIC)、I/O接口或用于经由网络发送和接收通信的其他类型的收发机设备。
计算设备202可经由总线218将处理单元(204)操作地连接到计算机可读介质206、接口216。在各示例中,总线218可对应于总线112和132。
在所解说的示例中,计算机可读介质206还可包括遥测数据支持框架220,它可对应于遥测数据支持框架118。在各示例中,遥测数据支持框架220包括通信模块222。通信模块222可以向客户机设备传送指示对客户机设备上的文件系统中的文件全集的遥测数据的请求的信号。在其他示例中,通信模块222可以传送信号以请求与安装在计算设备202上的操作系统208或计算应用相对应的精选文件夹中的文件集的遥测数据。
在一些示例中,通信模块222可以向给定网络上的多个客户机设备传送请求全文件列表的信号。例如,考虑多个客户机设备在存储相同操作系统208或相同计算应用的相同网络上操作。通信模块222可以向该单个网络上的一些或全部客户机设备传送信号以请求来自每一文件系统的文件集的遥测数据。在其他示例中,通信模块222可以调度到单个网络上的一些或全部客户机设备的信号传输以请求遥测数据。在各示例中,多个客户机设备可对应于相同的最终用户。在一些示例中,多个客户机设备可对应于不同的最终用户。
在至少一个示例中,通信模块222可以接收来自一个或多个客户机设备的全文件列表。如早先描述的,全文件列表的遥测数据可包括但不限于每一文件的原始文件名的散列值、对应的文件大小以及对应的文件位置属性。在各示例中,全文件列表可包括客户机设备的文件系统上的所有文件的列表。在一些示例中,全文件列表可包括与操作系统208或计算应用相对应的精选文件夹中的所有文件的列表。
在至少一个示例中,遥测数据支持框架220可包括文件白名单模块224。在一些示例中,文件白名单模块224可以生成与操作系统208或一个或多个计算应用中的至少一者相对应的系统文件的列表。在各示例中,系统文件列表包括与操作系统208或计算应用相对应的清洁安装。
在一些示例中,文件白名单模块224可以使用单向散列函数228生成文件列表中的每一文件名的散列值。随后,文件白名单模块224可以生成包括每一文件的原始文件名、以及该文件名的散列值、对应的文件大小和/或对应的文件位置属性的白名单226。
在各示例中,遥测数据支持框架220包括文件列表比较模块230。在一些示例中,文件列表比较模块230经由通信模块222从客户机设备接收基线文件列表232并从文件白名单模块224接收白名单226。在一些示例中,文件列表比较模块230将基线文件列表232中的文件名散列值与白名单226相比较。
文件列表比较模块230可以标识基线文件列表232与白名单226之间的一对匹配散列值。响应于标识出一对匹配散列值,文件列表比较模块230可以通过用源自白名单226的原始文件名替换基线文件列表232上的匹配的文件名散列值来生成聚集文件列表234。作为非限制性示例,考虑文件列表比较模块226从基线文件列表232和白名单226标识出具有文件名散列值“901”的文件。文件列表比较模块230可以参考白名单226以确定散列值“901”对应于名为“calc.exe”的文件。因此,文件列表比较模块230可以在聚集文件列表234中生成用原始文件名“calc.exe”替换文件名散列值“901”的条目。
响应于用源自白名单226的原始文件名替换基线文件列表230上的匹配的文件名散列值,聚集文件列表234可以用原始文件名来描述所有白名单文件并用散列值来描述所有非白名单文件。这一过程确保可能在非白名单文件名中揭示的任何用户可标识信息作为散列值保持隐藏,由此保护最终用户的隐私。
在至少一个示例中,遥测数据支持框架220包括用户接口236。用户接口236可以结合接口216在计算设备202上操作以至少部分地基于用户输入来启用可执行指令。用户接口236可通过触摸输入、笔输入、鼠标点击、键盘选择、语音输入、姿势输入、或任何其他输入机制中的至少一者来被激活。在各示例中,用户输入可包括标识文件以生成白名单226。白名单文件可对应于操作系统208或一个或多个计算应用中的至少一者。在一些示例中,白名单文件可对应于实体的专有数据文件。在一些示例中,用户输入可以标识操作系统或计算应用。可至少部分地基于与操作系统或计算应用的关联来标识白名单文件。
在各示例中,与块222、224和230相关联的功能性可被组合以由更少数目的模块来执行,或者它可被拆分并由更大数目的模块执行。例如,文件白名单模块224可被拆分成单独地创建文件白名单以及使用单向散列函数生成散列值的各分开的模块。文件列表比较模块230也可被拆分成比较来自分开的文件列表的散列值以及聚集这两个文件列表以形成具有白名单文件的原始文件名以及非白名单文件的散列值的单个列表的各分开的模块。
图3解说了支持遥测数据的传输的客户机设备302的示例体系结构。在各示例中,客户机设备302可对应于客户机设备124。客户机设备302可包括操作上连接到计算机可读介质306的处理单元304。处理单元304可对应于处理单元126且计算机可读介质306可对应于计算机可读介质128。在一些示例中,处理单元304可包括分开的存储器308,它可对应于存储器132。
在所解说的示例中,计算机可读介质306还包括操作系统310,其可以对应于操作系统134。计算机可读介质306可进一步包括应用储存库312和数据存储314。
在所解说的示例中,客户机设备302可包括接口316,它可对应于接口138并可表示例如网络接口控制器(NIC)、I/O接口、或用于通过网络发送和接收通信的其他类型的收发机设备。
在所解说的示例中,客户机设备302可经由总线318(它可对应于总线130)将处理单元304操作地连接到计算机可读介质308和网络接口316。为了简明起见,其他组件从客户机设备302中省略。
在至少一个示例中,计算机可读介质304可包括遥测数据支持框架320,它可对应于遥测数据支持框架136。在各示例中,遥测数据支持框架320包括通信模块322。通信模块322可以通过网络104接收来自计算设备(诸如106或202)的信号。在各示例中,该信号可以指示对客户机设备302的文件系统中的完整文件列表的遥测数据的请求。在一些示例中,该信号可指示对与安装在客户机设备302上的操作系统310或计算应用相对应的精选文件夹中的文件集的遥测数据的请求。在一些示例中,通信模块322还可向包括所请求的遥测数据的计算设备106或202传送信号。
在至少一个示例中,遥测数据支持框架320可包括标识符模块324。标识符模块324可以生成与经由通信模块322接收到的请求相对应的基线文件列表326。在各示例中,基线文件列表326中的文件可与文件系统中的完整文件列表或对应于安装在客户机设备302上的操作系统310和/或计算应用的精选文件夹中的文件集相对应。在一些示例中,基线文件列表326中的遥测数据可包括每一文件的原始文件名、对应的文件大小和/或对应的文件位置属性。
在各示例中,遥测数据支持框架320可包括散列函数模块328。散列函数模块328可以从标识符模块324接收基线文件列表326并生成每一文件名的散列值。在一些示例中,可使用单向散列函数来生成散列值。
在各示例中,遥测数据支持框架320还可包括经散列文件列表模块330。在各示例中,经散列文件列表模块330可以从标识符模块324接收基线文件列表326并用由散列函数模块328确定的对应散列值来替换每一文件的原始文件名。因此,基线文件列表332中的遥测数据可包括每一文件名的散列值、每一文件的对应的文件大小和/或对应的文件位置属性。这一过程确保可能在非系统文件名或非参考数据文件名中揭示的任何用户可标识信息作为散列值保持隐藏,由此保护最终用户的隐私。
在各示例中,与块322、324、328和330相关联的功能性可被组合以由更少数目的模块来执行,或者它可被拆分并由更大数目的模块执行。例如,单个模块可以通过生成基线文件列表并随后通过用散列值替换原始文件名修改文件列表来执行标识符模块324和经散列文件列表模块330的功能。
图4解说了聚集与接收自客户机设备的文件列表相关联的散列值与由分开的实体生成的文件白名单的过程。在所解说的示例中,客户机设备402生成原始文件列表404。在各示例中,客户机设备402可对应于客户机设备124或302。在各示例中,原始文件列表404可包括文件系统中的所有文件的列表或对应于操作系统或计算应用的精选文件夹中的文件集的列表。原始文件列表404的遥测数据可包括每一文件的原始文件名、对应的文件大小(未示出)和/或对应的文件位置属性(未示出)。
在各示例中,原始文件列表404可通过用对应的散列值替换每一文件的原始文件名来被修改以生成经散列文件列表406。在一些示例中,可使用单向散列函数来生成散列值。经散列文件列表406中的遥测数据可包括每一文件的与原始文件名相对应的散列值、对应的文件大小(未示出)和/或对应的文件位置属性(未示出)。
在所解说的示例中,实体计算设备408可以生成文件白名单410。实体计算设备408可对应于计算设备106或202。文件白名单410可对应于与操作系统或计算应用相关联的文件。在一些示例中,文件白名单410可对应于与该实体相关联的参考数据文件。
在各示例中,实体计算设备408可通过用对应的散列值替换每一文件的原始文件名来生成经散列白名单412。在一些示例中,可使用单向散列函数来生成散列值。经散列白名单412中的遥测数据可包括但不限于每一文件的原始文件名(未示出)、对应于原始文件名的散列值、对应的文件大小(未示出)和/或对应的文件位置属性(未示出)。
在所解说的示例中,实体计算设备408可以接收经散列文件列表406并将经散列文件列表406上的文件名散列值与经散列白名单412上的文件名散列值相比较414。
在各示例中,实体计算设备408可以通过用源自经散列白名单412的原始文件名替换经散列文件列表406上的匹配的文件名散列值来生成聚集文件列表416。这一过程确保可能在非白名单文件名中揭示的任何用户可标识信息作为散列值保持隐藏,由此保护最终用户的隐私。
图5解说了生成白名单以用于与来自客户机设备的遥测数据中接收到的散列值相比较的过程流。在各示例中,计算设备106(诸如分布式计算资源102或计算设备202)可以实现图5所描述的过程流。
在502,计算设备106或202可以生成白名单。在至少一个示例中,白名单可包括与计算应用相关联的文件的列表。在另一示例中,白名单可包括与操作系统相对应的文件的列表。在各示例中,计算设备106或202可以生成白名单中的每一文件名的散列值。在一些示例中,散列值可对应于文件的内容而非文件名。在一些示例中,可使用单向散列函数来生成散列值。随后,白名单可包括原始文件名、文件名和/或文件内容的散列值、对应的文件大小和/或对应的文件位置属性。
在504,计算设备106或202可以将在来自客户机设备124或302的遥测数据中接收到的散列值与所生成的白名单中的散列值相比较。在其中标识了一对匹配散列值的实例中,计算设备106或202可以推导出与该对匹配散列值相关联的文件对应于白名单上的文件。随后,该文件可被标识为对应于专有计算应用的文件或者操作系统或计算应用的系统文件。
图6解说了从客户机环境接收文件列表并生成包括匹配散列值的原始文件名的另一文件列表的过程流。在各示例中,计算设备106或202可以实现图6所描述的过程流。至少一个示例可包括寻求与计算应用的性能和使用相关联的遥测数据的组织。在各示例中,遥测数据可包括测量计算应用的文件的特性,诸如每一文件的文件名、文件内容、对应的文件大小以及对应的文件位置属性。在一些示例中,服务提供者可以收集与操作系统和/或计算应用的文件相对应的遥测数据,并且图6中解说的操作可以在分布式计算资源102上执行。
在各示例中,计算设备106或202可以接收包括对应于操作系统或计算应用的文件以及非系统文件在内的文件的列表。在其他示例中,计算设备106或202可以接收包括来自专有计算应用的文件的文件列表。
在602,计算设备106或202可以接收来自客户机设备124或302的第一文件列表。在各示例中,计算设备106或202可以响应于向客户机设备124或302传送对遥测数据的请求来接收文件列表。在一些示例中,对遥测数据的请求可经由用户接口通过选择与计算设备106或202上的文件相对应的文件夹来生成。在其他示例中,计算设备106或202可以请求客户机设备124或302的文件系统中的所有文件的遥测数据。
在各示例中,计算设备106或202接收到的第一文件列表可包括该文件列表中的每一文件的遥测数据。遥测数据可包括该文件列表中的每一文件的原始文件名、对应的文件大小和/或对应的文件位置属性。在各示例中,可使用单向散列函数来生成原始文件名的散列值。在其他示例中,遥测数据可另选地或另外地包括对应于文件内容的散列值。
在604,计算设备106或202可以将来自第一文件列表的文件名的散列值与来自第二文件列表的文件名的散列值相比较。在各示例中,第二文件列表可对应于与操作系统或计算应用相关联的文件。在一些示例中,第二文件列表包括该文件列表中的每一文件的原始文件名以及文件名的对应散列值。计算设备106或202可以在步骤604之前的任何时间点使用图5中描述的过程流生成第二文件列表。
在606,计算设备106或202可以确定来自第一文件列表和第二文件列表的文件名的散列值是否匹配。在其中标识了一对匹配散列值的实例中,计算设备106或202能以高概率推导出散列成来自第一列表的散列值的文件名与散列成第二列表中的散列值的文件名相对应。
在608,计算设备106或202可以标识文件名的相匹配的散列值的原始文件名。在各示例中,可以从第二文件列表标识原始文件名,该第二文件列表包括该文件列表中的每一文件的原始文件名以及文件名的对应散列值。
在610,计算设备106或202可以通过用来自第二列表的原始文件名来替换第一列表中的文件名的匹配散列值来生成第三文件列表。响应于替换了文件列表上的文件名的所有匹配散列值,第三文件列表可以用原始文件名来标识所有白名单文件名并用散列值来标识所有非白名单文件名。这一过程可确保可能在非白名单文件名中揭示的任何用户可标识信息作为散列值保持隐藏,由此保护最终用户的隐私。
图7解说了在客户机设备上生成经散列文件列表的过程流。客户机设备可对应于124或302。
在702,计算设备124或302可以生成基线文件列表。在至少一个示例中,基线文件列表可包括客户机设备的文件系统中的文件的列表或者与操作系统和/或计算应用相对应的精选文件夹中的文件的列表。在一些示例中,基线列表可包括与从计算设备102或202接收到的请求相对应的文件的列表。例如,计算设备102或202可以向客户机设备124或302传送请求,该请求可指示请求客户机设备124或302的文件系统中的文件列表的遥测数据。在各示例中,该请求可指示请求与操作系统或计算应用相对应的精选文件夹中的文件列表的遥测数据。
在一些示例中,基线文件列表可包括每一文件的原始文件名、对应的文件大小和/或对应的文件位置属性。
在704,客户机设备124或302可以生成与基线文件列表上的每一文件的原始文件名相对应的散列值。在一些示例中,客户机设备124或302可以生成与基线文件列表上的每一文件的内容相对应的散列值。在各示例中,通过用对应散列值替换基线文件列表中的每一文件的原始文件名来生成经散列文件列表。在一些示例中,可使用单向散列函数来确定对应的散列值。基线文件列表中的遥测数据可包括每一文件的散列值、对应的文件大小和/或对应的文件位置属性。
图8解说了从客户机设备传送数据项列表的过程流。在各示例中,客户机设备可对应于124或302。在各示例中,数据项可包括文件、目录或标记。在一些示例中,数据项列表可包括与该数据项列表中的每一数据项相关联的遥测数据。遥测数据可包括与每一数据项相关联的标识符的散列值或与数据项的内容相对应的散列值。在一些示例中,数据项可与关联于操作系统或计算应用的文件或目录相对应并且标识符可对应于文件名或目录名。在一些示例中,遥测数据可与关联于专有计算应用的数据项相对应。
在802,客户机设备124或302可以标识一个或多个数据项的目录。在一些示例中,该目录可与包括关联于操作系统或计算应用的数据项的位置相对应。在其他示例中,该目录可与包括关联于专有计算应用的数据项的位置相对应。在各示例中,一个或多个数据项的目录可通过从计算设备106或202接收到的指示来标识。
在804,客户机设备124或302可以计算一个或多个数据项的目录中的每一数据项的标识符的散列值。在一些示例中,可使用单向散列函数来确定散列值。
在806,客户机设备124或302可以配置数据项列表,该数据项列表包括一个或多个数据项的目录中的每一数据项的标识符的散列值。在各示例中,数据项列表中的遥测数据可包括数据项的标识符的散列值、数据项的对应大小和/或每一数据项的对应位置属性。在各示例中,遥测数据可另选地或另外地包括对应于数据项内容的散列值。
在808,客户机设备124或302可以向服务器传送经配置的数据项列表。用对应散列值替换原始标识符的过程确保可能在非系统标识符中揭示的任何用户可标识信息作为散列值保持隐藏,由此保护最终用户的隐私。
示例条款
A:一种计算机实现的方法,包括:使用服务器接收第一文件列表,所述第一文件列表包括代替所述第一文件列表中的文件的文件名的散列值;将来自所述第一文件列表的文件名的散列值与来自第二文件列表的文件名的散列值相比较;确定来自所述第一文件列表的文件名的散列值与来自所述第二文件列表的文件名相匹配;标识文件名的相匹配的散列值的原始文件名;以及通过用所标识的原始文件名替换所述第一文件列表上的文件名的匹配的散列值来生成第三文件列表。
B:如段落A所述的计算机实现的方法,其中所述第一文件列表包括与文件名相对应的至少一个文件属性。在各实例中,所述至少一个文件属性可包括文件大小、位置属性、访问文件的权限、文件的安全特权、文件版本号、文件的创建时间、或与所述文件名相对应的文件访问时间中的一者或多者。
C:如段落A或B中的任一段所述的计算机实现的方法,其中所述第一文件列表包括客户机环境的文件系统中的所有文件。
D:如段落A-C中的任一段所述的计算机实现的方法,其中所述第一文件列表包括与来自客户机环境的操作系统或计算应用中的至少一者相对应的文件。
E:如段落A-D中的任一段所述的计算机实现的方法,进一步包括在从客户机环境接收到第一文件列表之前,从所述服务器向客户机环境传送标识要包括在所述第一文件列表中的所选文件群的信号。
F:如段落A-E中的任一段所述的计算机实现的方法,其中所述第一文件列表包括与操作系统或计算应用中的至少一者相对应的白名单文件以及与客户机环境的用户相关联的非白名单文件。
G:如段落F所述的计算机实现的方法,其中所述第二文件列表包括与所述操作系统或所述计算应用中的至少一者的新安装相对应的文件。
H:如段落A-E中的任一段所述的计算机实现的方法,其中:所述第一文件列表包括与专有计算应用相关联的文件和不相关联的文件;并且所述第二文件列表包括与所述专有计算应用的新安装相对应的文件。
I:一种其上具有计算机可执行指令的计算机可读介质,所述指令用于配置计算机执行如段落A-H中的任一段所述的方法。
J:一种设备,包括:处理器;以及其上具有计算机可执行指令的一个或多个计算机可读介质,所述指令用于配置所述设备执行如段落A-H中的任一段所述的方法。
K:一种系统,包括:
用于接收第一文件列表的装置,所述第一文件列表包括代替所述第一文件列表中的文件的文件名的散列值;用于将来自所述第一文件列表的文件名的散列值与来自第二文件列表的文件名的散列值相比较的装置;用于确定来自所述第一文件列表的文件名的散列值与来自所述第二文件列表的文件名相匹配的装置;用于标识文件名的相匹配的散列值的原始文件名的装置;以及用于通过用所标识的原始文件名替换所述第一文件列表上的文件名的匹配的散列值来生成第三文件列表的装置。
L:如段落K所述的系统,其中所述第一文件列表包括与文件名相对应的至少一个文件属性。在各实例中,所述至少一个文件属性可包括文件大小、位置属性、访问文件的权限、文件的安全特权、文件版本号、文件的创建时间、或与所述文件名相对应的文件访问时间中的一者或多者。
M:如段落K或L中的任一段所述的系统,其中所述第一文件列表包括客户机环境的文件系统中的所有文件。
N:如段落K-M中的任一段所述的系统,其中所述第一文件列表包括与来自客户机环境的操作系统或计算应用中的至少一者相对应的文件。
O:如段落K-N中的任一段所述的系统,进一步包括用于在从客户机环境接收到第一文件列表之前,向客户机环境传送标识要包括在所述第一文件列表中的所选文件群的信号的装置。
P:如段落K-O中的任一段所述的系统,其中所述第一文件列表包括与操作系统或计算应用中的至少一者相对应的白名单文件以及与客户机环境的用户相关联的非白名单文件。
Q:如段落P所述的系统,其中所述第二文件列表包括与所述操作系统或所述计算应用中的至少一者的新安装相对应的文件。
R:如段落K-O中的任一段所述的系统,其中:所述第一文件列表包括与专有计算应用相关联的文件和不相关联的文件;并且所述第二文件列表包括与所述专有计算应用的新安装相对应的文件。
S:一种计算设备,包括:处理单元;操作地耦合到所述处理单元并且其上具有多个模块的计算机可读介质,所述多个模块包括:标识符模块,所述标识符模块被配置成在由所述处理单元执行时标识一个或多个数据项的目录,所述一个或多个数据项中的每一数据项具有标识符和相关联的数据项大小;散列模块,所述散列模块被配置成在由所述处理单元执行时计算所述一个或多个数据项中的每一单独数据项的标识符的散列值;散列列表模块,所述散列列表模块被配置成在由所述处理单元执行时配置包括所述一个或多个数据项中的每一单独数据项的标识符的散列值以及相关联的数据项大小的数据项列表以供传输给服务器;以及输出接口,所述输出接口被配置成将包括所述一个或多个数据项中的每一单独数据项的标识符的散列值以及相关联的数据项大小的所述数据项列表传送给服务器。
T:如段落S所述的计算设备,其中进一步包括通信模块,所述通信模块被配置成在由所述处理单元执行时从服务器接收所述一个或多个数据项的目录的指示。
U:如段落S或T中的任一段所述的计算设备,其中所述一个或多个数据项包括与操作系统或计算应用中的至少一者相对应的数据项以及不与操作系统或计算应用相对应的附加数据项。
V:如段落S-U中的任一段所述的计算设备,其中所述散列列表模块被进一步配置成在由所述处理单元执行时配置所述数据项列表以包括至少一个数据项属性。在各实例中,所述至少一个数据项属性可包括所述一个或多个数据项中的单独数据项的位置属性、访问权限、安全特权、版本号、创建时间或访问时间中的一者或多者。
W:如段落S-V中的任一段所述的计算设备,其中所述数据项对应于文件、目录或标记中的至少一者;并且其中所述标识符对应于文件名、目录名或标记中的至少一者。
X:一种系统,包括:处理单元;操作地耦合到所述处理单元并且其上具有多个模块的计算机可读介质,所述多个模块包括:通信模块,所述通信模块被配置成在由所述处理单元执行时从客户机环境接收第一文件列表,所述第一文件列表包括一个或多个文件,所述一个或多个文件中的至少一个文件具有文件名的散列值和相关联的文件大小;以及文件列表比较模块,所述文件列表比较模块被配置成在由所述处理单元执行时:将所述第一文件列表上的所述至少一个文件的文件名的散列值与第二文件列表上的文件名的散列值相比较,所述第二文件列表包括至少具有每一文件的文件名和文件名的散列值的一个或多个文件;标识所述第二文件列表上的与所述第一文件列表上的所述至少一个文件的散列值相匹配的散列值;从所述第二文件列表标识所述第一文件列表上的所述至少一个文件的匹配散列值的文件名;以及通过用来自所述第二文件列表的对应文件名替换所述第一列表上的所述至少一个文件的匹配散列值来生成第三文件列表。
Y:如段落X所述的系统,其中所述第二文件列表对应于与专有计算应用相关联的文件。
Z:如段落X或Y中的任一段所述的系统,其中所述第一文件列表包括与专有计算应用相关联的文件和不与专有计算应用相关联的文件,并且其中所述第三文件列表包括与所述专有计算应用相对应的文件的文件名和与不关联于所述专有计算应用的文件相对应的文件的文件名的散列值。
AA:如段落X-Z中的任一段所述的系统,其中所述第一文件列表是从由多个客户机设备访问的服务器接收到的,并且所述多个客户机设备对应于不同用户。
AB:如段落X-AA中的任一段所述的系统,其中所述多个模块进一步包括:白名单模块,所述白名单模块被配置成在由所述处理单元执行时在接收到所述第一文件列表之后的时间点生成所述第二文件列表,并且在文件列表比较模块在所述第一文件列表上标识出匹配的散列值之前执行所述第二文件列表上的文件名的散列。
AC:如段落X-AB中的任一段所述的系统,其中所述多个模块进一步包括:用户接口,所述用户接口被配置成在由所述处理单元执行时接收选择与所述第一文件列表相对应的一个或多个文件的用户输入;以及其中所述通信模块被进一步配置成在由所述处理单元执行时将所述第一文件列表传送给所述客户机环境。
AD:如段落X-AC中的任一段所述的系统,其中所述多个模块进一步包括:用户接口模块,所述用户接口模块被配置成在由所述处理单元执行时接收从包括至少一个操作系统或计算应用的列表选择操作系统或计算应用的用户输入;白名单模块,所述白名单模块被配置成在由所述处理单元执行时标识与所选操作系统或所选计算应用相对应的一个或多个文件;以及其中所述通信模块被进一步配置成在由所述处理单元执行时传送与所选操作系统或所选计算应用相对应的所述一个或多个文件来作为所述第一文件列表。
结语
虽然已经用对结构特征和/或方法动作专用的语言描述了各项技术,但是应该理解,所附权利要求不必限于所述的特征或动作。相反,这些特征和动作是作为实现这些技术的示例形式而描述的。
示例过程的操作在单独的框中示出,并且参考这些框来概括。这些过程被示为逻辑框流,其每个框可表示可用硬件、软件或其组合实现的一个或多个操作。在软件的上下文中,这些操作表示存储在一个或多个计算机可读介质上的计算机可执行指令,这些指令在由一个或多个处理器执行时使得一个或多个处理器执行既定操作。一般而言,计算机可执行指令包括执行特定功能或实现特定抽象数据类型的例程、程序、对象、模块、组件、数据结构等。描述操作的次序并不旨在解释为限制,并且任何数量的所述操作可以按任何次序执行、按任何次序进行组合、细分成多个子操作、和/或并行执行,以实现所描述的过程。可由与一个或多个设备相关联的资源(诸如一个或多个内部或外部CPU或GPU)和/或硬件逻辑的一个或多个片段(诸如FPGA、DSP或其他类型的加速器)来执行所描述的过程。
上述所有方法和过程可以用由一个或多个通用计算机或处理器执行的软件代码模块来具体化,并且可经由这些软件代码模块来完全自动化。这些代码模块可以存储在任何类型的计算机可执行存储介质或其他计算机存储设备中。这些算法中的某些或全部可另选地用专用计算机硬件来具体化。
本文所述和/或附图中描述的流程图中任何例程描述、元素或框应当被理解成潜在地表示包括用于实现该例程中具体逻辑功能或元素的一个或多个可执行指令的代码的模块、片段或部分。替换实现被包括在本文描述的示例的范围内,其中各元素或功能可被删除,或与所示出或讨论的顺序不一致地执行,包括基本上同步地执行或按相反顺序执行,这取决于所涉及的功能,如本领域技术人也将理解的。所有这样的修改和变型本文旨在被包括在本公开的范围内并且由所附权利要求书保护。

Claims (15)

1.一种计算机实现的方法,包括:
使用服务器接收第一文件列表,所述第一文件列表包括代替所述第一文件列表中的文件的文件名的散列值;
将来自所述第一文件列表的文件名的散列值与来自第二文件列表的文件名的散列值相比较;
确定来自所述第一文件列表的文件名的散列值与来自所述第二文件列表的文件名相匹配;
标识文件名的相匹配的散列值的原始文件名;以及
通过用所标识的原始文件名替换所述第一文件列表上的文件名的匹配的散列值来生成第三文件列表。
2.如权利要求1所述的计算机实现的方法,其特征在于,所述第一文件列表包括客户机环境的文件系统中的所有文件。
3.如权利要求1或2中的任一项所述的计算机实现的方法,其特征在于,所述第一文件列表包括与来自客户机环境的操作系统或计算应用中的至少一者相对应的文件。
4.如权利要求1-3中的任一项所述的计算机实现的方法,其特征在于,进一步包括在从客户机环境接收到第一文件列表之前,从所述服务器向客户机环境传送标识要包括在所述第一文件列表中的所选文件群的信号。
5.如权利要求1-4中的任一项所述的计算机实现的方法,其特征在于,所述第一文件列表包括与操作系统或计算应用中的至少一者相对应的白名单文件以及与客户机环境的用户相关联的非白名单文件。
6.如权利要求5所述的计算机实现的方法,其特征在于,所述第二文件列表包括与所述操作系统或所述计算应用中的至少一者的新安装相对应的文件。
7.一种计算设备,包括:
处理单元;
操作地耦合到所述处理单元并且其上具有多个模块的计算机可读介质,所述多个模块包括:
标识符模块,所述标识符模块被配置成在由所述处理单元执行时标识一个或多个数据项的目录,所述一个或多个数据项中的每一数据项具有文件名和相关联的数据项大小;
散列模块,所述散列模块被配置成在由所述处理单元执行时计算所述一个或多个数据项中的每一单独数据项的文件名的散列值;
散列文件列表模块,所述散列文件列表模块被配置成在由所述处理单元执行时配置包括所述一个或多个数据项中的每一单独数据项的文件名的散列值以及相关联的数据项大小的数据项列表以供传输给服务器;以及
输出接口,所述输出接口被配置成将包括所述一个或多个数据项中的单独数据项的文件名的散列值以及相关联的数据项大小的所述数据项列表传送给服务器。
8.如权利要求7所述的计算设备,其特征在于,进一步包括通信模块,所述通信模块被配置成在由所述处理单元执行时从服务器接收所述一个或多个数据项的目录的指示。
9.如权利要求7或8中的任一项所述的计算设备,其特征在于,所述一个或多个数据项包括与操作系统或计算应用中的至少一者相对应的数据项以及不与操作系统或计算应用相对应的数据项。
10.如权利要求7-9中的任一项所述的计算设备,其特征在于,所述数据项对应于文件、目录或标记中的至少一者;以及
其中所述标识符对应于文件名、目录名或标记中的至少一者。
11.一种系统,包括:
处理单元;
操作地耦合到所述处理单元并且其上具有多个模块的计算机可读介质,所述多个模块包括:
通信模块,所述通信模块被配置成在由所述处理单元执行时从客户机环境接收第一文件列表,所述第一文件列表包括一个或多个文件,所述一个或多个文件中的至少一个文件具有文件名的散列值和相关联的文件大小;以及
文件列表比较模块,所述文件列表比较模块被配置成在由所述处理单元执行时:
将所述第一文件列表上的所述至少一个文件的文件名的散列值与第二文件列表上的文件名的散列值相比较,所述第二文件列表包括至少具有每一文件的文件名和文件名的散列值的一个或多个文件;
标识所述第二文件列表上的与所述第一文件列表上的所述至少一个文件的散列值相匹配的散列值;
从所述第二文件列表标识相匹配的散列值的文件名;以及
通过用来自所述第二文件列表的对应文件名替换所述第一列表上的所述至少一个文件的匹配散列值来生成第三文件列表。
12.如权利要求11所述的系统,其特征在于,所述第一文件列表包括与专有计算应用相关联的文件和不与专有计算应用相关联的文件,并且其中所述第三文件列表包括与所述专有计算应用相对应的文件的文件名和与不关联于所述专有计算应用的文件相对应的文件的文件名的散列值。
13.如权利要求11或12中的任一项所述的系统,其特征在于,所述多个模块进一步包括:
白名单模块,所述白名单模块被配置成在由所述处理单元执行时在接收到所述第一文件列表之后的时间点生成所述第二文件列表,并且在文件列表比较模块在所述第一文件列表上标识出匹配的散列值之前执行所述第二文件列表上的文件名的散列。
14.如权利要求11-13中的任一项所述的系统,其特征在于,所述多个模块进一步包括:
用户接口,所述用户接口被配置成在由所述处理单元执行时接收选择与所述第一文件列表相对应的一个或多个文件的用户输入;以及
其中所述通信模块被进一步配置成在由所述处理单元执行时将所述第一文件列表传送给所述客户机环境。
15.如权利要求11-14中的任一项所述的系统,其特征在于,所述多个模块进一步包括:
用户接口模块,所述用户接口模块被配置成在由所述处理单元执行时接收从包括至少一个操作系统或计算应用的列表选择操作系统或计算应用的用户输入;
白名单模块,所述白名单模块被配置成在由所述处理单元执行时标识与所选操作系统或所选计算应用相对应的一个或多个文件;以及
其中所述通信模块被进一步配置成在由所述处理单元执行时传送与所选操作系统或所选计算应用相对应的所述一个或多个文件来作为所述第一文件列表。
CN201680024318.0A 2015-04-27 2016-04-06 在遥测数据的传输中保护用户可标识信息 Active CN107533611B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US14/697,458 2015-04-27
US14/697,458 US9639715B2 (en) 2015-04-27 2015-04-27 Protecting user identifiable information in the transfer of telemetry data
PCT/US2016/026086 WO2016175999A1 (en) 2015-04-27 2016-04-06 Protecting user identifiable information in the transfer of telemetry data

Publications (2)

Publication Number Publication Date
CN107533611A true CN107533611A (zh) 2018-01-02
CN107533611B CN107533611B (zh) 2020-08-25

Family

ID=55806782

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201680024318.0A Active CN107533611B (zh) 2015-04-27 2016-04-06 在遥测数据的传输中保护用户可标识信息

Country Status (4)

Country Link
US (1) US9639715B2 (zh)
EP (1) EP3289513B1 (zh)
CN (1) CN107533611B (zh)
WO (1) WO2016175999A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111837372A (zh) * 2018-01-19 2020-10-27 罗伯特·博世有限公司 用于连接的电动工具的隐私保持数据检索的系统和方法

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9981190B2 (en) * 2015-05-27 2018-05-29 Microsoft Technology Licensing, Llc Telemetry based interactive content generation
US11831654B2 (en) * 2015-12-22 2023-11-28 Mcafee, Llc Secure over-the-air updates
US11860819B1 (en) * 2017-06-29 2024-01-02 Amazon Technologies, Inc. Auto-generation of partition key
US10635567B2 (en) * 2018-05-22 2020-04-28 Microsoft Technology Licensing, Llc Sampling across trusted and untrusted distributed components
US12079814B2 (en) 2018-07-11 2024-09-03 Visa International Service Association Privacy-preserving graph compression with automated fuzzy variable detection
JP7195796B2 (ja) * 2018-07-23 2022-12-26 キヤノン株式会社 情報処理装置、情報処理装置の制御方法、及び、プログラム
WO2021091522A1 (en) 2019-11-04 2021-05-14 Hewlett-Packard Development Company, L. P. Anonymization protocols
AU2021445306B2 (en) * 2021-05-10 2024-08-08 Nippon Telegraph And Telephone Corporation File confirmation apparatus, file confirmation method, and file confirmation program
CN117112508B (zh) * 2023-10-20 2024-02-06 杭州美创科技股份有限公司 基于序号的文件同步方法、装置、计算机设备及存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103180862A (zh) * 2010-08-25 2013-06-26 前景公司 用于服务器耦合的恶意软件防止的系统和方法
CN103678032A (zh) * 2012-09-17 2014-03-26 腾讯科技(深圳)有限公司 系统文件的修复方法及装置
US20140122451A1 (en) * 2012-10-29 2014-05-01 Dropbox, Inc. System and method for preventing duplicate file uploads from a mobile device
EP2779016A1 (en) * 2013-03-15 2014-09-17 Onective AG Automated contact list matching with improved privacy

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6704730B2 (en) 2000-02-18 2004-03-09 Avamar Technologies, Inc. Hash file system and method for use in a commonality factoring system
US7272654B1 (en) 2004-03-04 2007-09-18 Sandbox Networks, Inc. Virtualizing network-attached-storage (NAS) with a compact table that stores lossy hashes of file names and parent handles rather than full names
US7571476B2 (en) 2005-04-14 2009-08-04 Webroot Software, Inc. System and method for scanning memory for pestware
US8214895B2 (en) 2007-09-26 2012-07-03 Microsoft Corporation Whitelist and blacklist identification data
US8732825B2 (en) 2008-05-28 2014-05-20 Symantec Corporation Intelligent hashes for centralized malware detection
US9781148B2 (en) * 2008-10-21 2017-10-03 Lookout, Inc. Methods and systems for sharing risk responses between collections of mobile communications devices
US9208315B2 (en) 2009-03-17 2015-12-08 Microsoft Corporation Identification of telemetry data
US8620879B2 (en) 2009-10-13 2013-12-31 Google Inc. Cloud based file storage service
US8335821B2 (en) 2010-05-17 2012-12-18 Mckesson Financial Holdings Method and apparatus for providing in-band client telemetry data
US9934229B2 (en) 2011-10-23 2018-04-03 Microsoft Technology Licensing, Llc Telemetry file hash and conflict detection
US8584235B2 (en) 2011-11-02 2013-11-12 Bitdefender IPR Management Ltd. Fuzzy whitelisting anti-malware systems and methods
CN102811213A (zh) 2011-11-23 2012-12-05 北京安天电子设备有限公司 基于模糊哈希算法的恶意代码检测系统及方法
US8656494B2 (en) 2012-02-28 2014-02-18 Kaspersky Lab, Zao System and method for optimization of antivirus processing of disk files
US10089323B2 (en) 2012-04-05 2018-10-02 Microsoft Technology Licensing, Llc Telemetry system for a cloud synchronization system
US8826431B2 (en) 2012-11-20 2014-09-02 Symantec Corporation Using telemetry to reduce malware definition package size
EP2775410A1 (en) 2013-03-04 2014-09-10 My Virtual Reality Software AS Method for providing and receiving information representing physical features of a portion of a three-dimensional surface
US10657286B2 (en) * 2015-01-14 2020-05-19 Hewlett Packard Enterprise Development Lp System, apparatus and method for anonymizing data prior to threat detection analysis

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103180862A (zh) * 2010-08-25 2013-06-26 前景公司 用于服务器耦合的恶意软件防止的系统和方法
CN103678032A (zh) * 2012-09-17 2014-03-26 腾讯科技(深圳)有限公司 系统文件的修复方法及装置
US20140101482A1 (en) * 2012-09-17 2014-04-10 Tencent Technology (Shenzhen) Company Limited Systems and Methods for Repairing System Files
US20140122451A1 (en) * 2012-10-29 2014-05-01 Dropbox, Inc. System and method for preventing duplicate file uploads from a mobile device
EP2779016A1 (en) * 2013-03-15 2014-09-17 Onective AG Automated contact list matching with improved privacy

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111837372A (zh) * 2018-01-19 2020-10-27 罗伯特·博世有限公司 用于连接的电动工具的隐私保持数据检索的系统和方法

Also Published As

Publication number Publication date
WO2016175999A1 (en) 2016-11-03
EP3289513A1 (en) 2018-03-07
CN107533611B (zh) 2020-08-25
US9639715B2 (en) 2017-05-02
US20160314315A1 (en) 2016-10-27
EP3289513B1 (en) 2020-03-11

Similar Documents

Publication Publication Date Title
CN107533611A (zh) 在遥测数据的传输中保护用户可标识信息
US20210409191A1 (en) Secure Machine Learning Analytics Using Homomorphic Encryption
US20200236198A1 (en) Zero-knowledge environment based networking engine
JP6626095B2 (ja) 機密情報処理方法、装置、及び、サーバ、ならびに、セキュリティ決定システム
US10963581B2 (en) Systems and methods for secure file transmission and cloud storage
Janjua et al. Proactive forensics in IoT: Privacy-aware log-preservation architecture in fog-enabled-cloud using holochain and containerization technologies
US20180183595A1 (en) Zero-knowledge environment based social networking engine
TW202307686A (zh) 物聯網(二)
JP2019527442A (ja) 一致するコンテンツを特定するためのシステムおよび方法
DE112018007007T5 (de) Verteilte selbstsouveräne identitäten zur virtualisierung von netzwerkfunktionen
US11489660B2 (en) Re-encrypting data on a hash chain
CN111340247A (zh) 纵向联邦学习系统优化方法、设备及可读存储介质
CN106453474A (zh) 在不稳定网络环境中的大文件的网络传输
CN109639819B (zh) 文件传输方法、客户端、服务器及系统
CN110537181A (zh) 管理数据加密应用程序
CN106203164A (zh) 基于可信计算和云计算的信息安全大数据资源管理系统
CN110148441A (zh) 一种基于区块链的临床试验电子数据采集管理方法以及装置
Sathupadi AHybrid Deep Learning Framework Combining On-Device and Cloud-Based Processing for Cybersecurity in Mobile Cloud Environments
CN106612328A (zh) 一种移动阅片系统
US11423169B1 (en) System, method and apparatus for securely storing data on public networks
CN107992319A (zh) 补丁数据更新方法及装置
Richa Iot: security issues and challenges
US20240163088A1 (en) Fault-tolerant access to digital assets without storing sensitive security data for decryption
Shankar et al. Optimal Data Hiding Key in Encrypted Images Based Digital Image Security in Wireless Sensor Networks
CN115757614A (zh) 一种基于区块链的信息云平台管理系统

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant