CN103814355B - 使用误差‑校正编码方案在计算环境中生成用于资产集合的标识符的容忍变化方法 - Google Patents

使用误差‑校正编码方案在计算环境中生成用于资产集合的标识符的容忍变化方法 Download PDF

Info

Publication number
CN103814355B
CN103814355B CN201180070860.7A CN201180070860A CN103814355B CN 103814355 B CN103814355 B CN 103814355B CN 201180070860 A CN201180070860 A CN 201180070860A CN 103814355 B CN103814355 B CN 103814355B
Authority
CN
China
Prior art keywords
parameter
assets
inquiry
identifier
fingerprint
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.)
Expired - Fee Related
Application number
CN201180070860.7A
Other languages
English (en)
Other versions
CN103814355A (zh
Inventor
F.张
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.)
Ai Dide Technology Co Ltd
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 CN103814355A publication Critical patent/CN103814355A/zh
Application granted granted Critical
Publication of CN103814355B publication Critical patent/CN103814355B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • 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/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/0643Hash functions, e.g. MD5, SHA, HMAC or f9 MAC
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • 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/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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/34Encoding or coding, e.g. Huffman coding or error correction

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Power Engineering (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Error Detection And Correction (AREA)
  • Detection And Prevention Of Errors In Transmission (AREA)

Abstract

一种获得用于与计算环境相关联的资产集合的标识符的安全和容忍变化方法。每个资产具有资产参数,并且计算环境具有基于原始资产集合以及在原始资产集合上的代码字生成算法的指纹。该方法包括:检索资产集合的资产参数并处理所检索的资产参数以获得编码符号。将误差‑校正算法施加至编码符号以获得标识符。该方法可以用在节点‑锁定中。

Description

使用误差-校正编码方案在计算环境中生成用于资产集合的 标识符的容忍变化方法
背景技术
本公开内容一般涉及生成用于计算环境的标识符。更特别的是,本公开内容涉及使用误差-校正编码方案以容忍变化的方式在计算环境中生成用于资产集合的标识符。
用于计算机系统的许多保护技术需要用来稳健地识别其上运行软件应用的系统的机制。这一般通过从系统的各种资产读出装置标识符来完成,所述资产诸如是集成到系统中的硬件装置(母板参数、BIOS、MAC地址、硬盘、CD/DVD播放器、图形卡、I/O控制器)。然后,将这些装置标识符组合为系统的标识符。导出这种标识符的简单方式是通过将异或(XOR)施加至所有装置标识符。
当计算机硬件部分或者其它资产变化(诸如由于替换和修理)时,用来确定系统标识符的方法需要适应对设备标识符的偶尔的改变。支持硬件更新的一个方式是通过在仍生成相同的系统标识符的同时允许小数量的装置标识符改变。用来达到这个的已知的方式是通过:在初始化阶段期间记录唯一的装置标识符,以及在标识符计算阶段期间,将所记录的参数与实际的参数比较。如果存在充分的匹配,所记录的参数用来获得系统标识符。
存在其它的从信息的可随着时间变化的贡献片段的集合导出系统标识符的方法。虽然基于不同的贡献信息,这样的方法也需要在不改变所计算的标识符的情况下适应对贡献信息的改变。如在上述系统中,该方法由如下步骤组成:记录贡献信息,将所记录信息与实际信息比较,以及如果在实际信息与所记录信息之间存在充分的匹配则使系统能够进行使用。
这种方法的一个问题是所记录的装置标识符与所检索的参数的比较对攻击敏感。所记录的装置标识符的存在是这些攻击的关键推动者。因此期望提供一种生成系统标识符的方法,所述系统标识符容忍在计算环境中的变化,同时抵抗恶意攻击。
发明内容
在第一方面,本公开内容提供了一种用来获得用于与计算环境相关联的当前资产集合的标识符的方法。该方法包括:获得当前资产参数,当前资产参数与当前资产集合相关联;根据预定函数处理当前资产参数和指纹以获得编码符号,该指纹与计算环境相关联,该指纹基于计算环境的原始资产集合;并且将误差-校正算法施加至编码符号以获得标识符。
预定函数可以包括将每个当前资产参数转换为至少一个散列值以获得一系列散列值。预定函数可以进一步包括根据指纹将一系列散列值映射到编码符号。指纹可以将变换参数与之相关联;以及,将一系列散列值映射到编码符号可以根据该变换参数来实现。将一系列散列值映射到编码符号可以包括执行在该一系列散列值与变换参数之间的XOR操作。资产中的至少一个可以将询问-响应装置与之相关联;并且获得当前资产参数可以包括:将至少一个询问提供给询问-响应装置;以及,从该询问-响应装置接收针对至少一个询问中的每个询问的响应,每个响应组成当前资产参数。询问-响应装置可以包括物理不可克隆函数装置、软件狗和智能卡中的至少一个。误差-校正算法可以包括里德-所罗门(Reed-Solomon)误差-修正编码。
在第二方面,本公开内容提供定义用于计算环境的指纹的方法,所述计算环境将原始资产集合与之相关联。该方法包括:根据代码字生成算法生成代码字符号;以及根据预定函数处理资产参数和代码字符号以获得指纹,资产参数与原始资产集合相关联。
生成代码字符号可以包括将标识符作为输入提供给代码字生成算法。可以在处理之前访问资产以从中获得资产参数。处理可以包括将每个资产参数转换为至少一个散列值以获得一系列散列值。指纹可以包括一系列变换参数;并且预定函数可以根据代码字符号将该一系列散列值映射到该一系列变换参数。可以在处理之前获得资产参数。资产中的至少一个可以将询问-响应装置与之相关联;并且获得资产参数可以包括:将至少一个询问提供给询问-响应装置;以及,从该询问-响应装置接收针对至少一个询问中的每个询问的响应,每个响应组成资产参数。询问-响应装置包括物理不可克隆函数装置、软件狗和智能卡中的至少一个。代码字生成算法可以包括里德-所罗门误差-校正编码。
附图说明
对本领域技术人员而言,在查看下面结合附图的本公开内容的特定实施例的描述时,本发明的其它方面和特征将变得明显。
现在将参考附图仅通过举例来描述本发明的实施例。
图1A示出了根据本公开内容的示例性初始化方法。
图1B示出了根据本公开内容的如何可以获得计算环境的标识符的示例。
图2示出了根据本公开内容的另一个示例性初始化方法。
图3示出了根据本公开内容的如何可以获得计算环境的标识符的另一个示例。
图4示出了可以用在本公开内容的实施例中的在变换函数与查找函数之间的相互关系的示例。
图5示出了可以用在本公开内容的实施例中的提供两个散列值的单个资产参数的示例。
图6示出了可以用在本公开内容的实施例中的提供单个散列值的两个资产参数的示例。
图7示出了在本公开内容的方法的另一个实施例中的初始化以及可以如何获得标识符的示例。
图8示出了根据本公开内容的另一个示例性初始化方法。
图9示出了可以用在本公开内容的实施例中的包括要提供给询问-响应装置的询问的示例性误差-修正指纹。
具体实施方式
本公开内容提供了一种基于所检索的资产参数和与计算环境相关联的误差-校正指纹计算计算环境标识符的安全和容忍变化方法。标识符可以用来影响或确定在计算环境中运行的应用的功能。
为了本公开内容的目的,“容忍变化”类似于故障-容忍和变化-容忍,并且意味着指示即便当计算环境的一些资产在计算环境的误差-校正指纹识别之后已经被改变时,仍可以获得标识符。
如本文中使用的,“资产”是任何数据、应用、装置、节点或者计算环境的其它部件。资产一般包括硬件(例如,服务器和交换机)、软件(例如,任务关键性应用和支持系统)和机密信息。术语“计算环境”和“计算机系统”在本文中可交换地使用,并且意在包含单个计算机和其它装置,所述其它装置包括处理器、分布式计算系统、其部件、存储或以其它方式与其相关联的数据,并且包括与该计算机系统的用户相关联的数据、附着或可接近的外围装置、软件应用和操作系统、及其组合。如本文中使用的,“资产参数”意指被在资产、状况或者区域的给定类别的出现中受限的所分配或所确定的参数。至少在分配或确定资产参数的时候,该参数可以是唯一的或可以排他地识别资产。可以将资产参数表达成例如数字、符号、数字和字母串、或者函数。在其它场景中,资产参数可以不是唯一的,但资产参数的组合可以是。
可以使用本方法的示例系统是具有许多外围装置的计算机(计算环境),每个所述外围装置或多或少具有唯一的装置标识符,诸如序列号或者其它分配的资产参数。一般地,由制造商将这种装置标识符分配给装置。也可以将该方法应用于嵌入式微控制器的网络,其中每个微控制器具有唯一的标识符。这种配置通常发生在更复杂的系统(例如,飞机、汽车、工业机器)中,所述系统通过替换整个微控制器模块来进行修理。在这样的机器中,将控制器的固件链接到特别的网络设备可以是有利的。与计算机系统相关联的或存储在计算机系统上的数据源也可以是考虑过的资产。示例包括联系列表、用户参数设置、名称、地址、数据或者相对不频繁地改变的其它参数。资产参数可以通过将函数施加至与一个或多个资产相关联的参数来获得。例如,资产参数可以由函数产生,所述函数取得与计算机存储器、特别应用、或者作为输入的文件的集合相关联的参数。特定的资产参数也可以要求用户输入(例如,密码、问题的答案(例如,最喜欢的颜色、妈妈的婚前姓等等)、可移除数据源的插入或者指纹的扫描),以便对于由本文中描述的方法进行的处理变得可用。此外,一些资产可以不将资产参数与之相关联。同样地,可以将缺少资产参数考虑为当定义误差-修正指纹时以及当确定计算环境的标识符时的有效输入。
本公开内容使用来自误差-修正编码(其也可以被称作误差-校正编码)的技术领域的概念,所述误差-修正编码使得能够通过不可靠的通信链路进行可靠数据传输。(正向)误差修正编码(FEC)的主要变量是块码和卷积码,所述块码对固定块的数据起作用,所述卷积码对数据流起作用。在若干应用中,将这两种类型的编码组合起来以达到接近于香农(Shannon)限制的数据速率。Turbo编码或LDPC编码(低密度奇偶校验检查编码)可以用于增加的性能。虽然可以将任何误差-修正编码应用于本公开内容,但是本公开内容的一些实施例的描述将基于诸如最大距离可分编码的线性编码,里德所罗门(Reed Solomon)编码是其的公知示例。在不脱离本公开内容的范围的情况下可以使用除了最大距离可分编码以外的误差-修正编码。
如本领域公知的,误差-修正块码可以将由k个符号组成的消息x映射到由n个符号组成的代码字c。消息可以由(x1,x2,…,xk)表示,并且代码字由(c1,c2,…,cn)表示。消息中的和代码字中的符号选自大小为q的固定字母表。线性误差-修正编码可以由带有针对每个消息x的属性c=xG的生成器矩阵G表示,所述矩阵G包括k行和n列。编码的长度是n,且k被认为是编码的尺寸。如果发射代码字c,并且所接收的代码字等于r,则解码算法用来从r中检索x。误差-修正编码的误差-修正能力可以取决于编码的最小距离。该最小距离被定义为任何两个代码字不同的符号位置的最小数量,并且由d表示。带有最小距离d 的编码可以向上修正至Floor((d-1)/2)误差。长度n、尺寸k和最小距离d的线性误差-修正编码可以被称作[n,k,d]q编码。
里德所罗门编码是[n,k,n-k+1]q编码;换句话说,最小距离d等于n-k+1。里德所罗门编码也可以用在擦除信道中,其中,编码可以修正任何n-k个符号擦除(丢失的符号)的集合。可以在互联网上可得的Bernard Sklar的文章Reed-Solomon Codes中找到关于里德所罗门编码的进一步的信息。可以在例如Channel Codes: Classical and Modern by Ryan,William E., Shu Lin (2009), Cambridge University Press, ISBN 978-0-521-84868-8以及The Art of Error Correcting Coding by Robert H. Morelos-Zaragoza, SecondEdition, John Wiley & Sons, 2006, ISBN: 0470015586中找到进一步的信息。
图1A示出了根据本公开内容的示例性初始化方法。图1A的方法示出了可以如何为计算机环境中存在的资产集合生成指纹(其也可以被称作误差-校正指纹)。在初始化处存在的该资产集合可以被称作原始资产集合。在步骤20处,检索原始资产集合的资产参数。在步骤22处,在预定的标识符上执行误差-校正操作以提供代码字符号。在步骤24处,预定的函数对代码字和所检索的资产参数上其作用以生成计算机环境的误差-校正指纹。误差-校正指纹是原始资产集合的和标识符的函数。
图1B示出了如何可以获得计算环境的用于当前资产集合的标识符的示例性方法。计算环境将误差-修正指纹与之相关联,其是在初始化阶段处的资产参数的函数,在所述初始化阶段中,计算环境具有原始资产集合。
在步骤30处,检索当前资产集合的资产参数。在步骤32处,处理所检索的资产参数和指纹以获得编码符号。在步骤34处,将误差-校正操作(例如,里德所罗门误差校正操作)施加至编码符号以获得标识符。如果当前资产集合与原始资产集合完全相同,则标识符将总是正确的。如果当前资产集合不同于原始资产集合,则取决于哪些资产是不同的、取决于多少资产是不同的、以及取决于用来获得指纹的误差-校正操作,标识符可以是正确的或者可以是不正确的。
图2示出了根据本公开内容的另一个示例性初始化方法。即,图2示出了根据本公开内容可以如何计算计算系统的误差-校正指纹。在步骤501-50n处,从计算环境内的资产中检索(例如,读取或其它方式获得的)资产参数p1,p2,…pn。这些资产形成原始资产集合。
在步骤521-52n处,通过散列函数处理所检索的资产参数p1,p2,…pn以获得散列值h1,h2,…hn。在不脱离本公开内容的范围的情况下可以使用任何合适的散列函数。如步骤541-54n处所示,散列值h1,h2,…hn用作变换函数T的输入。
变换生成函数T的其它输入是定义为c=(c1,c2,…cn)的误差-保护的代码字c。符号c1,c2,…cn是由代码字生成器模块56生成(使用代码字生成算法)的作为标识符x1,x2,…xk的函数的代码字符号,所述标识符x1,x2,…xk可以由标识符生成器58生成。标识符生成器58也可以被称作身份消息服务器或者消息生成器。对于每个代码字符号ci和散列值hi,变换函数T(T=T(ci,hi))生成作为代码字符号ci的函数的变换参数ti。变换参数t1,t2,…tn定义作为散列值和代码字符号的函数的误差-修正指纹42。
如将在以下进一步示出的,代码字生成器模块56使用代码字生成算法(其可以包括里德所罗门误差-编码)以生成作为标识符的函数的代码字符号。标识符可以被看作特定于特别的计算环境的唯一的密钥。标识符可以被随机地生成。在一些应用中,标识符可以表示公共密钥密码系统中的密钥,所述公共密钥密码系统可以具有防止这种密钥的随机生成的一些专门的约束。用在数据加密标准(DES)密码算法中的密钥使用56位。改进的加密标准(AES)使用128或256位密钥。Rivest、Shamir、Adleman(RSA)算法使用2048或3072位的密钥长度。同样地,通过使用上述加密方法,标识符的大小的范围可以从约48到3K位。一般地,好的密码算法要求穷举的密钥查找以进行破译,所以密钥中的任何附加的位使用来找到该密钥的查找的次数翻倍。标识符可以通过使用随机数字生成器来生成,并且应当足够长以区分计算系统以及抵抗字典攻击。一般地,应当根据至少标识符长度、资产参数的数量以及散列算法来选择代码字生成器算法和误差-校正编码。
关于计算环境中的应用的初始化,在一些实施例中,应用的初始化部分读取资产参数并将它们发送到服务器。服务器根据代码字生成算法(其可以包括里德所罗门误差校正编码)计算作为资产函数的计算环境中的误差-校正指纹,并将该指纹返回到在计算环境上运行的应用。服务器也可以生成带有嵌入在新应用中的误差-校正指纹的应用的实例。在这种情况下,服务器将应用实例发送到计算平台(计算环境)以便执行或安装。如以下进一步详细描述的,误差-校正指纹使应用能够将资产参数转换为系统标识符。
图3示出了图1B的方法的实施方式。图3涉及具有n个资产参数 p'1, p'2,...p'n的计算环境。在步骤361-36n处,从计算环境内的资产中检索(例如,读取或其它方式获得的)资产参数。在步骤381-38n处,通过散列函数处理所检索的资产参数 p'1, p'2,...p'n以获得散列值h'1, h'2,...h'n。该散列函数与在初始化阶段使用的散列函数相同。散列值通常将取决于资产参数。在步骤401-40n处,通过映射操作L,将散列值h'1, h'2,...h'n作为误差-校正指纹42的变换参数t1,t2,…tn的函数映射到各自的编码符号c'1, c'2,...c'n。诸如在图2的示例中描述的,预定的变换参数t1,t2,…tn定义误差-修正指纹42,并且在初始化阶段进行确定。在步骤44处,误差-校正模块46可以将误差-校正算法施加至编码符号c'1, c'2,...c'n以获得标识符x'1, x'2,...x'k。误差-校正算法可以包括里德-所罗门误差-校正编码或者任何其它合适类型的误差-校正编码。由误差-校正模块46施加的误差-校正算法在功能上与由图2的代码字生成模块56施加的代码字生成算法相对。
假如资产参数 p'1, p'2,...p'n与资产参数p1,p2,…pn(图2)相同,或者假如它们相差不大于对由误差校正模块46(图2)应用的特别的误差-校正编码而言可接受的量,则在误差校正模块46的输出端处获得的标识符x'1, x'2,...x'k将与输入到代码字生成器模块56(图2)的标识符x1,x2,…,xk相同。即,假如资产参数 p'1, p'2,...p'n与p1,p2,…pn中的差异(误差)不大于可以由误差校正模块46容忍的差异。
查找函数L(在图3的步骤401-40n)由变换参数ti配置。假如资产参数 p'i与在初始化处存在的资产参数pi相同;即,假如h'i=hi,结果查找函数将散列值h'i映射到代码字符号ci。对于不对应于在初始化处存在的资产参数h'i的其它值,ti-配置的查找函数L产生不等于ci的输出值。如果误差修正编码支持专门的供应则可以为了生成用于对表示缺少资产参数的值进行编码的变换映射函数而做专门的供应。
对于一些应用,可以有益的是实现作为在hi和ci上的XOR函数的变换参数生成函数T。也可以使用其他函数表示。一般地,表查找可以表示任何函数。实际地使用计算以生成相同的结果是可能的,以取代查找表。XOR是一个这样的操作(计算)。可替换地,可以使用L的简单增加以及T的减少。图4示出了在变换函数T与查找表L之间的关系的示例,图4示出了如何结合使用变换函数T(54i)和查找函数L(40i)。变换函数T(54i)将代码字符号ci和初始的散列值hi映射到变换参数ti。对于值h'i,只有当h'i等于hi时,查找函数L(40i)产生等于ci的初始值的编码符号c'i。对于所有其它h'i值,查找函数L产生不同于ci的所接收的符号值c'i。即,如果在初始化处存在的原始资产已经由替换资产替换,则对应于替换资产的编码符号值将不同于对应于原始资产的代码字符号。
在图2和3的示例中,仅生成用于每个资产参数的一个散列值。然而,情况未必就是这样。例如,如图5所示,对于单个资产参数pi,生成多于一个散列值是可能的。在图5的示例中,在步骤62处读取的资产参数p3被散列为两个散列值h3和h4,以便根据变换参数t3和t4产生代码字c3和c4,所述两个散列值h3和h4可以用作查找函数64和66的单独的输入,所述代码字c3和c4可以用来生成误差-校正指纹。这可以允许将不同的权重分配给资产参数。例如,仅将一个散列值与之相关联的资产参数相比,将多于一个散列值与之相关联的资产参数一般将在确定计算机环境标识符中具有重大的作用。
相反地,对于多资产参数,生成单个散列值也是可能的。例如,可以将散列函数施加至资产参数的总和以取代被施加至独立的资产参数。即,H(p1+p2)可以替换散列函数H(P1)和H(P2)。后来的初始化阶段,资产的一个或两者的改变以及由此的它们相应的资产参数的改变将一般对所恢复的标识符有相同的影响。在图6示出了一个示例,其中在步骤70处,对在步骤68处检索的资产参数p1进行与在步骤72处检索的资产参数p2的求和。然后,在步骤74处将求和后的资产参数p1+p2散列以产生散列值h1,所述散列值h1被输入到查找函数75以生成作为变换参数t1的函数的代码字c1
在不脱离本公开内容的范围的情况下,资产参数在被散列为多个散列参数之前也可以被分裂为多个部分。在生成散列之前或在施加散列函数之后也可以存在实质处理。误差修正模块的这种间接使用也在本公开内容的范围内。
图7示出了本公开内容的有关应用(软件应用)的示例,所述应用依赖三个资产并且依赖里德-所罗门(4,2)误差-修正编码。在本示例中,仅当一个基本资产是正确的且剩下的两个资产中的至少一个正确时应用将产生有效结果(有效标识符)。在基本资产中的误差或者在其它两个资产两者中的误差将不提供有效标识符并将防止应用提供意向的功能。在本示例中,具有资产参数p3的资产是基本资产,并且该资产参数将散列值h3和h4与之相关联。
首先描述的是如何确定错误-校正指纹,以便计算包括三个资产的资产。
在步骤76处,标识符生成器78生成标识符x=(x1,x2),其被输入到代码字生成器80中。在该示例中,代码字生成器80(使用代码字生成算法的代码字生成器,所述代码字生成算法使用里德-所罗门(4,2)误差-校正编码)输出作为标识符x的函数的代码字c=(c1,c2,c3,c4)。每个代码字符号ci是变换函数T的输入,所述变换函数T也具有作为输入的从原始资产集合获得的散列值,为所述原始资产集合确定错误-校正指纹84。散列值是h1,h2,h3和h4。如图7所示,资产参数p3以及因此与其相关的资产将两个散列值h3和h4与之相关联,在没有两个散列值h3和h4的情况下,不能获得有效的标识符。
变换函数821输出变换参数t1,变换函数822输出变换参数t2,变换函数823输出变换参数t3并且变换函数824输出变换参数t4。变换参数t1,t2,t3和t4组成错误-校正指纹84。
在确定用于三个资产的标识符中,如果所述三个资产是在确定错误-校正指纹84或其它资产中使用的最初三个资产,则在步骤861-863处检索资产参数p1,p2和p3。在步骤881处获得作为资产参数p1的函数的散列值h1。在步骤882处获得作为资产参数p2的函数的散列值h2。在步骤883处获得作为资产参数p3的函数的散列值h3和h4
随后,将每个散列值hi(i=1至4)和对应的变换参数ti输入到查找函数L(hi,ti)中,所述查找函数L(hi,ti)输出代码字符号c'i。这在步骤901-904中示出。仅当用来确定c'i的资产参数与用来确定变换参数ti的资产参数相同时,编码符号c'i才将与编码符号ci完全相同。将编码符号c'1,c'2,c'3和c'4输入到错误-校正模块92(里德-所罗门(4,2)误差-校正模块)中,所述错误-校正模块92输出标识符x'=(x'1,x'2)。只有当c'3=c3且c'4=c4时,并且当c'1=c1或c'2=c2时,标识符x'将等于x=(x1,x2)。
图7也示出了RS(4,2)错误-校正模块92的使用,其使用了基于里德-所罗门误差-校正编码的错误-校正算法。基本资产参数p3用来生成两个散列值h3和h4。因为误差校正模块92的RS(4,2)编码可以修正一个误差符号,所以为了使RS(4,2)误差校正模块92产生有效的输出,需要修正基本资产参数p3。如果p3是正确的,则剩下的散列参数中的一个(h1或h2)可以是不正确的,因为RS(4,2)误差校正模块92可以从该误差中恢复。
标识符x=(x1,x2)可以为多个计算平台(计算环境)所共用。在这样的情况下,最终用户可以获得程序(应用程序)的完全相同的副本,而不要求特定于错误-校正指纹的计算平台生成标识符x。
在一些应用中可以有利的是,通过使用有意区别于在初始化处使用的资产的资产来恢复标识符。因为误差修正编码容忍一定数量的错误资产参数,所以该方法可以用来使针对系统的攻击变复杂。误差校正模块可以给出可以由应用容忍的不正确符号的数量的指示。可以由此做出对在恢复处的有意错误输入的数量的调整。
一些计算平台(计算环境)可以支持询问-响应装置(函数)以取代读取资产参数,所述询问-响应装置(函数)诸如例如是物理不可克隆函数、软件狗、智能卡等等。对于与这种询问-响应装置相关联的资产,图3的示例性识别消息恢复方法可以适合于将询问发布给询问-响应装置,并且适合于处理响应。
在初始化阶段期间,即,在建立错误-校正指纹的时候,获得大量询问和对应的响应,并将其用于生成错误-校正指纹。图8示出了类似于图2的示例的初始化示例,但其中,询问装置(函数)94将两个询问提供给两个询问-响应装置100和101以获得响应CR1和CR2,以取代读取资产参数p1和p2。如下面描述的,响应CR1和CR2随后被作为资产参数对待,并且同样地,可以被称作资产参数。即,响应CR1和CR2组成资产参数。询问-响应装置100和101均可以与计算环境的不同资产相关联。
询问装置94将第一询问96提供给询问-响应装置100。作为响应,询问-响应装置100将响应CR1提供给散列函数521,所述散列函数521产生散列值h1。询问装置94也将第二询问98提供给询问-响应装置101,所述询问-响应装置101转而将响应CR2提供给散列函数522。散列函数522产生散列值h2。同样地,CR1和CR2被散列函数作为资产参数对待。在本示例中,通过诸如在步骤50n处检索对应的资产参数以及将资产参数提供给它们各自的散列函数来获得除了h1和h2以外的散列值,步骤50n提供资产参数pn。将散列值h1,h2,…hn提供给变换函数T。变换函数T的其它输入是定义为c=(c1,c2,…cn)的误差保护的代码字c。符号c1,c2,…cn是由作为标识符x1,x2,…xk的函数的代码字生成器模块56生成的代码字符号,所述标识符x1,x2,…xk可以由标识符生成器58生成。变换函数T=T(ci,hi)生成作为代码字符号ci和散列值hi的函数的变换参数ti。变换参数t1,t2,…tn被包括在错误-修正指纹61中。
如由技术人员理解的,通过处理来自询问-响应装置的响应可以获得任何数量的散列值。例如,通过处理来自询问-响应装置的响应可以获得所有的散列值,或者如在图8的示例中,通过处理来自询问-响应装置的响应仅仅可以获得整个数量的散列值的一部分。
除了包括变换参数t1,t2,…tn,错误-校正指纹61可以包括与用来获得响应的询问相同的询问。即,在图8的示例中,询问96和98将是错误-校正指纹61的一部分,所述错误-校正指纹61当识别计算环境时将能够发出那些询问。在102处示出了将询问96和98供应给错误-校正指纹61。
图9示出了在生成可以用来获得标识符的编码符号中使用的错误-校正指纹104。错误-校正指纹104被操作地连接到询问-响应装置(函数)106。本示例的询问-响应装置(函数)106与计算环境的资产n相关联。错误-校正指纹104包括m个变换参数t以及m个询问i。图9示出了从错误-校正指纹104接收询问i2,并且响应于询问i2将响应CRn,2提供给散列函数150的询问-响应装置(函数)106,所述散列函数150将散列值hn,2输出到查找函数152。查找函数也从错误-校正指纹104接收作为输入的变换参数tn,2,并且将编码符号c'n,2输出到错误-校正模块(未示出)。
在本示例中,询问-响应装置106将提供针对由错误-校正指纹104提交的每个询问的响应。询问-响应装置106将m个响应CRn,1,CRn,2,…CRn,m提供给散列函数150。每个响应被变换为散列值(hn,1,hn,2,…hn,m)。散列值和变换参数(在错误-校正指纹104中包括的tn,1,tn,2,…tn,m)被输入到查找函数L,所述查找函数L输出编码符号(c'n,1,c'n,2,…c'n,m)。编码符号被提供给错误-校正模块(未示出)。
在计算环境依赖获得来自询问-响应装置的响应以及依赖检索资产参数的场景中,错误-校正指纹也将包括变换参数,对于所述变换参数不存在相关联的询问。
本公开内容的另一个应用是使用作为密钥的标识符(识别消息),所述密钥可以用在密码操作中。密钥恢复需要正确的错误-校正指纹,所述错误-校正指纹在具有充足数量的正确资产参数值的情况下将解码到在计算平台上的意向的密钥。
在前面的描述中,为了解释的目的,阐述了许多细节以便提供对实施例的透彻理解。然而,对本领域技术人员而言,明显的是,不要求这些具体的细节。在其它实例中,以框图形式示出公知的电结构和电路,以便不使理解模糊。例如,不提供关于本文中描述的实施例的是作为软件例程、硬件电路、固件或还是其组合实现的具体细节。
本公开内容的实施例可以被表示为存储在机器可读介质(也被称作具有在其中体现的计算机可读程序编码的计算机可读介质、处理器可读介质或者计算机可用介质)中的计算机程序产品。机器可读介质可以是任何合适的有形的非瞬态介质,包括磁、光、或电存储介质,其包括磁盘、光盘只读存储器(CD-ROM)、存储器装置(易失或非易失)、或者类似的存储机构。机器可读介质可以包含指令、代码序列、配置信息、或者其它数据的各种集合,其当被执行时使处理器执行在根据本公开内容的实施例的方法中的步骤。本领域技术人员将理解实现所描述实施方式所必要的其它指令和操作也可以被存储在机器可读介质上。存储在机器可读介质上的指令可以由处理器或其它合适的处理装置执行,并且可以与电路对接以执行所描述的任务。
上述实施例仅意在成为示例。在不脱离单独由此处所附权利要求限定的范围的情况下,可以由本领域技术人员对特别的实施例实现替换、修改和变化。

Claims (34)

1.一种用来获得用于与计算环境相关联的当前资产集合的标识符的方法,所述方法包括:
获得当前资产参数,所述当前资产参数与所述当前资产集合相关联;
根据预定函数处理所述当前资产参数和指纹以获得所述标识符的编码符号,所述指纹与所述计算环境相关联,所述指纹基于所述计算环境的原始资产集合以及原始标识符的编码符号;以及
将误差-校正算法施加至所述标识符的所述编码符号以获得所述标识符。
2.权利要求1所述的方法,其中,所述预定函数包括将每个当前资产参数转换为至少一个散列值以获得一系列散列值。
3.权利要求2所述的方法,其中,所述预定函数进一步包括根据所述指纹将所述一系列散列值映射到所述编码符号。
4.权利要求3所述的方法,其中:
所述指纹将变换参数与之相关联;以及
将所述一系列散列值映射到所述编码符号是根据所述变换参数来实现的。
5.权利要求4所述的方法,其中,将所述一系列散列值映射到所述编码符号包括执行在所述一系列散列值与所述变换参数之间的XOR操作。
6.权利要求1至5中任意一项所述的方法,其中:
所述资产中的至少一个将询问-响应装置与之相关联;以及
获得所述当前资产参数包括:
将至少一个询问提供给所述询问-响应装置;以及
从所述询问-响应装置接收针对所述至少一个询问中的每个询问的响应,每个响应组成当前资产参数。
7.权利要求6所述的方法,其中,所述询问-响应装置包括物理不可克隆函数装置、软件狗和智能卡中的至少一个。
8.权利要求1至5中任意一项所述的方法,其中,所述误差-校正算法可以包括里德-所罗门误差-修正编码。
9.一种定义用于计算环境的指纹的方法,所述计算环境将原始资产集合与之相关联,所述方法包括:
根据代码字生成算法生成代码字符号,其中所述代码字生成算法包括对标识符执行误差-校正操作;以及
根据预定函数处理资产参数和所述代码字符号以获得所述指纹,所述资产参数与所述原始资产集合相关联。
10.权利要求9所述的方法,其中,生成代码字符号包括将所述标识符作为输入提供给所述代码字生成算法。
11.权利要求9或10所述的方法,其中,在处理之前访问所述资产以从中获得所述资产参数。
12.权利要求9或10所述的方法,其中,处理包括将每个资产参数转换为至少一个散列值以获得一系列散列值。
13.权利要求12所述的方法,其中:
所述指纹包括一系列变换参数;以及
所述预定函数根据所述代码字符号将所述一系列散列值映射到所述一系列变换参数。
14.权利要求9或10所述的方法,其中,在处理之前获得所述资产参数。
15.权利要求14所述的方法,其中:
所述资产中的至少一个将询问-响应装置与之相关联;以及
获得所述资产参数包括:
将至少一个询问提供给所述询问-响应装置;以及,
从所述询问-响应装置接收针对所述至少一个询问中的每个询问的响应,每个响应组成资产参数。
16.权利要求15所述的方法,其中,所述询问-响应装置包括物理不可克隆函数装置、软件狗和智能卡中的至少一个。
17.权利要求9或10所述的方法,其中,所述误差-校正操作使用里德-所罗门误差-校正编码。
18.一种用来获得用于与计算环境相关联的当前资产集合的标识符的设备,所述设备包括:
用于获得当前资产参数的部件,所述当前资产参数与所述当前资产集合相关联;
用于根据预定函数处理所述当前资产参数和指纹以获得所述标识符的编码符号的部件,所述指纹与所述计算环境相关联,所述指纹基于所述计算环境的原始资产集合以及原始标识符的编码符号;以及
用于将误差-校正算法施加至所述标识符的所述编码符号以获得所述标识符的部件。
19.权利要求18所述的设备,其中,所述预定函数包括将每个当前资产参数转换为至少一个散列值以获得一系列散列值。
20.权利要求19所述的设备,其中,所述预定函数进一步包括根据所述指纹将所述一系列散列值映射到所述编码符号。
21.权利要求20所述的设备,其中:
所述指纹将变换参数与之相关联;以及
用于将所述一系列散列值映射到所述编码符号的部件是根据所述变换参数来实现的。
22.权利要求21所述的设备,其中,用于将所述一系列散列值映射到所述编码符号的部件包括用于执行在所述一系列散列值与所述变换参数之间的XOR操作的部件。
23.权利要求18至22中任意一项所述的设备,其中:
所述资产中的至少一个将询问-响应装置与之相关联;以及
用于获得所述当前资产参数的部件包括:
用于将至少一个询问提供给所述询问-响应装置的部件;以及
用于从所述询问-响应装置接收针对所述至少一个询问中的每个询问的响应的部件,每个响应组成当前资产参数。
24.权利要求23所述的设备,其中,所述询问-响应装置包括物理不可克隆函数装置、软件狗和智能卡中的至少一个。
25.权利要求18至22中任意一项所述的设备,其中,所述误差-校正算法可以包括里德-所罗门误差-修正编码。
26.一种用来定义用于计算环境的指纹的设备,所述计算环境将原始资产集合与之相关联,所述设备包括:
用于根据代码字生成算法生成代码字符号的部件,其中所述代码字生成算法包括对标识符执行误差-校正操作;以及
用于根据预定函数处理资产参数和所述代码字符号以获得所述指纹的部件,所述资产参数与所述原始资产集合相关联。
27.权利要求26所述的设备,其中,用于生成代码字符号的部件包括用于将标识符作为输入提供给所述代码字生成算法的部件。
28.权利要求26或27所述的设备,其中,用于访问所述资产以从中获得所述资产参数的部件在用于处理的部件之前。
29.权利要求26或27所述的设备,其中,用于处理的部件包括用于将每个资产参数转换为至少一个散列值以获得一系列散列值的部件。
30.权利要求29所述的设备,其中:
所述指纹包括一系列变换参数;以及
所述预定函数根据所述代码字符号将所述一系列散列值映射到所述一系列变换参数。
31.权利要求26或27所述的设备,其中,用于获得所述资产参数的部件在用于处理的部件之前。
32.权利要求31所述的设备,其中:
所述资产中的至少一个将询问-响应装置与之相关联;以及
用于获得所述资产参数的部件包括:
用于将至少一个询问提供给所述询问-响应装置的部件;以及,
用于从所述询问-响应装置接收针对所述至少一个询问中的每个询问的响应的部件,每个响应组成资产参数。
33.权利要求32所述的设备,其中,所述询问-响应装置包括物理不可克隆函数装置、软件狗和智能卡中的至少一个。
34.权利要求26或27所述的设备,其中,所述误差-校正操作使用里德-所罗门误差-校正编码。
CN201180070860.7A 2011-03-15 2011-03-15 使用误差‑校正编码方案在计算环境中生成用于资产集合的标识符的容忍变化方法 Expired - Fee Related CN103814355B (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2011/000417 WO2012122674A1 (en) 2011-03-15 2011-03-15 Change-tolerant method for generating identifier for collection of assets in computing environment using error-correction code scheme

Publications (2)

Publication Number Publication Date
CN103814355A CN103814355A (zh) 2014-05-21
CN103814355B true CN103814355B (zh) 2017-11-28

Family

ID=46830010

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201180070860.7A Expired - Fee Related CN103814355B (zh) 2011-03-15 2011-03-15 使用误差‑校正编码方案在计算环境中生成用于资产集合的标识符的容忍变化方法

Country Status (8)

Country Link
US (1) US9967089B2 (zh)
EP (1) EP2686767B1 (zh)
JP (1) JP5854443B2 (zh)
KR (1) KR20140057479A (zh)
CN (1) CN103814355B (zh)
AU (1) AU2011362519B2 (zh)
CA (1) CA2830110C (zh)
WO (1) WO2012122674A1 (zh)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA2835503A1 (en) * 2011-05-09 2012-11-15 Vincent Martinez Sancho Shannon security double symmetrical cryptogram method by coding information for telematic and electronic transmission
US20130212642A1 (en) * 2012-02-12 2013-08-15 John J. Walsh Resilient Device Authentication System
US9996480B2 (en) 2012-07-18 2018-06-12 Analog Devices, Inc. Resilient device authentication system with metadata binding
US9258129B2 (en) * 2012-07-18 2016-02-09 Sypris Electronics, Llc Resilient device authentication system
WO2014154261A1 (en) * 2013-03-27 2014-10-02 Irdeto B.V. Storing and accessing data
EP2956859A4 (en) * 2013-03-28 2016-10-12 Irdeto Bv GENERATING AN IDENTIFIER
GB201505438D0 (en) 2015-03-30 2015-05-13 Irdeto Bv Accessing content at a device
WO2020150011A1 (en) * 2019-01-15 2020-07-23 Blockchain Asics, Inc. Dynamic transform in blockchain header validation
US11374914B2 (en) * 2020-06-29 2022-06-28 Capital One Services, Llc Systems and methods for determining knowledge-based authentication questions

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1530791A (zh) * 2003-03-03 2004-09-22 用于将软件包捆绑到具有硬件改变容限的计算机系统的长硬件标识

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5530757A (en) * 1994-06-28 1996-06-25 International Business Machines Corporation Distributed fingerprints for information integrity verification
US6807632B1 (en) * 1999-01-21 2004-10-19 Emc Corporation Content addressable information encapsulation, representation, and transfer
JP2002538504A (ja) * 1999-02-11 2002-11-12 アールエスエイ セキュリティー インコーポレーテッド ファジー・コミットメント方式
US7770016B2 (en) 1999-07-29 2010-08-03 Intertrust Technologies Corporation Systems and methods for watermarking software and other media
US6880149B2 (en) * 2002-04-01 2005-04-12 Pace Anti-Piracy Method for runtime code integrity validation using code block checksums
US7840803B2 (en) * 2002-04-16 2010-11-23 Massachusetts Institute Of Technology Authentication of integrated circuits
US7000151B2 (en) * 2002-07-18 2006-02-14 Hewlett-Packard Development Company, L.P. System and method for providing run-time type checking
US7296294B2 (en) * 2003-03-03 2007-11-13 Microsoft Corporation System for binding secrets to a computer system having tolerance for hardware changes
US20050132357A1 (en) * 2003-12-16 2005-06-16 Microsoft Corporation Ensuring that a software update may be installed or run only on a specific device or class of devices
US7546587B2 (en) * 2004-03-01 2009-06-09 Microsoft Corporation Run-time call stack verification
US7444582B1 (en) * 2004-10-27 2008-10-28 Marvell International Ltd. Architecture and control of reed-solomon error-correction decoding
US20080292136A1 (en) * 2007-05-23 2008-11-27 Srinivasan Ramani Data Processing System And Method
US7975313B2 (en) * 2007-08-14 2011-07-05 International Business Machines Corporation System and method for tracing Tardos fingerprint codes
US8291493B2 (en) * 2007-11-27 2012-10-16 Mcafee, Inc. Windows registry modification verification
WO2009105002A1 (en) * 2008-02-20 2009-08-27 Telefonaktiebolaget Lm Ericsson (Publ) Flexible node identity for telecom nodes
US8516106B2 (en) 2009-05-18 2013-08-20 International Business Machines Corporation Use tag clouds to visualize components related to an event
US8848905B1 (en) * 2010-07-28 2014-09-30 Sandia Corporation Deterrence of device counterfeiting, cloning, and subversion by substitution using hardware fingerprinting
US8667265B1 (en) * 2010-07-28 2014-03-04 Sandia Corporation Hardware device binding and mutual authentication
US8516269B1 (en) * 2010-07-28 2013-08-20 Sandia Corporation Hardware device to physical structure binding and authentication

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1530791A (zh) * 2003-03-03 2004-09-22 用于将软件包捆绑到具有硬件改变容限的计算机系统的长硬件标识

Also Published As

Publication number Publication date
CA2830110C (en) 2018-06-26
WO2012122674A1 (en) 2012-09-20
EP2686767A4 (en) 2014-10-22
AU2011362519B2 (en) 2017-03-30
AU2011362519A1 (en) 2013-10-10
CA2830110A1 (en) 2012-09-20
EP2686767A1 (en) 2014-01-22
EP2686767B1 (en) 2019-06-05
JP5854443B2 (ja) 2016-02-09
CN103814355A (zh) 2014-05-21
JP2014515203A (ja) 2014-06-26
KR20140057479A (ko) 2014-05-13
US20150023495A1 (en) 2015-01-22
US9967089B2 (en) 2018-05-08

Similar Documents

Publication Publication Date Title
CN103814355B (zh) 使用误差‑校正编码方案在计算环境中生成用于资产集合的标识符的容忍变化方法
JP6929776B2 (ja) 物理的複製不可能関数からの暗号鍵生成
US10805093B2 (en) Cryptographic device comprising a physical unclonable function
JP5468898B2 (ja) データを暗号化/復号する方法及び装置
Chen et al. Robust dynamic provable data possession
EP3532972A1 (en) Authentication method and system
JP2018098739A (ja) 暗号データ処理方法、暗号データ処理装置および暗号データ処理プログラム
WO2015156786A1 (en) Redactable document signatures
JP2004534333A (ja) コンピュータネットワークにおける分散データ処理に関する統合された保護方法及びシステム
US11233662B2 (en) Keyless encrypting schemes using physical unclonable function devices
KR101989813B1 (ko) 특정 포맷을 가지는 대체 데이터의 생성 및 검증
US10503915B2 (en) Encrypted text verification system, method and recording medium
US20090268915A1 (en) Secure Creation and Management of Device Ownership Keys
US10484182B2 (en) Encrypted text verification system, method, and recording medium
CN103797490A (zh) 在使用秘密共享方案的计算环境中生成用于资产集合的标识符的容忍变化方法
Márquez-Corbella et al. Computational aspects of retrieving a representation of an algebraic geometry code
KR102554982B1 (ko) 역계산 퍼지 추출기 및 인증을 위한 방법
CN112613008A (zh) 一种学生身份在线认证方法及系统
CN112614558A (zh) 基于区块链的电子病历共享方法和电子设备
CN112633712A (zh) 一种基于grs码的在线投标方法及系统
CN112613078A (zh) 一种文档电子签名方法、验签方法及其装置
CN110858803A (zh) 认证方法、系统、服务器和计算机可读存储介质
KR102425916B1 (ko) 가변 길이 퍼지 데이터를 지원하는 격자 기반 퍼지 추출 장치 및 방법
CN112613890A (zh) 基于区块链的商品真伪验证方法和系统
KR101960797B1 (ko) 생체 정보를 이용한 otp 인증 방법 및 이를 실행하는 시스템

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C53 Correction of patent of invention or patent application
CB02 Change of applicant information

Address after: Holland Hoofddorp

Applicant after: Ai Dide Technology Co., Ltd.

Address before: Holland Hoofddorp

Applicant before: Irdeto B.V.

COR Change of bibliographic data

Free format text: CORRECT: APPLICANT; FROM: IRDETO B.V. TO: IRDETO B. V.

Free format text: CORRECT: ADDRESS; FROM:

GR01 Patent grant
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20171128

Termination date: 20210315