CN105051699A - 生成标识符 - Google Patents

生成标识符 Download PDF

Info

Publication number
CN105051699A
CN105051699A CN201380075164.4A CN201380075164A CN105051699A CN 105051699 A CN105051699 A CN 105051699A CN 201380075164 A CN201380075164 A CN 201380075164A CN 105051699 A CN105051699 A CN 105051699A
Authority
CN
China
Prior art keywords
parameter
computer equipment
collected
identifier
displacement
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.)
Pending
Application number
CN201380075164.4A
Other languages
English (en)
Inventor
C.乔尔达斯
张凡
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.)
Ai Dide Technology Co Ltd
Irdeto BV
Original Assignee
Ai Dide Technology Co Ltd
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 Ai Dide Technology Co Ltd filed Critical Ai Dide Technology Co Ltd
Publication of CN105051699A publication Critical patent/CN105051699A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/44Program or device authentication
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/71Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
    • G06F21/73Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information by creating or determining hardware identification, e.g. serial numbers
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/13Linear codes
    • H03M13/15Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes
    • H03M13/151Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes using error location or error correction polynomials
    • H03M13/1515Reed-Solomon codes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0876Network architectures or network communication protocols for network security for authentication of entities based on the identity of the terminal or configuration, e.g. MAC address, hardware or software configuration or device fingerprint

Abstract

描述了用于生成计算机设备的标识符的方法和装置,该标识符还可以是诸如web浏览器之类的安装在计算机设备上的软件应用的标识符。计算机设备的参数被收集,用虚拟值扩展并且被重新排序,以形成参数的置换扩展集合,其进而用于生成标识符。

Description

