CN113366480A - 生成计算环境中的一批资产的标识符的容变方法 - Google Patents

生成计算环境中的一批资产的标识符的容变方法 Download PDF

Info

Publication number
CN113366480A
CN113366480A CN201980088988.2A CN201980088988A CN113366480A CN 113366480 A CN113366480 A CN 113366480A CN 201980088988 A CN201980088988 A CN 201980088988A CN 113366480 A CN113366480 A CN 113366480A
Authority
CN
China
Prior art keywords
asset
candidate
fingerprint
asset parameters
shares
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
CN201980088988.2A
Other languages
English (en)
Inventor
P·A·埃森
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.)
Irdeto Technology Co ltd
Irdeto BV
Original Assignee
Irdeto 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 Irdeto Technology Co ltd filed Critical Irdeto Technology Co ltd
Publication of CN113366480A publication Critical patent/CN113366480A/zh
Pending legal-status Critical Current

Links

Images

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/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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • G06F21/12Protecting executable software
    • G06F21/121Restricting unauthorised execution of programs
    • G06F21/125Restricting unauthorised execution of programs by manipulating the program code, e.g. source code, compiled code, interpreted code, machine code
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/085Secret sharing or secret splitting, e.g. threshold schemes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0891Revocation or update of secret information, e.g. encryption key update or rekeying
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • G06F21/106Enforcing content protection by specific content processing
    • G06F21/1062Editing

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Mathematical Physics (AREA)
  • Multimedia (AREA)
  • Technology Law (AREA)
  • Collating Specific Patterns (AREA)

Abstract

一种基于与计算环境的组件相关联的资产参数来生成计算环境的指纹的容变方法。基于组件的特性,资产参数被分组为多个子集。为该类别的每个资产参数生成份额,以产生多个份额。将秘密共享算法应用于子集,以生成对应于多个份额子集的多个候选标识符。至少部分基于候选标识符的出现频率,从所述多个候选标识符选择候选标识符作为每个类别的最终标识符。最终标识符被组合成对应于计算环境的指纹,其中该指纹提供对所述多个组件的验证,而不需要对所述多个份额中的任何份额进行单独验证。

Description