生成标识符
技术领域
本发明涉及用于例如使用关于诸如安装在计算机设备上的web(网络)浏览器之类的软件应用和/或从软件应用接收到的参数来生成计算机设备的标识符的方法和装置。
背景技术
专利公开WO2012/122621和WO2012/122674描述了从在一段时间内可能改变的固定数目的参数来构建唯一标识符以供在计算环境中使用的机制。标识符可以使用诸如母版、BIOS、MAC地址和硬盘之类的资产的标识符来构建,其中的一些可能随着时间而改变。在参数中的这样的改变可以使用错误校正能力来应对,使得起作用的参数的小部分的改变导致仍然相同的计算的标识符。这些错误校正能力可以被有利地添加到计算标识符的过程而不透露随后已经改变的参数的原始或‘正确’值。
图1图示了将由n个参数(p1,p2,…,pn)构成的参数集合P转换成由k个符号(x1,x2,…,xk)构成的标识消息X,如WO2012/122674中所述。该附图示出了在计算机系统中发生以从参数集合P和指纹标识符T恢复标识消息X的操作。计算机系统首先在读取资产参数操作10中获得n个参数pi。使用可以取决于每个参数的特定特性的哈希功能Hashi12来将这些参数转换成哈希值hi。查找功能L使用从指纹功能14T=(t1,t2,…,tn)获得的变换参数ti来将哈希值hi映射成接收码符号ri。错误校正模块16根据所选择的错误校正码来将接收符号转换成标识消息X。查找功能L和变换参数ti被配置为将哈希参数hi的初始值映射成接收符号ri的初始值,并且将hi的所有其他值映射成不等于ri的初始值的值。
WO2012/122674还描述了一种变体,其中使用预处理操作来组合两个或更多个资产参数以产生然后如图1中的过程的单个资产参数那样被处理的输出。
WO2012/122674中描述的方案是更一般技术的示例,其中,固定数目的参数被转换成标识消息X,其中,对X的转换对于参数中有限的改变来说是鲁棒的(robust)。这在图2中被图示,其中鲁棒的身份确定模块20涵盖图1的对资产参数的预处理功能、哈希功能、查找功能、变换参数向量和错误校正过程、或者取决于特定鲁棒的身份确认方案的其他方面。
在ProceedingsofPrivacyEnhancingTechnologiesSymposium2010提出的、电子前沿基金会的PeterEckersley的文章“HowUniqueIsYourWebBrowser”描述了在大量的浏览器上收集web浏览器的可检测属性的实验的结果。其示出存在可以用于标识特定计算机、智能电话、平板电脑或甚至最终用户的极大数目的浏览器属性。在其他地方报告了类似的浏览器属性,并且HTML5W3C规范被预期为以可能暴露另外的客户端特定的浏览器属性的附加API为特征。通常,网页上的“指纹”JavaScript可以用于使web浏览器收集浏览器特定的参数。这在上述PeterEckersley的出版物而且在US2011/099480中进行了描述,其中,web服务器使用所收集的浏览器参数来标识计算机。
所收集的浏览器参数可以用作各种防欺诈应用中的指纹,例如如US2011/099480中所讨论的。然而,为了计算机设备的未来识别的目的而存储web浏览器参数由于存储要求和隐私问题而可能是不合期望的,但是鲁棒地从参数集合导出紧凑标识符的现有技术通常不适合于web浏览器参数的处理。大量不同的可能的web浏览器参数、在任何特定的web浏览器中的实际存在的参数的小部分和这些参数的存在和值随时间的通常频繁的改变对于诸如上面提到的那些的鲁棒的身份确定方案是有问题的。类似的问题在安装在计算机设备上的其他类型的软件应用方面并且实际上在计算机设备本身方面出现。
本发明解决相关现有技术的这些和其他问题以及限制。
发明内容
本发明可以用于将稀疏和动态改变的参数集合转换成可以被输入到鲁棒的身份确定模块的固定数目的参数,以从参数集合生成标识符。具体地,本发明可以用于收集与所安装的web浏览器或其他软件应用或计算机设备相关的参数,并且处理所收集的参数以生成软件应用或计算机设备的标识符,其例如通过在对参数通常有限的改变下保持恒定而对所收集的参数中的改变更加鲁棒。
本发明的一个应用是将web应用链接到特定的web浏览器实例。当web浏览器的每个安装的实例通常是唯一的或几乎如此时,本发明可以用于实现这样的链接。本发明还改进了对诸如浏览器参数之类的信息的保护,其可能有兴趣保持机密,包括通过提供非常难以从其取回关于从其生成的所收集的浏览器参数的信息的标识符。
因此,本发明提供了一种方法,该方法生成计算机设备的标识符,例如软件片段的示例的标识符,例如安装在计算机设备上的诸如浏览器或web浏览器之类的软件片段的标识符,包括:例如通过向计算机设备提供脚本或其他代码以供执行来收集安装的计算机设备的多个参数;形成参数的置换扩展集合,其包括将置换应用于与多个虚拟参数组合的所收集的参数;以及从参数的置换扩展集合确定计算机设备的标识符。
计算机设备可以是例如智能电话、平板计算机、台式或膝上型计算机等。收集的步骤可以是收集与安装在计算机设备上的软件应用相关的参数的步骤,并且那么,计算机设备的所生成的标识符也是软件应用的标识符,所述软件应用可以是web浏览器。
通常,该方法使用相同的置换被重复多次,以确定以确定多个不同时间中的每一个处计算机设备的标识符。然后,可以将标识符的这些重复的版本进行比较,以检查计算机设备的身份中的改变,其可能通过标识符中的改变来指示。
通常,因为计算机设备的配置随时间而改变,所以不论那些参数的值如何,可用于从计算机设备收集的参数将改变,并且参数的值也将改变。
优选地,通过变化添加的虚拟参数的数目以补偿所收集的参数的数目中的改变来在多个时间中的每一个处由相同数目的参数形成置换扩展参数集合。优选地,虚拟参数的数目至少与所收集的参数的数目一样多。
所收集的参数可以以各种方式被压缩和处理,以包括在置换扩展参数集合中,并且所收集的参数还可以被重新排序或者符合特定的排序方案(例如,串的字母的)以包括在置换扩展参数集合中,使得置换扩展集合中的所收集的参数的次序在多个时间中的每一个之间未改变。
置换扩展参数集合可以被变换或投射(cast)成错误校正码(诸如里德所罗门码)的形式。然后,可以通过对错误校正码进行解码来生成标识符。
本发明还提供装置,例如:收集功能或模块,被布置为收集计算机设备或软件应用的多个参数或者与计算机设备或软件应用相关的多个参数,所述软件应用诸如安装在计算机设备上的web浏览器;映射功能或模块,被布置为形成参数的置换扩展集合,其包括将置换应用于与多个虚拟参数组合的所收集的参数;以及确定功能或模块,被布置为从参数的置换扩展集合确定计算机设备或安装的软件应用的标识符。
收集功能、映射功能和确定功能可以一起被安装在计算机设备上,或者可以部分地或整体地安装在其他位置,例如远程服务器上。收集功能、映射功能和确定功能可以例如被实现为web应用以供由针对其生成标识符的安装的web浏览器执行。
因此,该装置可以包括包含上述元件的web应用或其他计算机程序,所述web应用或其他计算机程序被提供在一个或多个计算机可读介质上、通过数据网络分发或者由web服务器提供给计算机设备。一种系统可以包括计算机设备以及提供装置的部分的任何其他组件或网络元件。
该装置还可以包括压缩功能,被布置为使得例如使用一个或多个哈希功能来压缩和/或组合参数的置换集合中的所收集的参数中的一个或多个。该装置还可以包括排序功能,被布置为使得根据在重新确定浏览器标识符的时间之间不变化的预定排序方案来对置换扩展集合中的所收集的参数的次序进行排序。
该装置还可以包括比较功能,被布置为对由确定功能基于在多个不同时间处从计算机设备收集的参数而确定的标识符进行比较,并且由此确认安装的计算机设备的身份在不同时间之间未改变。不论那些参数的值如何,或者不论至少一个参数值是否改变,即使多个所收集的参数中的参数的集合改变,确定功能也可以确定安装的计算机设备的相同标识符。
例如,通过用可变数目的虚拟参数来扩展所收集的(并且可选地,压缩和排序的)参数,用于形成置换扩展集合的虚拟参数和所收集的参数的组合数目优选地在多个不同时间中的每一个处是相同的。
本发明的实施例可以在节点锁定或锚定中使用以使软件许可绑定到特定最终用户,以便确保软件仅由授权和付费客户来使用。具体地,本发明可以用于将诸如web应用之类的软件节点锁定或锚定到特定浏览器。
附图说明
现在将参考附图仅通过示例的方式来描述本发明的实施例,在附图中:
图1和图2图示了如现有技术中描述的标识符的鲁棒的确定的一些方法;
图3图示使用web应用并且应用于安装在计算机设备上的web浏览器的本发明的实施例;
图4示意性地示出了根据本发明的实施例对参数进行处理以形成标识符;以及
图5是示出本发明的实施例的步骤的流程图。
具体实施方式
现在参考图3,示出了安装在计算机设备52上的web浏览器50。Web浏览器使其与多个web浏览器参数51或web浏览器的属性相关联。例如,示例性web浏览器参数在ProceedingsofPrivacyEnhancingTechnologiesSymposium2010提出的、电子前沿基金会的PeterEckersley的文章“HowUniqueIsYourWebBrowser”中进行了讨论,并且可以包括下述参数,诸如浏览器的和与浏览器相关联的插件模块和其他软件元件的版本号、安装的模块的身份、图形能力、安装的字体的各方面、浏览器能力等。这样的参数可以涉及由浏览器保持的单个数据项,或者可以表示这样的一个或多个数据项的组合和/或子集。
图3还示出了一起工作以生成安装的web浏览器的标识符60的多个功能元件。在图3的布置中,这些功能元件形成web应用70的部分,所述web应用70还被安装在计算设备52上并且被布置为结合web浏览器50来进行操作,但是功能元件可以替代地以其他方式被安装在计算机设备52上,或者部分地或完全安装在一个或多个远程计算机实体(诸如通过网络(未示出)连接到计算机设备52的远程服务器)上。注意,本发明可以用于生成计算机设备52本身或诸如文字处理器、更新管理器、媒体播放器和/或管理器、操作系统等之类的安装在计算机设备62上的某个其他软件组件的标识符,并且因此,所收集的参数可以是与任何这样的软件应用和/或其安装和/或配置相关和/或与操作系统或计算机设备本身的其他方面相关的参数。
功能元件包括收集功能72,所述收集功能72被布置为从web浏览器收集web浏览器的可用参数中的至少一些。所收集的参数被示出为数据结构74。假设浏览器包括用于这样的脚本的处理的JavaScript引擎以及用于获得各种浏览器特定的参数的适当API,浏览器参数的收集可以方便地使用JavaScript代码76来进行,该JavaScript代码76由收集功能72作为网页的部分被提供到浏览器。收集浏览器参数的其他方式对技术人员来说是显而易见的。
在许多浏览器中,一些浏览器参数的收集可以使用JavaScript代码沿着以下行来执行:
上述脚本使用标准JavaScriptAPI“navigator.plugins”来获得对具有关于当前安装的浏览器插件模块的细节的数据结构的引用。其余代码将其转换成用于每个插件的标识串。存在数以千计的浏览器插入模块,但是安装的web浏览器50的单个实例通常将不经常安装有多于约30个不同的插件模块。
类似的脚本可以用于可能与CSS结构组合地使用可用JavaScriptAPI收集其他浏览器参数。利用这些附加源,可能参数的范围显著地增加。
注意,在任何特定的安装的web浏览器50中,将存在可能的浏览器参数的仅仅小的子集,并且存在的参数的特定组合甚至在可比较的平台(例如,Appleiphone、MicrosoftWindows7PC)上的相同浏览器类型(例如AppleSafari、GoogleChrome)之间通常很大地变化,其中,广泛的进一步变化在参数的实际值中被发现。因此,由收集功能72在任何特定时间收集的参数将是通常可能从安装的web浏览器收集的可能参数的稀疏子集,并且从web浏览器50可得到的参数及其值二者都将随时间而变化,例如在插件模块被更新、添加和删除时、字体集合改变时或者在图形显示的分辨率被改变时。
功能元件还包括映射功能80,该映射功能80从收集功能72接收所收集的参数74,并且对其进行处理以生成置换扩展参数集合90。映射功能80可以包括多个不同的功能,其可以以各种不同的次序或同时对所收集的参数74进行操作。一个这样的功能是压缩功能82,该压缩功能82被布置为例如使用哈希功能、对参数串中的字符的XOR运算和或其他适当的数据缩减处理来对从web浏览器收集的参数的一些或全部进行压缩,其通常可以取决于被处理或压缩的参数的性质而变化。这样的压缩优选地旨在保持在特定的所收集的参数的值的可能的范围中获得的熵。压缩功能还可以组合各种所收集的参数或从web浏览器50接收的收集的参数的部分以形成所收集的参数的其他复合版本。
所收集的参数74可能不总是以从收集功能72的一个收集动作到另一动作的相同的次序被收集,例如由于web浏览器对来自收集功能72的请求进行响应的方式,并且这具体地可能是当参数已经被添加或从浏览器参数51移除时的情况。因此,映射功能80还可以使用排列(sort)方案84来对收集的参数进行排列(以压缩的形式,如果需要的话),以确保在收集和映射功能的重复操作之间的所收集的参数的排序中的一致性。示例性排列方案84可能是关于串参数列表的字母排列。
映射功能80通过将置换86应用于与多个虚拟参数(在所图示的参数的置换扩展集合中表示为“D”)组合的所收集的参数(酌情以经排列和/或压缩的形式)来生成参数的置换扩展集合90。在对其应用置换的所收集的参数和虚拟参数的组合集合中的参数的数目通常将比可以从web浏览器收集的不同参数的可能的数目低得多,该可能的数目与跨大量web浏览器的收集的参数的熵紧密相关。上面参考的PeterEckersley的论文报告了至少18个比特的可收集浏览器参数的典型的熵。因为大多数浏览器参数具有相当有限数目的不同值(即,8个比特的熵),这表明Eckersley发现在他的实验中的浏览器群体上实际上可收集大约210个不同的参数。典型安装的web浏览器可能包含具有近似50个不同的可收集参数的参数集合。
对其应用置换的所收集的参数和虚拟参数的组合集合中的参数的总数可以是预定的,并且通过映射功能在对所收集的参数的不同集合的操作之间一致地使用。例如,要置换的参数的总数可以被设置为所收集的参数的典型数目的大约两倍或三倍,例如,使得虚拟参数的数目总是至少与所收集的参数的数目相同。
可以对虚拟参数D分配默认值,例如可以所有被分配例如零整数值的相同的默认值或诸如随机值之类的不同值。
包括虚拟参数的扩展参数集合的置换的过程可以以各种方式在由映射功能执行的其他过程之前、之后或与其组合地被执行。置换86可以例如通过随机置换表或其他结构来定义,该其他结构定义与虚拟参数组合的所收集的参数的重新排序,其中,虚拟参数通常散布在所收集的参数当中(反之亦然)。置换86被维持而没有由映射功能80进行的改变以用于对在一段时间内收集的参数的多个不同集合的操作,使得从所收集的参数的对应集合74、74'、74''生成的置换扩展参数集合90、90'、90''可以用于生成浏览器的标识符的多个版本60、60'、60''。
置换86可能在web应用70中本地地或者以其他方式在设备52处生成,或者可以从远程服务器被传送到设备。置换优选地被以混淆形式被存储。在没有置换86的知识的情况下,对于攻击者而言难以从置换扩展参数集合90导出关于原始参数51或所收集的参数74的信息,这有助于保持机密性。
置换扩展参数集合90被传递到确定功能100,该确定功能100被布置为从置换扩展参数集合确定web浏览器50的标识符60。收集功能、映射功能和确定功能可以在多个不同的时间重复其操作,以确定在那些时间的标识符60、60'、60''。在图3中,所确定的标识符被示出为从计算机设备52向外传递到远程实体53,例如通过数据网络到远程服务器。如果在多个时间生成标识符60、60'、60''的多个版本,则这些可以由远程实体以各种方式使用,例如以确定浏览器的身份保持不变,或者得到或向计算机设备提供对特定数据或资源的继续访问。当然,对标识符或标识符的多个版本的这样的比较或类似的使用还可以或替代地在web应用70内或以其他方式在计算机设备52本身处发生。
在许多应用中,所生成的标识符60、60'、60''将通常在扩展时段内不被存储在计算机设备52本身处,以减少危害或攻击的风险。
为了在不同的时间生成相同的标识符,使用预期在所收集的参数74内的存在和那些时间之间的值二者中改变的所收集的参数,确定功能100优选地基于置换扩展参数集合90来实现鲁棒的身份确定。一些适当的鲁棒的身份确定方案在WO2012/122621和WO2012/122674中被教导,并且可以使用置换扩展参数集合90来应用。置换扩展参数集合非常适合作为对这样的方案和算法的输入,因为其具有固定数目的元素,与将在参数的数目方面随时间而变化的由收集功能70从web浏览器收集的参数不同。因此,置换扩展参数集合的使用减少了所收集的参数中的改变到标识符60的传播,允许在确定功能100中使用较简单的错误校正方案。因为替换所收集的参数或向所收集的参数添加元素不会使所有参数而仅仅使子集移位,并且这些改变在整个置换扩展参数集合上分布,所以减少改变的传播。
WO2012/122621的教导可以通过下述来应用:生成与置换扩展参数集合的每个参数相对应的共享,将秘密共享算法应用于多个共享的多个子集以导出多个候选标识符,子集的数目是根据对置换扩展参数集合的参数与置换扩展参数集合的先前或原始值的差的容限阈值来确定的,并且将最普遍的候选标识符值确定为web浏览器50的最终标识符。秘密共享算法可以是(M-k,N)秘密共享算法,其中N是多个共享的数目,M<N,并且k是预定常数。其他细节在WO2012/122621中提供,其出于此和所有其他目的通过引用合并于此。
WO2012/122674的教导可以通过下述来应用:根据预定功能来处理置换扩展参数集合和指纹以获得码符号,指纹与web浏览器相关联并且基于来自映射功能80的较早的置换扩展参数集合。以该方式,置换扩展参数集合被变换成错误校正码。然后,将错误校正算法应用于码符号以获得标识符60。错误校正算法可以是里德所罗门错误校正码或类似的。其他细节在WO2012/122674中提供,其出于此和所有其他目的通过引用合并于此。
确定功能100可能需要初始化,以便于获得适当的查找信息来将置换扩展参数集合变换成对所收集的参数中的改变适当地鲁棒的标识符60。这可能涉及将较早生成的置换扩展参数集合或所收集的参数的集合发送到远程服务器,该远程服务器计算适当的配置数据以供在计算机设备处使用,并且具体地,计算错误校正数据以确保可以计算正确的标识符。例如,适当的错误校正码可以通过这样的服务器来提供,其还可以是向计算机设备提供web应用代码的服务器。在web应用处的错误校正码的计算将频繁地是不合期望的,由于针对攻击的增加的可能性。为此,所收集的参数的或置换扩展参数集合的匿名版本(例如,使用初始收集的参数)可以从计算机设备被发送到服务器,所述服务器然后以配置数据的形式返回错误校正码能力。然后,服务器还知道计算机设备将生成的并且在后续内部计算和/或通信协议中使用的标识符60的值。
图4总结了由映射功能80与收集功能72和确定功能100组合地执行的过程。收集功能72例如使用JavaScript元件76来获得web浏览器的参数74(p1...p6)。映射功能80向所收集的参数的集合添加多个虚拟参数(e7…e12),其中每一个具有默认的、随机的或其他值88。映射功能80对所收集的参数和虚拟参数D应用置换86以输出置换扩展参数集合90。映射功能还可以执行所收集的参数74的压缩和排序(或这样的过程中的一些或全部可能在收集功能72中发生)。最后,确定功能100处理置换扩展参数集合,以产生web浏览器的标识符60。整个过程可以在不同的时间重复,由所收集的参数的多个集合74、74'、74''、多个对应的置换扩展参数集合90、90'、90''和多个标识符60、60'、60''表示,以例如通过断定在标识符60、60'、60''已经改变的情况下身份已经改变,而例如提供web浏览器的身份在重复的过程之间保持相同或已经改变的指示。标识符的重复计算可以类似地用于获得从远程实体53或出于其他目的对资源的继续访问。
图5的流程图将本发明的上述实施例图示为一系列步骤。这些步骤可以使得驻留的web应用70使用脚本76生成表示为X的标识符60。浏览器参数51被收集200并且被转换210成可变大小(例如,串的阵列)的参数集合P(在较早的附图中被表示为74)。参数集合元素可以使用一个或多个哈希功能或其他适当的数据缩减过程而被压缩220。为了获得从一次收集到下一次的所收集的参数P的相同排序,可选排列步骤230对所收集的参数集合进行排序。然后,用虚拟元素扩展240经排序的所收集的参数集合P’,其产生了在不同时间的步骤系列的重复之间具有固定数目的元素的扩展参数集合E。然后,扩展(经排序)的参数集合被置换250,生成置换扩展参数集合E’。集合置换步骤250可以有利地使用web应用特定的置换表,所述置换表允许具有相同配置的两个安装的web浏览器生成不同的置换扩展集合E’。示例是使用(伪)随机数生成器本地地初始化的置换表。在没有置换表的知识的情况下,对于第三方而言难以从置换扩展集合E’导出参数集合P。这有助于保护浏览器参数集合的保密性。
置换扩展参数集合E’形成对鲁棒的身份确定步骤260的输入,其具有针对从对web浏览器配置的改变而导致的所收集的参数中的改变进行校正的能力。以上提到的WO2012/122621和WO2012/122674公开描述了用于实现这样的步骤的方式。
注意,在集合置换步骤250之前在图5中的步骤的次序可以变化,而没有对该过程的结果的任何改变。
应当理解,可以在不背离如所附权利要求中限定的本发明的范围的情况下对所述实施例进行变化和修改。例如,应当理解,与任何一个实施例相关地描述的任何特征可以被单独使用或者与关于该实施例或其他实施例描述的其他特征组合地使用。