生成计算环境中的一批资产的标识符的容变方法
技术领域
本公开一般涉及生成多批资产的标识符。更特别地,本公开涉及一种使用秘密共享方案生成计算环境中的一批资产的标识符的容变方法。
背景技术
诸如个人计算机(PC)系统的用于计算环境的许多保护技术需要机制来鲁棒地标识在其上运行应用的PC。这通常是通过从系统的各种资产中读出标识符来实现的,所述各种资产诸如集成到计算机中的硬件元件(母板参数、BIOS、MAC地址、硬盘、CD/DVD播放器、显卡、I/O控制器)。这些标识符然后被组合成一标识符,即,系统的“指纹”。例如,导出系统的指纹的简单方式是对所有设备标识符应用异或(XOR)。
基本的指纹算法从系统收集资产,并以某种方式将它们组合,以产生称为指纹的较小的值。该指纹用作设备的标识符:每次运行相同的算法时,它都应该确定性地产生相同的指纹。然而,标识符可以是唯一的,或可以不是唯一的;这是资产的质量因数。
但在许多情况下,经受指纹算法的资产集改变。这可能是出于恶意原因(例如,故意试图改变计算组件的身份)而发生的,但最经常地,这仅是用户通过更新操作系统、换出硬盘驱动器或对计算组件进行其他可接受的改变来合法更新其系统上的软件或硬件的结果。如果任何资产、例如计算组件改变,则基本的指纹算法将导致计算的指纹将改变。取决于用例,这通常是不合期望的。
当计算机组件或其他资产改变时,诸如由于替换和修理,用以确定系统标识符的方法需要适应对组件标识符的可接受的改变。支持组件更新的一种方式是通过允许一些组件标识符改变,同时仍然生成相同的系统标识符。用以实现此的已知方式是通过在初始化阶段期间记录唯一的组件标识符,并且在标识符计算阶段期间将记录的标识符与实际的标识符进行比较,并且如果存在足够的匹配,则使用记录的标识符来计算系统的指纹。
存在从可能随时间改变的一批贡献信息片导出系统的指纹的类似方法。尽管基于不同的贡献信息,但是此类方法还需要适应对贡献信息的改变而不改变计算的指纹。如之前,如果在实际信息和记录的信息之间存在足够的匹配,则贡献信息可以被记录并用作标识符。
关于此类方法的一个问题是记录的标识符与检索的参数的比较对攻击敏感。记录的设备标识符的存在是这些攻击的关键使能因素(enabler)。因此,合期望的是提供一种生成系统的指纹的方法,该方法容忍计算环境中的改变,同时抵抗恶意攻击。
被称为“N中的M指纹”的一种方法试图解决组合敌对和易变计算系统上的资产(例如,计算元件)信息的问题,以产生系统的指纹。目标是即使资产(诸如计算元件)中的一些改变,直到预定的阈值,也允许指纹保持相同。此外,这应该在不存储预期资产参数的情况下完成,因为这将提供容易的攻击向量。
然而,如果允许太多的资产改变,即,阈值太高,而没有所得指纹中的改变,则结果可能有问题。例如,在其中所有资产都可以改变的极端情况下,结果是如下情形:其中资产的任何组合都将必然产生相同的指纹,这意味着指纹实际上根本不是标识符。在“N中的M指纹算法”中,只要N个资产中的M个或更多个资产保持相同,则该算法将产生相同的结果,即,相同的指纹。在这样的方法中,所有资产都得到平等对待。只要达到阈值,哪些资产匹配以及哪些资产改变,都没有关系。
如所述,值M是阈值——如果少于M个资产匹配,则将产生错误的指纹(具有压倒性的可能性),并且如果M个或更多个资产匹配,则将产生正确的指纹。这可以在某种程度上通过允许阈值宽松来推广。例如,仅可以支持负的情况——如果少于M个资产匹配,则产生错误的指纹。相反,M个或更多个资产匹配的大多数但不是所有情况都将产生正确的指纹(当然,所有N个资产匹配的情况将产生正确的指纹)。作为另一个示例,仅可以支持正的情况——如果M个或更多个资产匹配,则保证正确的指纹,并使少于M个资产匹配的大多数情况产生错误的指纹。这样的宽松可能提供性能权衡。
US公开专利申请号2014/0007252公开了使用N中的M指纹算法生成与计算环境相关联的一批资产的标识符的容变方法。资产中的每个具有与其相关联的标识资产参数。检索一批资产的资产参数,并且生成对应于每个资产参数的份额,以提供多个份额。已知“份额”用在“秘密共享”方法中,该“秘密共享”方法即用于在一组参与者之间分配秘密的方法,参与者中的每个被分派秘密的一份额或一部分。仅当足够数量的份额被组合时,秘密才可以被重构。个体份额其本身是没有用的。
在US公开专利申请号2014/0007252中公开的方法中,将秘密共享算法应用于多个份额的多个子集,以导出多个候选标识符(指纹);该子集的数量根据资产参数与计算环境的原始资产参数相比的差异的容限阈值来确定。最普遍的候选标识符值被确定并指定为一批资产的最终标识符,即指纹。例如,最终标识符可以用于确定软件应用是否可以在作为一批资产的计算平台上有效执行。秘密共享算法可以是(M-k,N)秘密共享算法,其中N是多个份额的数量,M是具有正确值的份额的数量(因此M<N),并且k是预定常数。容限阈值等于N-M。然而,在案例M=1的情况下,即,集合中仅1个资产保持相同,则该方法失效。此外,当N是大的时,例如,在一个示例中大于10,该方法可能展现性能问题。这些限制致使上面讨论的方法在许多实现中不是纲领性的。
发明内容
一个实现包括生成包括多个组件的计算环境的指纹的容变方法,组件中的每个具有与其相关联的资产参数,该方法包括:检索组件中的每个的资产参数;基于对应于资产参数的组件的特性将资产参数分组为多个子集,每个类别具有至少一个资产参数;对于资产参数的每个子集:生成对应于该类别的每个资产参数的份额,以产生多个份额;使用资产参数修改份额;将秘密共享算法应用于份额多个子集,以生成对应于多个份额子集的多个候选标识符;以及至少部分基于候选标识符的出现频率,从多个候选标识符选择所述候选标识符作为该类别的最终标识符;以及将最终标识符组合成对应于计算环境的指纹,其中该指纹被配置为提供对多个组件的验证,而不需要对多个份额中的任何份额进行单独验证。
另一实现包括一种用于生成计算环境的容变指纹的系统,该环境包括多个组件,组件中的每个具有与其相关联的资产参数,该系统包括:至少一个计算机硬件处理器;至少一个存储器,其上存储指令,所述指令当由至少一个处理器执行时,使得至少一个处理器:检索组件中的每个的资产参数;基于对应于资产参数的组件的特性将资产参数分组为多个子集,每个类别具有至少一个资产参数;对于资产参数的每个子集:生成对应于该类别的每个资产参数的份额,以产生多个份额;使用资产参数修改份额;将秘密共享算法应用于多个份额子集,以生成对应于多个份额子集的多个候选标识符;以及至少部分基于候选标识符的出现频率,从多个候选标识符选择所述候选标识符作为该类别的最终标识符;以及将最终标识符组合成对应于计算环境的指纹,其中该指纹被配置为提供对多个组件的验证,而不需要对多个份额中的任何份额进行单独验证。
另一个实现包括具有存储在其中的计算机可读指令的非瞬态计算机可读介质,所述指令用于生成计算环境的容变指纹,环境包括多个组件,组件中的每个具有与其相关联的资产参数,所述指令当由至少一个计算机硬件处理器执行时,使得所述至少一个计算机硬件处理器:检索组件中的每个的资产参数;基于对应于资产参数的组件的特性将资产参数分组为多个子集,每个类别具有至少一个资产参数;对于资产参数的每个子集:生成对应于该类别的每个资产参数的份额,以产生多个份额;使用资产参数修改份额;将秘密共享算法应用于多个份额子集,以生成对应于多个份额子集的多个候选标识符;以及至少部分基于候选标识符的出现频率,从多个候选标识符选择所述候选标识符作为该类别的最终标识符;以及将最终标识符组合成对应于计算环境的指纹,其中该指纹被配置为提供对多个组件的验证,而不需要对多个份额中的任何份额进行单独验证。
附图说明
现在将参考附图,仅以示例的方式描述实现。
图1是根据实现的方法的流程图。
图2 - 3是根据实现的指纹方法的图解;
图4是根据实现的份额加密过程的图解;和
图5是根据实现的份额解密过程的图解。
图6是根据实现的共享算法的流程图。
图7是根据实现的用于在运行时计算指纹的过程的流程图。
具体实施方式
公开的实现提供了一种安全的、容变的方法,该方法用于从N个份额的集合创建计算环境的指纹,即使当仅有来自该集合的M个份额(M<N)具有正确的值时。该方法可以使用来自N个份额的M-1个份额的所有子集来生成候选标识符。
实现可以适用于使用任何(M-1,N)-秘密共享方案。该方法通常可以用于生成任何批资产的指纹,可以为所述资产分配或确定作为标识符的资产参数。如本文使用的,“资产”可以是组件,例如,计算环境的任何数据、应用、设备、节点或其他组件。组件通常包括硬件(例如,服务器和交换机)、软件(例如,关键任务应用和支持系统)和机密信息。术语“计算环境”、“计算机环境”和“计算机系统”在本文中可互换使用,并且旨在涵盖单个计算机和其他设备,其包括处理器、分布式计算系统、其组件、存储的或以其他方式与之相关联的数据,并且包括与此类计算机系统的用户相关联的数据、附加的或可访问的外围设备、软件应用和操作系统以及其组合。如本文使用的,“资产参数”意指在给定类的组件、情形或区域的出现方面受到限制的分配的或确定的参数。资产参数可以是唯一的,或者可以至少在分配或确定参数时专门标识组件。资产参数可以表述为例如,数字、符号、数字和字符串或函数。
在其中可以使用该实现的示例系统是具有多个外围设备作为组件的计算机系统;每个外围设备具有或多或少唯一的设备标识符,诸如序列号或其他分配的资产参数。通常,此类设备标识符由制造商分配给设备。计算机系统可以是嵌入式微控制器的网络,其中每个微控制器作为组件具有唯一的标识符。此类配置通常出现在通过更换整个微控制器模块来修理的更复杂的系统(例如,飞机、汽车、工业机器)中。在此类系统中,将控制器的固件链接到特定的联网设备可能是有益的。与计算机系统相关联或存储在计算机系统上的数据源也可以被视为资产。示例包括联系人列表、用户偏好设置、姓名、地址、日期或相对不经常改变的其他参数。资产参数可以通过将函数应用于与一个或多个资产相关联的参数来获得。例如,资产参数可能由函数产生,该函数将与诸如计算机存储器、特定应用或一批文件等的组件相关联的参数取作输入。某些资产参数也可能需要用户输入(例如,密码、可移动数据源的插入或指纹的扫描),以便变得可用于通过本文描述的方法进行处理。
公开的实现可以应用于节点锁定或其他指纹应用。节点锁定与不同领域中的广泛应用相关。例如,它可以用在个人计算机(PC)、嵌入式设备和其他计算平台上。一个实现是指纹应用的形式,其允许节点锁定。节点锁定是限制特定应用在单个或特定计算平台集(例如,PC、机顶盒、游戏控制台或移动电话)上执行的特征。如果试图在不同的计算平台上执行该应用,则该应用将无法执行,或者将导致与在它意图执行的(一个或多个)平台上执行的操作相比不同操作的执行。
当与节点锁定一起使用时,应用可以链接到从计算机平台中的组件获得的一批资产参数。这意味着该应用具有个性化阶段,在该个性化阶段中,它被配置为在预期的计算机平台上执行。在稍后阶段期间,应用将从它正在其上执行的计算机平台中的元件收集资产参数,以便导出系统标识符(指纹)。系统标识符可以用于应用仅在该特定计算机平台上支持的广泛功能。实现准许在稍后阶段收集的资产参数中的一个或多个不同于在使应用个性化中使用的原始资产参数,同时仍然返回导致应用的正确执行的有效指纹。
实际上,该实现将N个份额的集合转换为标识符。该方法使用来自N个份额的M-1个份额的所有子集,以用(M-1,N)秘密共享算法生成候选标识符。生成的候选标识符中出现频率最高的无论哪个候选标识符可以用作最终的所得标识符。一旦具有给定值的候选标识符出现多于M次,变体方法就终止。注意,对于要通过该方法产生的有效标识符,至少M个份额必须是正确的,在这种情况下,候选标识符将出现至少M次。
如图1中所示,一个实现是使用指纹方法标识或验证一批资产(诸如计算机系统的组件)以供应用(诸如节点锁定)的执行的方法。许多资产参数与要验证的一批资产相关联。资产参数可以是任何足够独特的参数,诸如元件的序列号或与资产相关联的以其他方式分配的串。虽然该方法是关于验证一批资产以供在计算机平台上软件应用的执行来描述的,但是将理解,该方法可以用于验证或确认一批资产的身份,以便在一批资产上或与一批资产协同执行任何操作,并且其中准许该批的原始资产之间的变化。即使当自应用首次被验证以供在一批资产上执行以来,可允许数量的资产参数已经改变时,也返回正确的系统标识符。变化的程度、例如参数的可允许数量由容限阈值确定,该容限阈值可以由应用分发器或其他设置。
该方法从指纹初始化的第一阶段开始,该第一阶段涉及在100处检索或以其他方式收集一批资产的资产参数。然后在102处生成对应于每个资产参数的份额,以提供多个份额。下面更详细地阐述了与实现一起使用的份额和共享算法的示例。每个份额可以对应于资产参数,或者资产参数可以被组合或以其他方式处理以创建每个份额,如下面更详细描述的。然后,在104处,使用对应的资产参数对份额进行加密。下面更详细地阐述了与实现一起使用的加密方法的示例。
在指纹计算的第二阶段中,在106处资产参数被检索并用于解密份额。仅正确的资产参数将导致正确的份额。然后,在108处,秘密共享算法被应用于多个份额的子集,以导出多个候选标识符,每个候选标识符具有候选标识符值。子集的数量根据容限阈值来确定,该容限阈值与资产参数中相比于一批资产的初始资产参数的可接受差异相关。换句话说,容限阈值是应用或其他操作针对其被原始验证的资产参数的变化量的度量,所述变化量如被应用创建者或其他认为是可接受的。确定候选标识符值中最普遍的候选标识符值,并且然后在110处选择最普遍的候选标识符值作为最终标识符。最终标识符用于相关确定,诸如确定应用是否可以在一批资产上有效执行。
根据本发明的应用执行指纹计算的实现在图2中示出。该方法开始于在202处首先收集关于目标设备的资产参数,并使用它们以例如下面详细描述的方式解密份额。资产参数和相关份额中的一些可能具有与在应用的个性化或初始化期间使用的相同资产参数不同的值。这将导致对应的份额不正确。在204处,N个解密的份额被存储在存储器中。在206处,从所有记录的份额生成M-1个份额的所有可能子集。对于
Figure 995602DEST_PATH_IMAGE001
个子集208中的每个,在210处使用(M-1,N)-秘密共享算法计算候选标识符。取决于应用和功能要求,可以使用任何合适的(M-1,N)-秘密共享算法。公知的(M-1,N)-秘密共享算法包括,例如,Shamir的和Blakley的秘密共享算法。Shamir的方案在Shamir、Adi (1979) "How to Share a Secret"(Communications of the ACM, 22 (11): 612–613)中公开。
对于秘密共享模块产生的候选标识符212中的每个,候选标识符“ID”和它产生的次数(作为输出“Freq”)在214处被记录在存储装置中,例如使用合适的索引机制来有效地检索和更新给定候选标识符“ID”的出现频率“Freq”。在处理了所有子集以生成
Figure 788108DEST_PATH_IMAGE002
ID212之后,在216处,处理所存储的{ID,Freq}数据对以找到具有最高频率的候选标识符,并且选择该候选标识符作为最终标识符,即指纹。在候选标识符之中,最终标识符的频率是资产参数中错误率的指示。如果使得它可用于应用,则它可以用于诊断、恢复或其他目的。
指纹方法的另一实现在图3中示出。该方法再次开始于在302处首先从系统中的资产提取、读取或以其他方式获得资产参数,并使用它们来解密份额,并在304处将N个份额存储在存储器中。在306处,从所有记录的份额生成M-1个份额的所有可能子集。当在310处处理
Figure 443212DEST_PATH_IMAGE003
子集308时,候选标识符值在它们被放入存储312中时被监视。在314处,出现M次的第一候选标识符值被选为最终标识符,并终止该方法。该实现可以减少处理时间/资源,但是在资产参数中没有错误率的指示,并且终止该过程的时间可以用作攻击点。
如上所述,生成对应于资产参数的份额。然而,对于大多数实施例,份额值将与资产参数无关。为了正确地将份额与资产参数联系起来,以便不正确的资产参数将导致不正确的份额,必须在初始化阶段期间修改(加密)份额。这可以通过将资产参数传输到生成和加密份额(可能使用另一验证机制,诸如个人联系或电话交谈)并返回加密的份额的另一个应用来实现。也可能的是使安装部署有内置初始化组件,该内置初始化组件在初始化过程完成之后被禁用。
例如,应用的初始化过程的实现的图解在图4中示出。在402处,在目标计算机上运行的初始化函数首先通过读取资产1到N的资产参数来获得合适数量的参数。在实施例中,资产参数然后在404处被标准化。标准化可以通过例如使用散列函数生成标准化的资产参数集
Figure 838421DEST_PATH_IMAGE004
Figure 652793DEST_PATH_IMAGE005
来实现。
在初始化期间,N个份额
Figure 344763DEST_PATH_IMAGE006
在406处生成。如本领域技术人员将理解的,生成或构造份额所用的方式取决于所使用的秘密共享方法。下面再次阐述一些示例。如果使用Shamir的秘密共享算法,则构造具有随机系数的多项式,其中预期标识符是多项式的常数系数。多项式的次数取决于M,如由设计和安全考虑确定。然后通过评估所选输入的多项式来确定份额。使用函数
Figure 611796DEST_PATH_IMAGE007
将每个份额Si与对应的资产参数Di相组合。函数E()可以被看作使用资产参数Di对份额Si的加密并产生密文常数Ci。E()的简单实现是XOR运算。在408处,最终的初始化步骤将密文常数
Figure 686062DEST_PATH_IMAGE008
作为初始化信息嵌入到应用中。
在应用的验证期间,份额的解密的实现在图5中示出。在502处再次获取设备参数,并在504处进行标准化,以产生资产标准化参数集
Figure 354941DEST_PATH_IMAGE009
Figure 600502DEST_PATH_IMAGE010
。应用中的初始化信息包含密文常数
Figure 185459DEST_PATH_IMAGE008
。在506处,使用函数
Figure 984788DEST_PATH_IMAGE011
将每个密文常数Ci与对应的资产参数Di组合。函数D()可以看作是用资产参数Di对密文常数Ci的解密并产生份额Si。D()的简单实现是XOR运算。个性化应用然后在508处计算一批资产的最终标识符(如以上所述)中使用份额。
可以使得使用资产信息加密份额任意复杂,只要是它是可逆的。更复杂的方法可能有用,尤其是对于低熵资产,因为这将使攻击者更难猜测现实的份额值,并且从而更难猜测预期的指纹。当份额用于Shamir或Blakeley秘密共享方案时,用于加密的一些其他示例包括:
为每个点选择不同的坐标;
选择附加的常数系数(与
Figure 321222DEST_PATH_IMAGE012
资产+8979异或);
与多个坐标组合;和/或
AES加密,用资产参数作为密钥。
实现可以使用受秘密共享的Shamir的共享方案启发的算法。如在图6中图示的,在步骤602处,为M-1空间中的M-2维对象选择随机系数
Figure 501799DEST_PATH_IMAGE013
。底层有限域将由多项式
Figure 743424DEST_PATH_IMAGE014
定义;因此,所有坐标都是31位值。指纹将是值
Figure 80865DEST_PATH_IMAGE015
。在604处,选择对象上的N个点;对于每个点,随机选择x 1 x m-2 。在606处,评估对象公式以计算x m-1 。在608处,资产参数用于修改点。资产参数可以以各种方式使用。例如,对于N个资产中的每个资产,它的值可以与对应点的坐标之一异或。在610处,可以在运行时完成与步骤608中相同的功能,以恢复原始点。因此,如果资产i的值改变,则计算的坐标将是错误的,并且结果将是不在定义对象上的点。
图7图示了在运行时计算指纹的实现,可以完成以下步骤。该方法在N个修改点的所有
Figure 537385DEST_PATH_IMAGE016
子集之上循环。在702处,查询对应的资产来解密点。(再次,如果资产参数是错的,则解密将是错的。)在704处,由M-1个解密点生成的方程组被求解,以唯一地标识对象系数,具体地说是值
Figure 872552DEST_PATH_IMAGE017
。这是候选指纹。如果方程组无法被求解,则在步骤706处随机选择候选指纹。在708处,模式(即,最频繁出现的值)是在候选指纹之中确定的。这是计算的指纹。如果没有模式,则随机选择所述候选中的一个。
如果所有的M-1个所选资产都是正确的,则所有的点都将被正确解密,并且M-1个所得的点将是原始对象上的点。求解方程组将唯一地标识该对象,并且因此候选指纹
Figure 663790DEST_PATH_IMAGE017
将与预期指纹
Figure 742604DEST_PATH_IMAGE018
相匹配。如果资产中的一个或多个不正确,则结果将是一个或多个不在原始对象上的点。重要的是,这些点连同正确的点都在某个对象上,并且求解方程组将唯一地标识该对象并产生候选指纹。然而,该对象本质上是随机的,并且因此它的常数系数
Figure 240582DEST_PATH_IMAGE017
将以非常高的概率与预期值不同。此外,任何这样的子集再次随机选择对象,并且因此有非常高的概率,在该情况下所有子集的候选指纹将是不同的。
将这些情况放在一起,我们发现每个正确的子集将返回相同的值,而每个不正确的子集将返回不同的随机值。有多少正确的子集
Figure 825278DEST_PATH_IMAGE019
如果
Figure 775917DEST_PATH_IMAGE020
个资产是正确的,则将存在
Figure 533788DEST_PATH_IMAGE021
个子集,在那里计算预期的指纹。对于
Figure 886272DEST_PATH_IMAGE022
(换句话说,如果M个或更多个资产匹配),则该值大于1。因此,如果M个或更多个资产匹配,则正确的指纹应该比任何不正确的候选指纹出现得更频繁。换句话说,正确的指纹将是该模式。下面,考虑一些具体的示例。
下面描述具体的示例,其中M=3,N=5。由于M=3,因此我们将在2-空间中、以1维对象(线)工作。首先,通过在域
Figure 891137DEST_PATH_IMAGE023
之上生成随机系数a 1 a 2
Figure 329072DEST_PATH_IMAGE024
粗体值是预期的指纹。接下来,生成N=5个点。选择随机的x 1 坐标:
Figure 625055DEST_PATH_IMAGE025
然后通过评估
Figure 967132DEST_PATH_IMAGE026
来计算x 2 坐标。
Figure 893630DEST_PATH_IMAGE027
类似地,其他4个点是:
Figure 881178DEST_PATH_IMAGE028
生成辅助数据中的最后步骤是通过将坐标之一与对应的资产参数进行异或来修改点中的每个。假设资产参数如下(注意,这些值是如何生成的无关紧要):
Figure 105486DEST_PATH_IMAGE029
为简单起见,点的最后一个坐标总是被变更。最终的辅助数据是修改点的集合,如下所示:
Figure 166983DEST_PATH_IMAGE030
假设在运行时,所有资产仍然具有它们的原始值。因为M=3,所以具有大小2的点的所有子集(总共
Figure 264383DEST_PATH_IMAGE031
)都将被查看。对于每个子集,将构造矩阵,高斯消去法将应用于该矩阵来求解
Figure 676910DEST_PATH_IMAGE032
。矩阵看起来像
Figure 704909DEST_PATH_IMAGE033
对于第一个子集(前2点),矩阵为:
Figure 948808DEST_PATH_IMAGE034
所述行化简为
Figure 138481DEST_PATH_IMAGE035
因此
Figure 851353DEST_PATH_IMAGE036
这是如预期的,因为资产参数是正确的。每隔一对点进行相同的计算,候选指纹将如下:
Figure 417464DEST_PATH_IMAGE037
当然,这些数字的模式是
Figure 781449DEST_PATH_IMAGE038
,并且算法返回预期的指纹。然而,假设系统上的某个东西随着时间的推移改变,导致资产参数中的一个改变,而不是在查询时返回
Figure 142023DEST_PATH_IMAGE039
,资产2返回
Figure 342192DEST_PATH_IMAGE040
。有时资产改变将导致值非常接近原始值,有时新的值将与旧的值没有关系。这是不重要的;所有错误的值都是同等错误的。将预期不涉及资产2的任何计算仍然将返回预期的指纹,并且这正是所发生的情况。候选指纹现在看起来像:
Figure 711993DEST_PATH_IMAGE041
模式(实际上,仅出现多于一次的数字)仍然是
Figure 602589DEST_PATH_IMAGE038
。在两项不正确资产的情况下;C2 = 3个子集将导致正确的候选,而其他7个将是随机的。正确的值仍然是模式。当少于M个资产匹配时怎么样
Figure 461960DEST_PATH_IMAGE019
我们现在假设资产参数为:
Figure 70796DEST_PATH_IMAGE042
换句话说,资产2、3和4不再匹配。候选指纹现在是:
Figure 119655DEST_PATH_IMAGE043
没有一个值出现多于一次,所以没有模式,并且算法随机返回指纹。如果4或5个资产也不正确,则这将是结果。注意,正确的指纹的确仍然出现在列表中,但是现在不可与不正确的候选指纹区分。
下面讨论M=5,N=10的示例,以演示数据大小是如何改变的。假设随机选择的方程为:
Figure 943385DEST_PATH_IMAGE044
随机选择4-空间中N=10个点:
Figure 911341DEST_PATH_IMAGE045
Figure 7473DEST_PATH_IMAGE046
被10个资产参数修改后,这些值变成:
Figure 781394DEST_PATH_IMAGE047
Figure 646582DEST_PATH_IMAGE048
可以看出,值
Figure 598489DEST_PATH_IMAGE049
随M和N二者线性增长。然而,即使对于相当大的值,诸如M=10,N=50,也仅需要1800字节的数据。
基本算法要求M>2(因为创建了M-2维对象)。有时可能需要让M=1。该情况可以通过在辅助数据中添加附加的点(总共N+1个点)并经由将从不改变的假资产参数修改它来解决。然后,该算法可以实现为N+1中的2个指纹。这工作,因为只要存在1个匹配的资产,就将存在生成正确指纹的至少2个子集(大小为1)。
实现中没有什么排除M = NM>N,当然,没有意义)的情况。这将涉及用大小为N-1的N个子集进行工作,并且如果所有的N个候选都相同,则将产生正确的指纹。然而,在该情况下,存在简单得多的算法——简单地让预期的指纹是连接在一起的所有N个值的散列。如果任何资产不正确,则这将以压倒性的概率是不正确的。因此,完整的指纹实现可以用高效的方式支持从M=1到M=N的所有情况。
不是在寻找模式之前生成每个候选指纹,而是可以保持到目前为止最常见值的运行记数,并且如果任何值出现多于M次(这实际上保证了它是正确的指纹),则该过程可以结束。如果N个资产中多于M个是正确的,则这可能导致快得多的执行时间。然而,只要候选指纹出现多于一次,即,标识的模式,则相当可能是正确的指纹。因此,作为替代实现,我们可以使用最近生成该模式的资产子集,并对照子集内的点中的M-2个一次一个地检查N个点中的其余点。以合理的概率,将很快找到生成相同候选指纹的另一个点。这是充分的确认,并且因此该值可以作为指纹返回。如果找不到这样的点,则该值作为模式被拒绝,并且该过程可以继续寻找新的模式。如果在检查所有子集之后,没有找到更好的选项,则该模式可能无效。
用于执行上面公开的指纹算法所需的计算资源与N成阶乘增长,并且对于大约N >10接界几乎是不切实际的。存在如下情形,人们将想要使用大量(可能是低质量的)资产来产生足够独特的指纹。为了解决此,通常可以将资产分组——也许是按照源(应用相对于用户相对于系统)、熵的量、波动率(volatility)的程度或其他度量——成类别。如本文使用的术语“熵”指代给定资产如何唯一地标识系统。波动率指代该资产将在应用的生命周期内改变的可能性。可以取决于资产的类别以各种方式选择阈值M。这为要被指纹化的每个计算环境创建了多个Ni中的Mi方案和若干个“子”指纹。子指纹可以被组合以产生最终指纹。
对以上实现的微小的一般化将允许多个子方案被组合在另一个N中的M个方案中。因此,可以存在(5个中的3个、8个中的6个、10个中的4个)中的2个的方案。在这样的2层N中的M个方案中,它是给定子方案的结果,该子方案被用作“虚拟”资产参数来加密最终方案的份额。注意,(M 1 个中的N 1 个、…、M j 个中的N j 个)中的 1个的方案将具有如下性质:如果
Figure 181917DEST_PATH_IMAGE050
个资产中的
Figure 431633DEST_PATH_IMAGE051
个或更多个资产匹配,则将生成正确的指纹。这使得它在如下意义上成为N个中的宽松M个方案:如果M个或更多个资产匹配,则保证正确的指纹,但是如果少于M个资产匹配,则仍然可以生成正确的指纹。
另外的一般化将允许任意深度,其中在每一层使用另一N中的M个方案组合N中的M个子方案,并且那些方案与另一个方案组合,等等。注意,包括最终子方案的任何子方案都可以使用现实和虚拟资产参数的组合来加密份额。此外,任何现实或虚拟资产参数都可以在多个子方案中使用。
根据定义的标准对资产进行分组的替代方案是对它们进行随机分组。当N是大的时,这样做将纯粹为了改进性能。一般而言,资产将被放入j个组中的一个,并为每个组创建Ni中的Mi个方案,其中
Figure 479223DEST_PATH_IMAGE052
并且
Figure 788982DEST_PATH_IMAGE053
Figure 859706DEST_PATH_IMAGE054
。结果将使用最终的j中的j个方案进行组合。在特定实施例中,N和M可以除以常数k,并且使用
Figure 720302DEST_PATH_IMAGE055
中的
Figure 560082DEST_PATH_IMAGE057
个子方案来组合资产,其中结果以k中的k个方式组合。这使得原始的N中M个的阈值成为下限,与紧密的界限相反。然而,结果是性能与N成线性增长,而不是阶乘增长。作为示例,N=50中的M=20的方案将具有超过47万亿个候选指纹要处理,而{25中的10个、25中的10个}中的2个的方案(k = 2)将仅具有6百万个候选指纹。上面实现的该示例导致780万倍的性能改进。
仅当每个子方案产生正确的值时,最终指纹才将匹配。该方案将具有如下性质:如果少于M个资产是正确的,则指纹将以高概率是不正确的。然而,有可能情况是M个或更多个资产将是正确的,但是计算的指纹将仍然是错误的(如果正确的资产在子集之间不均匀分布,则将发生这种情况)。最糟糕的情况是,对于除了一个子方案外的每个子方案,所有资产都匹配,并且对于所述子方案,少于Mi个资产匹配。因此,保证匹配的正确资产数量的上限是
Figure 40742DEST_PATH_IMAGE058
,不失一般性地(WLOG)假设N j 是最小子集。
如将领会的,本方法提供了从多个贡献的信息片导出单个结果(例如,系统标识符或秘密)的方式,所述信息片组合起来提供对消费者个人装置或个人的强标识。该方法具有如下新颖的特征:即使当初始贡献信息中的一些被修改时,它也产生相同的标识符,并且这样做时不需要修改哪个信息的先验知识。针对此类错误的弹性对于应用的节点锁定或指纹是有用的。由于份额直接用于计算标识符,因此不需要存储资产的原始值。这防止针对原始资产参数的存储值的攻击。与在生成最终标识符之前验证每个份额的正确性的方法相比,该最终标识符在白盒攻击环境中呈现软件的安全性弱点,本方法从未需要显式检查哪些份额是正确的。
如果请求若干贡献的信息片(姓名、密码、生物特征信息、硬件令牌)来提供对服务或设备的访问,并且一些输入已经改变,则针对错误的弹性也可以在认证中使用。在前面的描述中,出于解释的目的,阐述了许多细节,以便提供对实施例的透彻理解。然而,对于本领域技术人员而言将显然的是,这些具体细节不是必需的。在其他情况下,公知的电气结构和电路以框图的形式示出,以免使理解混淆。例如,没有提供关于本文描述的实施例是否被实现为软件例程、硬件电路、固件或其组合的具体细节。
本公开的实施例可以表示为存储在机器可读介质(也称为计算机可读介质、处理器可读介质或具有其中体现计算机可读程序代码的计算机可用介质)中的计算机程序产品。机器可读介质可以是任何合适的有形、非暂时性介质,包括磁、光或电存储介质,包括磁盘、光盘只读存储器(CD-ROM)、存储器设备(易失性或非易失性)或类似的存储机构。机器可读介质可以包含各种指令集、代码序列、配置信息或其他数据,所述各种指令集、代码序列、配置信息或其他数据当被执行时,使得处理器执行根据本公开实施例的方法中的步骤。本领域普通技术人员将领会,实现所描述的实现所必需的其他指令和操作也可以存储在机器可读介质上。存储在机器可读介质上的指令可以由处理器或其他合适的处理设备执行,并且可以与电路对接以执行所描述的任务。
上述实施例仅意图为示例。在不脱离仅由所附于此的权利要求限定的范围的情况下,本领域技术人员可以对特定实施例做出变更、修改和变化。

Claims (41)

1.一种生成包括多个组件的计算环境的指纹的容变方法,组件中的每个具有与其相关联的资产参数,所述方法包括:
检索组件中的每个的资产参数;
基于对应于资产参数的组件的特性将资产参数分组为多个子集,每个类别具有至少一个资产参数;
对于资产参数的每个子集:
生成对应于所述类别的每个资产参数的份额,以产生多个份额;
使用资产参数修改份额;
将秘密共享算法应用于多个份额子集,以生成对应于所述多个份额子集的多个候选标识符;和
至少部分基于候选标识符的出现频率,从所述多个候选标识符选择所述候选标识符作为所述类别的最终标识符;和
将最终标识符组合成对应于计算环境的指纹,其中所述指纹被配置为提供对多个组件的验证,而不需要对所述多个份额中的任何份额进行单独验证。
2.根据权利要求1所述的方法,其中将所述资产参数分组为多个类别包括基于源、波动率和/或熵的量中的至少一个将所述资产参数分组为多类别。
3.根据权利要求1所述的方法,其中生成对应于每个资产参数的份额包括在生成份额之前使资产参数标准化。
4.根据权利要求3所述的方法,其中使资产参数标准化包括将散列函数应用于资产参数。
5.根据权利要求1所述的方法,其中当对应类别中在预定容限阈值内的资产参数中的一部分不同于所述类别中的初始资产参数时,所述最终标识符提供所述类别的多个组件的验证。
6.根据权利要求5所述的方法,其中应用于类别中的至少一个的秘密共享算法是(M-k,N)-秘密共享算法,其中N是份额的数量,M<N,并且k = 1。
7.根据权利要求1所述的方法,其中至少部分地基于候选标识符的出现频率从所述多个候选标识符中选择所述候选标识符包括在所述多个候选标识符中选择具有最高出现频率的候选标识符。
8.根据权利要求1所述的方法,其中至少部分地基于候选标识符的出现频率从所述多个候选标识符中选择所述候选标识符包括选择出现预定次数的候选标识符,并且其中一旦所述候选标识符出现预定次数,就终止应用所述秘密共享算法。
9.根据权利要求1所述的方法,进一步包括:
检测候选指纹何时出现多于一次;
对照子集的M-2点检查N个份额的其余部分;
找到生成相同候选指纹的另一个份额;和
返回候选指纹作为指纹。
10.根据权利要求1所述的方法,进一步包括:
根据指纹在计算环境上执行应用。
11.根据权利要求10所述的方法,进一步包括修改所述应用以限制其仅在所述计算环境上的有效执行。
12.根据权利要求1所述的方法,其中修改份额包括:
使用资产参数加密份额以提供对应的密文常数;和
将密文常数嵌入在应用中。
13.根据权利要求12所述的方法,其中加密份额包括将所述资产参数与根据秘密共享算法确定的预定份额相组合。
14.根据权利要求13所述的方法,其中解密对应于每个资产参数的份额包括将资产参数中的每个与密文常数中的对应那些相组合。
15.根据权利要求1所述的方法,其中应用秘密共享算法包括:
M-1空间中的M-2维对象选择随机系数
Figure 700588DEST_PATH_IMAGE001
,由此底层有限域将由多项式
Figure 430778DEST_PATH_IMAGE002
定义;并且指纹将是值
Figure 210515DEST_PATH_IMAGE003
选择对象上的N个点;
对于每个点,随机选择x 1 x m-2 ;和
计算x m-1
16.根据权利要求15所述的方法,其中通过使用对应的资产参数将异或函数应用于点的坐标之一来加密点。
17.根据权利要求1所述的方法,进一步包括添加附加的份额,并用不改变的假资产参数修改所述附加的份额。
18.根据权利要求1所述的方法,其中所述资产参数被分组在多个层,其中在一个层的共享方案的结果定义了将在另一层使用的虚拟资产参数。
19.根据权利要求1所述的方法,其中将最终标识符组合成指纹包括使用具有预定容限阈值的附加秘密共享方案。
20.根据权利要求1所述的方法,其中将所述资产参数分组为多个类别包括将所述资产参数随机分组,由此所述分组由于使用若干个较小的共享方案而不是一个大的共享方案而导致改进的效率。
21.一种用于生成计算环境的容变指纹的系统,所述环境包括多个组件,组件中的每个具有与其相关联的资产参数,所述系统包括:
至少一个计算机硬件处理器;
至少一个存储器,其上存储指令,所述指令当由至少一个处理器执行时,使得至少一个处理器:
检索组件中的每个的资产参数;
基于对应于资产参数的组件的特性将资产参数分组为多个子集,每个类别具有至少一个资产参数;
对于资产参数的每个子集:
生成对应于所述类别的每个资产参数的份额,以产生多个份额;
使用资产参数修改份额;
将秘密共享算法应用于多个份额子集,以生成对应于所述多个份额子集的多个候选标识符;和
至少部分基于候选标识符的出现频率,从多个候选标识符选择所述候选标识符作为所述类别的最终标识符;
将最终标识符组合成对应于计算环境的指纹,其中所述指纹被配置为提供对多个组件的验证,而不需要对所述多个份额中的任何份额进行单独验证。
22.根据权利要求21所述的系统,其中将所述资产参数分组为多个类别包括基于源、波动率和/或熵的量中的至少一个将所述资产参数分组为多类别。
23.根据权利要求21所述的系统,其中生成对应于每个资产参数的份额包括在生成份额之前使资产参数标准化。
24.根据权利要求23所述的系统,其中使资产参数标准化包括将散列函数应用于资产参数。
25.根据权利要求21所述的系统,其中当对应类别中在预定容限阈值内的资产参数中的一部分不同于所述类别中的初始资产参数时,所述最终标识符提供所述类别的多个组件的验证。
26.根据权利要求25所述的系统,其中应用于类别中的至少一个的秘密共享算法是(M-k,N)-秘密共享算法,其中N是份额的数量,M<N,并且k = 1。
27.根据权利要求21所述的系统,其中至少部分地基于候选标识符的出现频率从所述多个候选标识符中选择所述候选标识符包括在所述多个候选标识符中选择具有最高出现频率的候选标识符。
28.根据权利要求21所述的系统,其中至少部分地基于候选标识符的出现频率从所述多个候选标识符中选择所述候选标识符包括选择出现预定次数的候选标识符,并且其中一旦所述候选标识符出现预定次数,就终止应用所述秘密共享算法。
29.根据权利要求21所述的系统,其中所述指令还使得所述至少一个处理器:
检测候选指纹何时出现多于一次;
对照子集的M-2点检查N个份额的其余部分;
找到生成相同候选指纹的另一个份额;和
返回候选指纹作为指纹。
30.根据权利要求21所述的系统,其中所述指令还使得所述至少一个处理器:
根据指纹在计算环境上执行应用。
31.根据权利要求30所述的系统,其中所述指令还使得所述至少一个处理器:
修改所述应用以限制其仅在所述计算环境上的有效执行。
32.根据权利要求21所述的系统,其中修改所述份额包括:
使用资产参数加密份额以提供对应的密文常数;和
将密文常数嵌入在应用中。
33.根据权利要求32所述的系统,其中加密所述份额包括将所述资产参数与根据秘密共享算法确定的预定份额相组合。
34.根据权利要求33所述的系统,其中解密对应于每个资产参数的份额包括将资产参数中的每个与密文常数中的对应那些相组合。
35.根据权利要求31所述的系统,其中应用秘密共享算法包括:
M-1空间中的M-2维对象选择随机系数
Figure 668041DEST_PATH_IMAGE001
,由此底层有限域将由多项式
Figure 357780DEST_PATH_IMAGE002
定义;并且指纹将是值
Figure 180242DEST_PATH_IMAGE003
选择对象上的N个点;
对于每个点,随机选择x 1 x m-2 ;和
计算x m-1
36.根据权利要求35所述的系统,其中通过使用对应的资产参数将异或函数应用于点的坐标之一来加密点。
37.根据权利要求31所述的系统,其中所述指令进一步使得所述至少一个处理器:
添加附加的份额,并用不改变的假资产参数修改所述附加的份额。
38.根据权利要求31所述的系统,其中所述资产参数被分组在多个层,其中在一个层的共享方案的结果定义了将在另一层使用的虚拟资产参数。
39.根据权利要求31所述的系统,其中将最终标识符组合成指纹包括使用具有预定容限阈值的附加秘密共享方案。
40.根据权利要求31所述的系统,其中将所述资产参数分组为多个类别包括将所述资产参数随机分组,由此所述分组由于使用若干个较小的共享方案而不是一个大的共享方案而导致改进的效率。
41.一种具有存储在其中的计算机可读指令的非瞬态计算机可读介质,所述计算机可读指令用于生成计算环境的容变指纹,所述环境包括多个组件,组件中的每个具有与其相关联的资产参数,所述指令当由至少一个计算机硬件处理器执行时,使得所述至少一个计算机硬件处理器:
检索组件中的每个的资产参数;
基于对应于资产参数的组件的特性将资产参数分组为多个子集,每个类别具有至少一个资产参数;
对于资产参数的每个子集:
生成对应于所述类别的每个资产参数的份额,以产生多个份额;
使用资产参数修改份额;
将秘密共享算法应用于多个份额子集,以生成对应于所述多个份额子集的多个候选标识符;和
至少部分基于候选标识符的出现频率,从多个候选标识符选择所述候选标识符作为所述类别的最终标识符;
将最终标识符组合成对应于计算环境的指纹,其中所述指纹被配置为提供对多个组件的验证,而不需要对所述多个份额中的任何份额进行单独验证。
CN201980088988.2A 2018-11-14 2019-11-14 生成计算环境中的一批资产的标识符的容变方法 Pending CN113366480A (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US16/190,199 US11093656B2 (en) 2018-11-14 2018-11-14 Change-tolerant method of generating an identifier for a collection of assets in a computing environment
US16/190199 2018-11-14
PCT/IB2019/059790 WO2020100082A1 (en) 2018-11-14 2019-11-14 Change-tolerant method of generating an identifier for a collection of assets in a computing environment

Publications (1)

Publication Number Publication Date
CN113366480A true CN113366480A (zh) 2021-09-07

Family

ID=68655589

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201980088988.2A Pending CN113366480A (zh) 2018-11-14 2019-11-14 生成计算环境中的一批资产的标识符的容变方法

Country Status (4)

Country Link
US (1) US11093656B2 (zh)
EP (1) EP3881214B1 (zh)
CN (1) CN113366480A (zh)
WO (1) WO2020100082A1 (zh)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120166317A1 (en) * 2010-12-23 2012-06-28 Bladelogic, Inc. Auto-Suggesting IT Asset Groups Using Clustering Techniques
US20140007252A1 (en) * 2011-03-15 2014-01-02 Irdeto B.V. Change-Tolerant Method of Generating an Identifier for a Collection of Assets in a Computing Environment Using a Secret Sharing Scheme
US20160042183A1 (en) * 2013-03-28 2016-02-11 Irdeto B.V. Generating identifier
CN106453285A (zh) * 2016-09-27 2017-02-22 中国农业大学 一种秘密数据共享的验证方法及装置

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7296294B2 (en) * 2003-03-03 2007-11-13 Microsoft Corporation System for binding secrets to a computer system having tolerance for hardware changes
US7290149B2 (en) * 2003-03-03 2007-10-30 Microsoft Corporation Verbose hardware identification for binding a software package to a computer system having tolerance for hardware changes
CN101491000B (zh) * 2006-07-12 2011-12-28 耶德托公司 用于混淆密码函数的方法和系统
US20080115173A1 (en) * 2006-11-10 2008-05-15 Guideworks Llc Systems and methods for using playlists
US8638926B2 (en) * 2009-02-26 2014-01-28 Red Hat, Inc. Sharing a secret with modular inverses

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120166317A1 (en) * 2010-12-23 2012-06-28 Bladelogic, Inc. Auto-Suggesting IT Asset Groups Using Clustering Techniques
US20140007252A1 (en) * 2011-03-15 2014-01-02 Irdeto B.V. Change-Tolerant Method of Generating an Identifier for a Collection of Assets in a Computing Environment Using a Secret Sharing Scheme
CN103797490A (zh) * 2011-03-15 2014-05-14 耶德托公司 在使用秘密共享方案的计算环境中生成用于资产集合的标识符的容忍变化方法
US20160042183A1 (en) * 2013-03-28 2016-02-11 Irdeto B.V. Generating identifier
CN106453285A (zh) * 2016-09-27 2017-02-22 中国农业大学 一种秘密数据共享的验证方法及装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
SIVA KUMAR等: "Multi-level secret sharing scheme for mobile ad-hoc networks", INTERNATIONAL JOURNAL OF ADVANCED NETWORKING AND APPLICATIONS, vol. 6, no. 2, 31 October 2014 (2014-10-31), pages 2258 *

Also Published As

Publication number Publication date
US20200151367A1 (en) 2020-05-14
EP3881214B1 (en) 2023-01-11
EP3881214A1 (en) 2021-09-22
US11093656B2 (en) 2021-08-17
WO2020100082A1 (en) 2020-05-22

Similar Documents

Publication Publication Date Title
US10599855B2 (en) Change-tolerant method of generating an identifier for a collection of assets in a computing environment using a secret sharing scheme
JP6504013B2 (ja) 暗号処理方法、暗号処理装置、および暗号処理プログラム
JP6810348B2 (ja) 暗号データ処理方法、暗号データ処理装置および暗号データ処理プログラム
US9367701B2 (en) Systems and methods for maintaining integrity and secrecy in untrusted computing platforms
US9288044B2 (en) Method for providing cryptographic key pairs
US11227037B2 (en) Computer system, verification method of confidential information, and computer
WO2006053304A9 (en) Volatile device keys and applications thereof
Alamélou et al. Pseudoentropic isometries: A new framework for fuzzy extractor reusability
US10503915B2 (en) Encrypted text verification system, method and recording medium
CN108537048B (zh) 一种加密固态硬盘与授权计算机的安全关联方法及系统
CN103336918B (zh) 电子盘系统授权方法和装置
CN104751042A (zh) 基于密码哈希与生物特征识别的可信性检测方法
JP6488954B2 (ja) 暗号データ処理方法、暗号データ処理システム、暗号データ処理装置および暗号データ処理プログラム
EP3881214B1 (en) Change-tolerant method of generating an identifier for a collection of assets in a computing environment
WO2017209228A1 (ja) 暗号化情報照合装置、暗号化情報照合方法、及び、暗号化情報照合プログラムが格納された記録媒体
US9805205B2 (en) Adaptive system profile
WO2024157662A1 (ja) メッセージ提示システム及びメッセージ提示方法
Rudd et al. Caliper: continuous authentication layered with integrated PKI encoding recognition
CN118245980A (zh) 应用程序的防迁移方法、装置以及电子装置
Bruyninckx et al. Safe cryptographic random number generation using untrusted generators
CN117874718A (zh) 一种离线产品许可证生成和验证方法
CN115550005A (zh) 一种双层加密敏感分区的云数据去重方法
Kuseler et al. obiometrics: A software protection scheme using biometric-based obfuscation
Kuseler et al. BossPro: a biometrics-based obfuscation scheme for software protection

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