Claims (28)

1.一种生成计算机设备的标识符的方法,包括:
收集所述计算机设备的多个参数;
形成参数的置换扩展集合,其包括将置换应用于与多个虚拟参数组合的所收集的参数;
从参数的置换扩展集合生成所述计算机设备的标识符。
2.一种方法,包括在多个不同的时间以相同的置换重复权利要求1的步骤,以确定在多个不同的时间中的每一个处的所述计算机设备的标识符。
3.根据权利要求2所述的方法,进一步包括:使用在多个不同的时间中的每一个处确定的标识符来确认所述计算机设备的身份在不同的时间之间未改变。
4.根据权利要求3所述的方法,其中,不论那些参数的值如何,多个所收集的参数中的参数的集合在不同的时间中的至少两个之间改变。
5.根据权利要求3或4所述的方法,其中,参数的至少一个值在不同的时间中的至少两个之间改变。
6.根据权利要求2至5中的任一项所述的方法,其中,用于形成置换扩展集合的所收集的参数和虚拟参数的组合数目在多个不同的时间中的每一个处是相同的。
7.根据任一项前述权利要求所述的方法,其中,虚拟参数的数目至少与置换扩展参数集合中的所收集的参数的数目一样多。
8.根据任一项前述权利要求所述的方法,进一步包括:相对于如从所述计算机设备收集的那些参数,对包括在置换扩展参数集合中的所收集的参数中的至少一些进行压缩。
9.根据任一项前述权利要求所述的方法,进一步包括:根据排序方案来对所收集的参数进行排序,使得不论所收集的参数中的一个或多个在多个时间中的任一个之间被删除还是添加,在置换扩展参数集合中的所收集的参数的次序在多个时间中的每一个之间未改变。
10.根据任一项前述权利要求所述的方法,其中,从参数的置换扩展集合确定所述计算机设备的标识符包括:将参数的置换扩展集合变换成错误校正码。
11.根据权利要求10所述的方法,其中,所述错误校正码是里德所罗门代码。
12.根据权利要求1至11中的任一项所述的方法,其中,所述计算机设备的参数是与安装在所述计算机设备上的软件应用相关的参数,并且所述计算机设备的所生成的标识符是所安装的软件应用的标识符。
13.根据权利要求12所述的方法,其中,所安装的软件应用是web浏览器。
14.用于确定计算机设备的标识符的装置,所述装置包括:
收集功能,被布置为收集所述计算机设备的多个参数;
映射功能,被布置为形成参数的置换扩展集合,其包括将置换应用于与多个虚拟参数组合的所收集的参数;
确定功能,被布置为从参数的置换扩展集合生成所述计算机设备的标识符。
15.根据权利要求14所述的装置,进一步包括压缩功能,被布置为使得相对于如原始收集的参数来对参数的置换集合中的所收集的参数进行压缩。
16.根据权利要求14或15所述的装置,进一步包括排序功能,被布置为使得根据排序方案来对在置换扩展集合中的所收集的参数的次序进行排序。
17.根据权利要求14至16中的任一项所述的装置,进一步包括比较功能,被布置为对由确定功能基于在多个不同时间处从web浏览器收集的参数而确定的标识符进行比较,并且由此确认所述计算机设备的身份在不同时间之间未改变。
18.根据权利要求17所述的装置,其中,所述装置被布置为使得,不论那些参数的值如何,即使多个所收集的参数中的参数的集合改变,确定功能也可确定所述计算机设备的相同的标识符。
19.根据权利要求17所述的装置,其中,所述装置被布置为使得即使参数的至少一个值改变,确定功能也可确定所述计算机设备的相同的标识符。
20.根据权利要求17至19中的任一项所述的装置,其中,用于形成置换扩展集合的所收集的参数和虚拟参数的组合数目在多个不同时间中的每一个处是相同的。
21.根据权利要求17至20中的任一项所述的装置,其中,虚拟参数的数目至少与所收集的参数的数目一样多。
22.根据权利要求14至21中的任一项所述的装置,其中,所述收集功能被布置为收集与安装在所述计算机设备上的软件应用相关的参数,并且所述计算机设备的标识符也是所安装的软件应用的标识符。
23.根据权利要求22所述的装置,其中,软件应用是web浏览器。
24.根据权利要求23所述的装置,其中,所述收集功能被布置为向所述web浏览器提供可执行代码,以使所述web浏览器将所收集的参数返回到所述收集功能。
25.一种系统,包括:根据权利要求14至24中的任一项所述的装置;以及其上安装有软件应用的计算机设备。
26.根据权利要求25所述的系统,其中,根据权利要求14至24中的任一项所述的装置也被安装在所述计算机设备上。
27.根据权利要求26所述的系统,其中,所述软件应用是web浏览器,所述系统包括安装在所述计算机设备上以供与所述web浏览器结合地执行的web应用,并且至少所述映射功能被包括在所述web应用内。
28.一种包括计算机程序代码的计算机可读介质,所述计算机程序代码可操作为当在适当的计算机装置上执行时实现根据权利要求1至13中的任一项所述的步骤。
CN201380075164.4A 2013-03-28 2013-03-28 生成标识符 Pending CN105051699A (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2013/073393 WO2014153762A1 (en) 2013-03-28 2013-03-28 Generating identifier

Publications (1)

Publication Number Publication Date
CN105051699A true CN105051699A (zh) 2015-11-11

Family

ID=51622397

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201380075164.4A Pending CN105051699A (zh) 2013-03-28 2013-03-28 生成标识符

Country Status (4)

Country Link
US (1) US20160042183A1 (zh)
EP (1) EP2956859A4 (zh)
CN (1) CN105051699A (zh)
WO (1) WO2014153762A1 (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106650519A (zh) * 2016-12-08 2017-05-10 同盾科技有限公司 一种设备追踪方法和系统
CN112905249A (zh) * 2021-01-29 2021-06-04 加和(北京)信息科技有限公司 设备标识符的确定方法

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104184713B (zh) * 2013-05-27 2018-03-27 阿里巴巴集团控股有限公司 终端识别方法、机器识别码注册方法及相应系统、设备
US10560372B1 (en) * 2017-08-28 2020-02-11 Amazon Technologies, Inc. Request routing based on server software versions
US11093656B2 (en) * 2018-11-14 2021-08-17 Irdeto B.V. Change-tolerant method of generating an identifier for a collection of assets in a computing environment

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2010093683A2 (en) * 2009-02-10 2010-08-19 Uniloc Usa, Inc. Web content access using a client device identifier
WO2012122674A1 (en) * 2011-03-15 2012-09-20 Irdeto Canada Corporation Change-tolerant method for generating identifier for collection of assets in computing environment using error-correction code scheme

Family Cites Families (6)

* 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
EP1393145A2 (en) * 2000-11-20 2004-03-03 ECD Systems, Inc. Systems and methods for preventing unauthorized use of digital content
US8607128B2 (en) * 2007-12-05 2013-12-10 Densbits Technologies Ltd. Low power chien-search based BCH/RS decoding system for flash memory, mobile communications devices and other applications
US8381266B2 (en) * 2009-10-27 2013-02-19 Computer Associates Think, Inc. Method and system for machine identification
US8667265B1 (en) * 2010-07-28 2014-03-04 Sandia Corporation Hardware device binding and mutual authentication
US10290017B2 (en) * 2011-11-15 2019-05-14 Tapad, Inc. Managing associations between device identifiers

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2010093683A2 (en) * 2009-02-10 2010-08-19 Uniloc Usa, Inc. Web content access using a client device identifier
WO2012122674A1 (en) * 2011-03-15 2012-09-20 Irdeto Canada Corporation Change-tolerant method for generating identifier for collection of assets in computing environment using error-correction code scheme

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
MICK VAITES: "The effectiveness of a browser fingerprint as a tool for tracking", 《HTTP://MICKVAITES.COM/WP-CONTENT/UPLOADS/2013/09/T802_MICHAEL_VAITES_2013-BROWSERFINGERPRINTING.PDF》 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106650519A (zh) * 2016-12-08 2017-05-10 同盾科技有限公司 一种设备追踪方法和系统
CN112905249A (zh) * 2021-01-29 2021-06-04 加和(北京)信息科技有限公司 设备标识符的确定方法

Also Published As

Publication number Publication date
WO2014153762A1 (en) 2014-10-02
EP2956859A1 (en) 2015-12-23
EP2956859A4 (en) 2016-10-12
US20160042183A1 (en) 2016-02-11

Similar Documents

Publication Publication Date Title
US10778441B2 (en) Redactable document signatures
CN109040341B (zh) 智能合约地址的生成方法、装置、计算机设备及可读存储介质
CN107426165B (zh) 一种支持密钥更新的双向安全云存储数据完整性检测方法
CN103166751A (zh) 用于保护分组密码免受模板攻击的方法和装置
JP5854443B2 (ja) 誤り訂正符号方式を用いて計算環境における資産集合についての識別子を生成する変化許容力を有する方法
CN105051699A (zh) 生成标识符
CN110489466B (zh) 邀请码的生成方法、装置、终端设备及存储介质
Kim et al. Data hiding based on overlapped pixels using hamming code
CN104348624A (zh) 一种哈希认证可信度的方法和装置
CN113448817A (zh) 一种页面录屏方法、装置以及存储介质
CN108028751B (zh) 用于移动主动秘密共享的系统、计算机可读介质和方法
CN112307503B (zh) 签章管理方法、装置和电子设备
CN104468561A (zh) 用于修改密码的方法和系统
CN111563268B (zh) 基于矩阵运算的数据加密方法、装置及存储介质
JP6844696B2 (ja) 認証タグ生成装置、認証タグ検証装置、方法及びプログラム
US11281688B2 (en) Ranking and de-ranking data strings
CN107210005B (zh) 矩阵/密钥生成装置、矩阵/密钥生成系统、矩阵结合装置、矩阵/密钥生成方法、程序
CN111049814B (zh) 一种在边缘计算环境中针对污染攻击的计算验证的方法
CN113272782A (zh) 经由多方计算的分布式随机生成
KR102019558B1 (ko) 내재적 인증서를 사용하는 전자서명에 대한 효율적인 서명 검증 방법
Liu et al. Video data integrity verification method based on full homomorphic encryption in cloud system
US11829512B1 (en) Protecting membership in a secure multi-party computation and/or communication
US11928134B1 (en) Medoid-based data compression
CN114415943B (zh) 一种云端多副本数据的公开审计方法及审计系统
CN109428885B (zh) 用于保护设备的方法和装置

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
WD01 Invention patent application deemed withdrawn after publication
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20151111