CN102841992A - 用于基于计算机的当前组件生成用于受保护的数字数据对象的加密密钥的方法 - Google Patents

用于基于计算机的当前组件生成用于受保护的数字数据对象的加密密钥的方法 Download PDF

Info

Publication number
CN102841992A
CN102841992A CN2012101172082A CN201210117208A CN102841992A CN 102841992 A CN102841992 A CN 102841992A CN 2012101172082 A CN2012101172082 A CN 2012101172082A CN 201210117208 A CN201210117208 A CN 201210117208A CN 102841992 A CN102841992 A CN 102841992A
Authority
CN
China
Prior art keywords
computing machine
eigenwert
current
value
tabulation
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
CN2012101172082A
Other languages
English (en)
Other versions
CN102841992B (zh
Inventor
P.维希曼
U.罗伊特
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.)
WIBU-SYSTEMS AG
WIBU Systems AG
Original Assignee
WIBU-SYSTEMS AG
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 WIBU-SYSTEMS AG filed Critical WIBU-SYSTEMS AG
Publication of CN102841992A publication Critical patent/CN102841992A/zh
Application granted granted Critical
Publication of CN102841992B publication Critical patent/CN102841992B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/06Network architectures or network communication protocols for network security for supporting key management in a packet data network
    • 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]
    • 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
    • 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
    • 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
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computing Systems (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Multimedia (AREA)
  • Technology Law (AREA)
  • Power Engineering (AREA)
  • Storage Device Security (AREA)

Abstract

本发明涉及一种用于基于计算机的当前组件生成加密密钥以便对用于在计算机上执行受保护的数字数据对象的加密的计算机专用授权码进行解密的方法,其包括:确定计算机的特征的当前特征值;根据当前特征值计算当前校验和并且与原始校验和相比较。如果原始校验和和当前校验和是相同的,则当前特征值被存储在当前特征值向量中。如果它们不是相同的,则空格被加入到当前特征值向量中代替当前特征值。使用冗余数据来确定当前特征值向量中的遗漏的特征值,并且完成当前特征值向量。所需要的加密密钥由所完成的特征值向量来生成。

Description

用于基于计算机的当前组件生成用于受保护的数字数据对象的加密密钥的方法
技术领域
本发明涉及一种用于基于计算机的当前组件生成加密密钥的方法。
背景技术
加密密钥被用来对用于在计算机上执行受保护的数字数据对象的加密的、计算机专用授权码进行解密。基于计算机的原始组件采用密钥来加密计算机专用授权码。计算机的原始组件是在预定的时间点(例如当安装文件或应用的时间)在计算机上存在的那些组件。这确保了受保护的数字数据对象仅能够在其已经被许可用于的计算机上使用。
为了本申请的目的,术语“数字数据对象”将被采用其一般意义来加以使用,根据其一般意义,数据对象是能够被临时地存储在介质上或存储器中的相关数据的结构化元素。术语“数字数据对象”因此包括可执行文件,诸如可执行程序、应用或应用程序、采用机器语言或采用脚本语言的程序。其还包括非可执行文件,诸如采用源代码的程序、文本文件、数据库文件、音频文件、图像文件、视频文件或其它数字内容,或诸如被用于存储数据的专有程序使用的一般二进制文件。还包括诸如鼠标驱动器或其它驱动器文件之类的设备文件。同时,除了在程序的运行时间之后保持被存储并且被特征化为非易失性文件或数据对象的这些类型的数据对象以外,该术语还指代诸如流式视频数据之类的“实况流(live stream)”数据对象或数据,其被保持在计算机上仅持续特定时间,常常在例如RAM的易失性存储器中。
诸如应用程序之类的数字数据对象通常被通过诸如许可证或数字版权管理系统(DRM系统)之类的电子保护机制在数据处理器或计算机上加以保护。采用这种方式,确保了只有注册的用户或已经购买了许可证的用户被实际授权使用数字数据对象,例如运行应用程序。将在下文中参考应用程序对在本发明下的目的和解决方案进行描述,但是不因此限制其一般适用性。
例如,正常的是,当安装应用程序或软件时提供许可证号码或产品密钥,并且将其键入为电子形式。为了本专利申请的目的,术语应用程序和软件将被同义地使用。这些是能够在计算机或数据处理设备上被执行的可执行文件。除非以其他方式指示,否则还将可替换地使用术语“设备、数据处理设备、数据处理器以及计算机”。
除了在安装期间输入许可证密钥的选择以外,还已知使用“保护锁(dongle)”。保护锁是连接到计算机并且被用作应用程序的授权密钥的数据处理设备。例如,保护锁可以具有USB棒的形式。在执行期间或当程序被启动时,受保护的计算机程序然后检查对应的保护锁是否存在。
还已知将要保护的软件与特定计算机耦合以便于保护软件程序。当程序被启动时,该计算机的特定组件被自动地查询:它们的特定值,例如确定它们的序列号或者计算机的“MAC地址”。如果所有必要的组件都存在,则该软件被准许运行。在这种类型的检查中,系统不仅验证对应的硬件组件是存在的,而且验证该硬件组件是否是许可证被准予用于的硬件组件。这使得该软件不可能被运行在具有相同种类的硬件组件的另一计算机上。该软件准确地要求当其被安装时或当许可证密钥被生成时曾存在的相同的组件。
使用这种类型的保护,计算机或其它技术设备必须尽可能地是明确地可识别的和不可伪造的。然而,这被随着时间的推移由于诸如它们的使用领域内的更新、变化之类的个别组件的修理、修改或它们必须满足的要求而导致设备经历技术改造的事实复杂化了。还可能发生的是,个别组件暂时根本不存在:例如,如果计算机的操作环境改变了,则原来曾在计算机中的第二网卡可能已经被移除。还可能的是,计算机的个别特征,也就是组件,在一时间段内不能够被正确地识别。这可能是由软件错误、与运行时间有关的系统限制,或由正被临时禁用或产生短期故障的个别组件造成的。
在许多情况下,个别组件或计算机的识别将涉及数字文件、应用程序或软件的许可,或保证主张的证据。在无需人工介入的情况下,这类主张然后能够被自动地处理。
使用确保被许可的软件产品仅能够在特定的计算机上运行的这种类型的许可,版权的拥有者可以被保证良好的保护。以这种方式,确保了数字文件不能够被安装或运行在任何其它的计算机上。其还给用户提供简单的方式以保证已购买的数字文件仅在他的计算机上是可执行的。不需要在计算机上安装另外的设备(诸如保护锁),并且不需要记下且经由键盘输入长的安装密钥。此外,因为在任何时候都能够在所讨论的计算机上重新安装该软件,所以不能够丢失该密钥。然而,这个方法的缺点是不能够对计算机进行变化、或者仅能够对计算机进行极其有限的变化。
因此,在现有技术中,计算机的仅一些特征或组件被用来保证这类保护。通常,不是曾被原始地安装在计算机上的所有组件(特征)都必须在物理上存在。如果例如五分之三的特征存在,则其被认为是足够的。现在能够根据原始定义的特征来确定组合或容许的配置,其中例如五分之三的特征是存在的。这导致总数为10的选择,也就是说必须查询并且检查十个容许的配置。更大数量的特征导致非常大数量的组合,致使处理不灵活并且慢。
如果对于版权拥有者的保护将被通过要求必须验证多个特征或必须验证多个特征中的较小子集来改进,则组合的数量非常快地增长。例如,如果十分之四的组件必须和原始组件一样,则这导致总数为210 (=(10*9*8*7)/(4*3*2*1))种可能的组合。可能的配置的数量根据(N, k)的二项式系数来计算,其中N是原始存在的组件的数量,而k是必须与原始组件匹配的当前存在的组件的数量。这个方法因此是不切实际的并且不被普遍地使用。
发明内容
考虑到在所述技术的状态下存在的缺点和相关的问题,本发明的目的是提出一种方法,通过该方法可以在受保护的数字数据对象(例如应用程序)与指定计算机之间创建耦合,其中该方法还应该是足够灵活的以允许个别组件被修改。
采用具有权利要求1的特征的方法来解决本目的。
所述方法的优选的、不明显的改进和实施例被限定在从属的子权利要求中。
通过根据该发明的方法基于计算机的当前组件来生成加密密钥。该加密密钥被用来对加密的、计算机专用授权码进行解密。授权码被使用以使得能够使用受保护的数字数据对象,例如以在计算机或数据处理器上运行应用程序或受保护的应用。通过加密密钥来加密计算机专用或设备专用授权码,其又取决于计算机的原始组件。计算机的原始组件是充当用于生成授权码的基础的那些组件。它们可以是例如当应用首次被安装时在给定计算机上最初曾存在的、并且能够被对应的方法来调用和使用的组件。原始组件还可以是在许可证被版权拥有者购买时、或在授权码被安装时、或在另一预定时间曾被最初检测到的组件。
为了能够唯一地标识计算机或其它技术设备,记录了最大可能数量的标识特征。该标识特征是基于在其上受保护的数字设备将被使用的计算机或另一技术设备的组件的。用于计算机的原始组件的标识特征被存储在盘存列表(inventory list)中。以这种方式,确定将要识别计算机的哪些特征,换言之,计算机的组件(针对该计算机的组件特征必须存在)。
作为示例,根据该发明的方法将在下文中被解释为用于许可用于特定计算机的数字数据对象而不因此限制其一般适用性。
根据本发明,针对出现在盘存列表中的计算机的每个特征(例如,针对计算机的每个硬件组件) 自动地确定所述特征的当前值,以便当使用受保护的数字数据对象时生成加密密钥。盘存列表包括例如当受保护的数字数据对象被许可或受保护的应用程序被安装时用于计算机的原始组件的特征、用于与在盘存列表中存储的特征相关联的每个原始特征值的原始校验和,以及还有已经被根据原始特征值的总集合确定的冗余值。针对当前确定的特征值中的每一个计算当前校验和。在该方法的进一步的步骤中,当前校验和被与根据原始特征值最初计算的原始校验和相比较。如果原始校验和与当前校验和相匹配,则在后续的步骤中,当前特征值被存储在当前特征向量中。如果校验和不匹配,也就是说如果用于计算机的特征值的当前校验和与原始校验和是不同的,则在当前特征向量中插入空格(space)代替当前特征值。采用这种方式,创建了表征计算机及其组件的当前状态的当前特征向量。
如果计算机的一些特征已经被改变,例如因为组件已经被替换、更新或移除,则经由根据本发明的方法通过可用的参考数据在进一步的步骤中调整(adapt)当前特征向量。使用冗余值来确定当前特征值向量中的遗漏的特征值。然后采用所确定的特征值来完成当前特征值向量,从而使得该向量中的空的或者不正确的位置被重写。如果计算机未经改变,则结果是完整的特征向量。
加密密钥是由完整的或已完成的特征值向量生成的,并且这使计算机专用授权码能够被解密。加密密钥优选地通过密钥导出函数(key derivation function)来生成。这个术语被用来指代加密基元(cryptoraphic primitive),采用该加密基元,从一组原始数据导出加密密钥。以这种方式创建的密钥不能够反过来与所述原始数据或与任何其它所导出的密钥相关。这样的密钥导出函数的示例是加密哈希函数。
当在完成根据本发明的方法时已经创建了加密密钥时,优选地在进一步的步骤中可以对已加密的授权码进行解密。可以采用已解密的授权码来激活数字数据对象,从而使得其能够被用户使用。在例如音频文件的情况下,可以听见音乐或声音,可以观看视频文件,可以执行应用程序。例如每次启动计算机或应用时、或者每次使用数字数据对象时,运行根据该发明的方法。该方法可以在例如计算机程序中加以实现,或者可以被作为可执行文件存储在计算机上。
在该方法的有利改进中,在其被首次运行之前生成具有计算机的原始组件的盘存列表。该盘存列表可以被用来确定最初针对其收集数据的特征。不必针对自那时起已经被添加的硬件特征和/或组件执行新的分析。这样的示例将是工业系统中的新的传感器或者计算机中的附加的网络适配器。与已经针对其收集了数据的特征相关联的校验和或校验值可以被用来确定特征值是否与最初记录的那些匹配,而不用泄露当前的特征值。除校验和之外,还可以使用诸如哈希和(hash sum)或比特承诺协议(bit commitment protocol)之类的加密测试机制。这些机制确保特征值向量可以包含遗漏、空(void)或不正确的位置,但是不包含错误。
在根据该发明的方法能够运行并且生成用于对用于受保护的数字数据对象的授权码进行解密的加密密钥之前,多个步骤必须被每个执行一次。当正安装程序时或当购买许可证时,将通常执行这些步骤。为此,首先生成包含用于计算机的原始组件的特征的盘存列表。计算机的原始组件是当创建盘存列表时曾存在的组件。许可证或计算机专用授权码被使用取决于这些原始组件的密钥来加密。盘存列表仅包括特征 (例如网卡或硬盘),不包括特征值本身(例如制造商的名称、序列号)。
在进一步的步骤中,针对被存储在盘存列表中的特征来确定原始的特征值。例如,对于特征网卡而言,这可以是制造商的名称,或对于特征“网卡的硬件地址”而言,这可以是作为特征值的“MAC地址”本身。针对这些原始特征值中的每一个确定原始校验和。其是这样的校验和或校验位,其不允许与原始特征值的值进行关联,但是其允许原始特征值的校验。
在进一步的步骤中,冗余值源自于原始特征值的整个集合,并且这些使得能够计算遗漏的特征值。一般而言,重要的是仅仅能够校正或计算与存在所指示的冗余数据一样多的遗漏值。例如,如果128比特的冗余数据被指示用于系统,则能够校正不超过128比特的错误值或遗漏值。以这种方式,冗余值的数量或其值集合可以被用来限定能够生成多少特征值,即使特征值本身并不存在。
在根据该发明的方法的优选实施例中,在具有用于计算机的原始组件的特征的盘存列表的生成之后并且在已经确定了原始特征值和冗余值的校验和之后创建“原始盘存列表”。这包括计算机的最初定义的原始特征值、对应的原始特征值的校验和以及冗余值。特征值本身不包括在盘存列表中。在进一步的步骤中,根据所有原始特征值的全体生成一个或多个加密密钥,并且这些被用来生成用于将被保护的数字数据对象的计算机专用授权码。原始盘存列表和所生成的密钥被优选地通过网络、因特网或服务器与计算机之间的另一数据链路自动地发送到服务器。
在所述数据已经被发送到服务器之后,原始特征值和所生成的密钥被从计算机删除,因此它们不再可用于以后的使用。在已经由服务器接收到该数据之后,使用在服务器上已经接收到的一个或多个加密密钥来生成用于使用受保护的数字数据对象的设备专用授权码。其被采用来自计算机的加密密钥进行加密。以这种方式生成的授权码被从服务器发送到计算机。只有在加密的授权码被解密的情况下才能够使用数字数据对象。为此,必须根据计算机的当前特征值来重新生成密钥。由于原始特征值和从其生成的密钥已经被从计算机删除,所以它们不可能被用来对授权码进行解密。以这种方式,数字数据对象的版权的拥有者确信受保护的数据对象仅能够被用于已经针对其授予许可证的、或已经针对其发布容许和授权的计算机上。
在根据该发明的方法的进一步的优选实施例中,原始盘存列表以及所生成的密钥也被从计算机发送到服务器。数据一旦已经被发送,就在计算机上删除原始盘存列表和原始校验和二者。在服务器上对包括特征的原始盘存列表、冗余值和原始特征值的原始校验和进行标记(sign)。在根据该发明的方法的优选实施例中,以确保所修改的盘存列表的完整性保护这样的方式在服务器上对原始盘存列表进行修改。完整性保护优选地通过插入当在计算机上评估盘存列表时被考虑到的数字签名或加密密钥来确保。当原始校验和与当前校验和相比时优选地使用完整性密钥(integrity key)。以这种方式,使版权拥有者确信已经被在服务器上标记的原始校验和和/或加密的原始校验和被用于比较。这使得不能容许地规避根据该发明的方法更加难,并且提高了对于授权码的保护。
在进一步的步骤中,所标记的盘存列表被发送到计算机。其被存储在计算机上并且充当用于查询计算机的个别特征的当前特征值的基础。
根据该发明的方法具有下述优点:其使得能够确定充当用于许可的基础的许多特征。由于当前设备配置的遗漏特征可以通过冗余数据来加以确定,所以不必建立固定的特征组合,因为其在相关技术中是常见的。代替的是,如果存在并且识别了预定数量的特征,则其是足够的。例如,这提供了下述优点:即使已经对计算机的硬件配置进行了改变,也仍然可以启用受保护的数字数据对象。虽然原始硬件标识和配置被发送给制造商—这是基于盘存列表来执行的—并且特别针对这个计算机来启用该数据对象,但是采用特定限制来准许对所述配置的偏离和改变。精确的容差参数可以由数字数据对象的许可者(例如软件产品的版权的拥有者)来加以定义或使用算法来自动地加以定义。该参数被存储在服务器上并且在那里可用于自动使用。
根据该发明的方法提供了进一步的优点,其中许可可以基于不止仅仅大量的特征。除计算机的组件之外可以使用其它特征。例如,可以(另外地)从诸如ID卡、USB棒或闪存卡之类的“令牌”使用特征值。还将可以使用移动设备的、例如必须经由有线或无线连接与计算机进行通信的蜂窝电话或智能电话的设备标识。在这种情况下,蜂窝电话的IMEI号可以被用于标识。如果使用电子身份卡和其它ID卡,则个人数据或个人有关的数据还可以被用作密钥生成和加密的基础。除计算机的组件以外优选地记录这些。
根据该发明的方法具有下述优点:不同的权重因子可以适用于各个特征,也就是说计算机的组件或相当的特征。特征值向量中的特征值取决于特征而具有不同的长度。很少被改变或具有高优先级的组件有利地接收较高的权重,其被反映在特征值向量中的较大长度的特征值中。例如,可以使用32比特来定义网卡的地址,然而计算机的BIOS版本或图形卡的序列号中的每个被使用16比特长度来指示。例如,TPM芯片(信任平台模块)的特征值可能具有128比特的长度。这对应于具有512比特的长度的典型的特征值向量中的25%的权重。TPM芯片是已知为智能卡芯片的东西,其被硬布线到计算机并且具有其自己的序列号。其通常被永久地焊接到计算机的主板并且被例如用于安全地存储秘密密钥或被规定为无法访问的类似信息。
在优选的实施例中,特征值向量具有至少64比特、128比特、256比特或者优选地至少512比特的长度。尤其对于安全应用而言,特征值向量可以具有至少1024比特、2048比特或者4096比特的长度。当然,能够使用更长的特征值向量。
除经由特征值的长度加权个别特征之外,冗余值的数据集也被用来定义该方法是多么宽容的。因此,其可以被用来定义可以对计算机进行多少改变、或者准许多少特征被改变或遗漏。冗余值的数据集因此优选地低于所有特征值的总数据集。用于冗余值的集合的极限值优选地不超过该特征值的数据的10%。所有特征值的90%因此必须与原始特征值匹配。其遵循着原始特征值向量中的所有比特的90%也必须存在于当前特征值向量中。仅10%可以是不同的并且通过冗余值来加以检测。在另一优选实施例方法中,冗余值的数据集不超过特征值数据集的20%、30%、40%、50%、60%、70%或80%。冗余值的数据集越大,该方法准许的偏差越大。这具有许可者能够定义该许可应该是多么宽容的优点。
在根据该发明的方法的优选实施例中,由于在较老的计算机和数据处理器中往往对个别组件替换得更多,所以冗余值的全体不是永久地固定的,其可以随着(许可证的)运行时间而增加。例如,在特定时间之后使用更大的硬盘来替换硬盘或者使用更快的处理器来替换处理器是常见的。因此,所使用的冗余值的数据集被作为自首次使用受保护的数字数据对象以来已经过去的时间的函数而增加。优选地递增地进行该增加。
如果在计算机上对自受保护的数字数据对象的首次使用以来已经过去的时间进行计数,则其是特别优选的。最初,仅有冗余值的一小部分被用来标识遗漏的特征值。所使用的冗余值的部分随着时间过去而增加。例如,最初可能考虑所使用的冗余值的仅仅20%,然后在一年之后考虑30%,在两年之后40%,以及在三年之后50%或60%。
此外,如果冗余值被发送到服务器并且从计算机删除则其被证明是有利的。例如使用签名文件或电子加密密钥在服务器上优选地对冗余值进行标记(sign),并且然后将冗余值发送到计算机,其中它们被存储并且用来标识遗漏的特征值。这提供了确保对于冗余值的完整性保护的能力。版权拥有者因此具有对该方法的完全控制。
优选地在服务器上对所接收到的冗余值进行修改,在冗余值的数据集被发送回计算机之前特别优选地减少冗余值的数据集。以这种方式,版权拥有者能够规定冗余值中的多少是可用的。
在根据该发明的方法的优选实施例中,所生成的冗余值的全体被划分为多个子集。冗余值子集中的每一个被使用单独的加密子集密钥来加密。加密子集密钥在临时定义的基础上被使得对计算机可用。随着自数字数据对象的首次使用以来的时间增加,可以使更多的冗余值可用。因此,随着时间过去,该许可方法关于对计算机的组件的改变变得更加宽容。可以使子集密钥(其是必要的以便对冗余值的加密的子集进行解密)在单独的计算机(优选地是服务器)上可用。特别优选地,例如通过因特网将它们公布在网络中。其上将使用受保护的数字数据对象的计算机能够自动地下载密钥,并且对冗余值的另一子集进行解密。
在该方法的另一优选实施例中,在其运行时间期间该方法针对错误或针对遗漏的值的容差通过下述机制来修改,所述机制在每次使用受保护的数字数据对象并且确定计算机的当前特征值时,识别当前特征值何时不同于原始特征值。然而,特征值的偏差是足够可容忍的,以致于可以根据可用的冗余数据来计算遗漏的特征值。然后基于这些当前特征值来更新冗余值。冗余值可以通过新的冗余值的添加而得以更新,从而使得可以继续使用授权码的加密所基于的原始密钥。可替换地,可以通过基于当前特征值,也就是说基于计算机组件的当前特征生成新的加密密钥来更新冗余值。新的加密密钥与原始加密密钥之间的差被存储在计算机上。通过将新生成的密钥与和原始加密密钥的差进行比较,可以计算出能够被用来对授权码进行解密的密钥。
附图说明
将在下文中参考图更详细地描述用于生成加密密钥的根据该发明的方法的特定实施例。可以单独或结合使用所描述的特征以创建该发明的优选实施例。将参考作为将要在计算机上运行的数字数据对象的受保护的应用程序对根据该发明的方法进行解释,但不对其一般适用性进行限制。使用应用程序和计算机的示例所描述的特征不代表在权利要求中限定的特征的一般适用性的限制。在图中:
图1示出了包括其上将运行受保护的软件产品的用户的计算机和服务器的系统;
图2示出了具有图1的计算机的特征的盘存列表;
图3示出了扩展的盘存列表的示例;
图4示出了原始特征向量;
图5示出了用于使用当前特征值向量来生成密钥的工作流程;
图6示出了该方法的一部分的图式工作流程。
具体实施方式
图1示出了包括其上将运行诸如应用程序之类的受保护的数字数据对象的计算机1和服务器2的系统。数据对象11由版权持有者来许可并且通过授权码来保护。用于激活数据对象11的授权码被与计算机1绑定。授权码由版权拥有者的服务器来创建并且被发送到计算机1。
为了创建授权码并且对授权码进行加密,使用计算机1的特征3。这些特征3反映了计算机1的各组件K1, K2, K3, …, Kx。组件可以例如是网卡、主板、图形卡、硬盘、操作系统版本、计算机名称或安全处理器(TPM芯片)的标识或序列号。包含特征3的盘存列表4是基于这些特征3生成的。
在根据该发明的方法的优选实施例中,在第一步骤中,在服务器2上创建特征3的缺省集合(预置列表),并且这被用来在计算机1上创建盘存列表4。用于盘存列表4的特征3的缺省集合被发送到计算机1。根据这个集合,依照服务器2的缺省集合在计算机1上生成包括特征3的盘存列表4。这些选择步骤被作为步骤S1至S3示出在图6的方法工作流程中。
根据该方法的优选实施例,现在在图6中所示的步骤S4中生成包括原始组件K1,…,Kx的特征3的盘存列表4。在进一步的步骤中,针对包括在盘存列表4中的特征3确定原始特征值5。原始特征值5可以例如是主板的或硬盘的序列号。从所收集的数据(原始特征值5)、正被分配给每个原始特征值5的原始校验和6 (P1, P2, …, Px)来识别原始校验和6。根据所有原始特征值5的全体来另外地确定冗余值7。随着根据该发明的方法进行,这些使错误校正能够被执行。
在下一个步骤中,现在根据计算机1的特征3、原始校验和6以及冗余值7来生成原始盘存列表8。此外,通过加密函数21(例如哈希函数)根据原始特征值5的全体25生成加密密钥9,见图4。该方法步骤被表示为图6中的步骤S5。加密密钥9是仅能够被使用在程序或方法内的“敏感密钥”。其被仅临时地存储在易失性存储器中。其不能够被其它程序读出并且可以可选地被特别保护防御外部攻击。
如果数字数据对象11是应用程序12,则根据该发明优选的是,在当应用程序12被安装在计算机1上时生成原始盘存列表8。
在步骤S6中,加密密钥9被发送到服务器2并且在那里被接收。在步骤S7中,从计算机1中删除原始特征值5和加密密钥9。在步骤S8中,使用所接收到的加密密钥9在服务器2上生成使得能够使用受保护的数字数据对象11(例如受保护的应用程序12)的计算机专用授权码10。
在步骤S9中,加密的授权码10被从服务器2发送到计算机1并且在步骤S10中被存储在计算机1上。优选地以与例如在TPM芯片17中的原始盘存列表8相同的方式将授权码10安全地存储在计算机1上。用于完整性保护的加密机制或用于隐藏存储位置和冗余存储器的技术措施充当保护理念。图2示出了具有多个特征3、原始校验和6 (P1, P2, …, Px)以及冗余值7的原始盘存列表8的图式表示。
为了给盘存列表4中的各特征3提供加权因子,不同的长度被指定给每个特征值5。特征值5被组合在特征值向量13中。可以在扩展的盘存列表14中提供关于与给定特征3相关联的各特征值5的长度和特征向量13中的相应的特征值5的位置的信息。
图3示出了增强的、扩展的盘存列表14。在这里所示的盘存列表14包括若干项附加的信息,以使能够实现列表和其内容的更清楚的解释。在[item_x] (x=1, 2, …)中指示的值是插入的注释。它们基本上对应于特征值5。这些值不被包括在被存储在计算机1上的扩展的盘存列表14中。
所图示出的盘存列表14最初包括标题和多个行(在这个例子中是三行)。标题包括例如关于盘存列表的创建者的信息。该列表然后包含冗余值7,后面是关于各特征3的信息。
在盘存列表14的这个优选实施例中,用于计算机1的每个特征3的特征值向量13最初包括特征3本身(组件,例如“计算机名称”),(然后是作为[item_0]被添加的注释)后面是原始校验和6、特征值向量13中的相关联的特征值15的位置和长度。信息的最后项是用于管理目的的可选项(“参数”),其对于盘存列表14本身的管理和对于确定特征值15而言是必要的。在这个实施例中关于特征值15的位置和长度的信息是可选的要素。特征值的长度应该优选地不超过预定的比特数,例如256比特、192比特或优选地128比特。
在盘存列表14中,特征31是计算机名称。在本例子中,用于特征31“计算机名称”的特征值15被写在特征值向量13的位置零内。这个特征值15的长度是42比特。
盘存列表14中的第二个特征32是处理器类型。用于处理器类型的特征值15被写在特征值向量13中的位置42处并且具有77比特的长度。总之,扩展的盘存列表14产生具有512比特的长度的特征值向量13。因此,处理器类型具有有着77比特的非常重的权重。只有具有129比特的长度的“计算机安全标识符”的特征33被更重地加权。
每次启动程序时,根据该发明的方法的各步骤被通过以盘存列表14为基础循环。首先,从盘存列表14读出特征3并且确定计算机1的相关联的当前特征值15。针对每个特征值15单独地计算当前校验和16并且将其与各特征3的对应的原始校验和6相比较。如果原始校验和6与当前校验和16相同,则在对应的位置处并且使用如在盘存列表14中规定的对应的长度来将所检测到的特征值15存储在特征向量13中。如果未发现当前校验和16与原始校验和6相同,则旨在用于特征值向量13中的特征3的值被采用空格18(虚设的特征值,空条目)来填充。包含空格的这类的特征值向量13被示出在图5中。
来自盘存列表14的冗余值7优选地被附加到特征值向量13。然后优选地使用计算机1中的评估单元20的评估算法来进一步地处理这个扩展的特征值向量13。现在执行错误校正。在这个中,计算遗漏的特征值15。使用错误校正方法从冗余值7(其基于激活数据5(最初收集的特征值5))优选地导出从当前特征值向量13遗漏的特征值15。一个优选的错误校正方法包含删除码(erasure code)的使用。特别地优选线性随机码。该码还可以是诸如从编码理论中已知的典型错误校正码。
如果不能够从冗余值7完全重构当前特征值向量13中的遗漏的特征值15,则不可能对加密的授权码10进行解密。不能够执行应用程序12或者不能够使用数字数据对象11。可选地,可以将通知(错误消息)发送到服务器。
如果能够使用错误校正方法来完成当前特征值向量13,则然后在后续的步骤中生成加密密钥9。优选地通过加密函数21根据特征值15来计算这个密钥。非常优选地,使用加密校验和,特别优选哈希函数。使用加密密钥9对授权码10进行解密,并且数字数据对象11或受保护的应用程序12被启用以便使用。
每次在执行受保护的应用程序12之前,自动地在计算机1上优选地执行根据该发明的方法,从而使得每次在应用程序12被运行之前确定计算机1的当前特征3的当前特征值15。
当使用根据该发明的方法时,为了保护版权持有者,必须确保解密的授权码10和/或生成的加密密钥9被从计算机1删除,优选地在授权码10已经被解密之后和/或在受保护的数字数据对象11已经被启用之后和/或在每次受保护的数字数据对象11被使用之后。以这种方式,确保了随后(在没有授权的情况下)或者在另一计算机上不能够使用授权码10和/或加密密钥9。
所生成的加密密钥9被优选地仅临时地存储在计算机1上的易失性存储器中,并且优选地不能够被除了受保护的应用程序12以外的任何程序读出和使用。此外或可替换地,除了在计算机1上的易失性存储器19中之外,解密的授权码10不能够被存储。在用户已经完成使用数字数据对象11或运行应用程序12之后,易失性存储器19被再次清空。
在根据该发明的方法的优选实施例中,以能够在计算机上自动地运行的计算机程序的形式来实现该方法。使用根据该发明的实现的方法的计算机程序还可以构成受保护的应用程序的一部分。其还可以是当数据对象11的数据内容将要被读出或使用时被调用的独立程序。
出于完成本公开的目的,将在下文中参考以下条款再次概括起来对该发明进行描述。
1. 用于基于计算机的当前组件生成加密密钥以便对用于激活计算机上的受保护的数字数据对象的加密的、计算机专用授权码进行解密的方法,其中计算机专用授权码被通过取决于计算机的原始组件的密钥来加密,包括以下步骤:
- 针对计算机的原始组件生成特征的盘存列表;
- 确定存储在盘存列表中的特征的原始特征值;
- 确定用于原始特征值中的每一个的原始校验和;
- 根据原始特征值的全体来确定冗余值;
- 确定存储在盘存列表中的计算机的特征的当前特征值;
- 根据当前特征值计算当前校验和;
- 将当前校验和与原始校验和相比;
- 如果原始校验和与当前校验和是相同的,则将当前特征值存储在当前特征值向量中,并且如果它们不是相同的,则将空格插入在当前特征值向量中代替当前特征值;
- 使用冗余数据来确定当前特征值向量中的遗漏的特征值;
- 采用所确定的特征值来完成当前特征值向量;
- 优选地使用密钥导出函数,根据该特征值向量生成所述加密密钥以对授权码进行解密。
2. 根据条款1所述的方法,其特征在于以下进一步的步骤:
- 创建包括计算机的特征、特征的校验和以及所确定的冗余值的原始盘存列表;
- 根据原始特征值的全体来生成加密密钥;
- 将原始盘存列表和所生成的密钥发送到服务器并且在服务器上接收所述数据;
- 从计算机删除原始特征值和密钥;
- 使用在服务器上的所接收到的加密密钥来生成设备专用授权码以用于受保护的数字数据对象的使用;
- 将采用所述加密密钥加密的授权码从服务器发送到计算机并且在计算机上接收该授权码;
和/或其特征在于进一步的步骤:
- 使用所生成的加密密钥来对所加密的授权码进行解密,以及
- 使用所解密的授权码来激活受保护的数字数据对象。
3. 根据条款1或2所述的方法,其特征在于以下进一步的步骤:
- 将原始盘存列表发送到服务器;
- 删除计算机上的包括原始校验和的原始盘存列表;
- 在服务器上对原始盘存列表进行标记;
- 将所标记的盘存列表发送到计算机并且在计算机上接收所标记的盘存列表。
4. 根据前述条款中任一项所述的方法,其特征在于以下进一步的步骤:
- 将冗余值从计算机发送到服务器;
- 在计算机上删除所标记的冗余值;
- 在服务器上对所发送的冗余值进行标记;
- 将所标记的冗余值从服务器发送到计算机并且在计算机上接收所标记的冗余值;
5. 根据条款4所述的方法,其特征在于进一步的步骤:
- 改变在服务器上的所接收到的冗余值,优选地减小冗余值的数据集;
- 将所改变的冗余值发送到计算机。
6. 根据前述条款中任一项所述的方法,其特征在于,所述受保护的数字数据对象是应用程序。
7. 根据前述条款中任一项所述的方法,其特征在于进一步的步骤:
- 在服务器上创建特征的预置列表(特征的模式)以用于在计算机上创建盘存列表;
- 将用于盘存列表的特征的预置列表(特征的模式)发送到计算机;
- 根据从服务器接收到的预置列表(特征的模式)来生成具有计算机的特征的盘存列表; 
8. 根据前述条款中任一项所述的方法,其特征在于,所述盘存列表针对计算机的每一个特征包括关于特征值向量中的相关联的特征值的位置的信息和/或关于每个特征的特征值的长度的信息,其中每个特征值优选地不超过预定的比特数。
9. 根据前述条款中任一项所述的方法,其特征在于,所述盘存列表进一步包括对于管理盘存列表并且对于确定特征值所必要的管理信息。
10. 根据前述条款中任一项所述的方法,其特征在于,所述特征值向量包括至少64比特、128比特、256比特、512比特、1024比特、2048比特或者至少4096比特。
11. 根据前述条款中任一项所述的方法,其特征在于,所述特征值取决于所述特征而在所述特征值向量中具有不同的长度。
12. 根据前述条款中任一项所述的方法,其特征在于,所述冗余值的数据集小于所有特征值的整个数据集,其中冗余值的集合优选地是特征值的数据集的至多10%,更优选地是至多20%、30%、40%、50%,或者特别优选地是所述特征值的数据集的至多70%。
13. 根据前述条款中任一项所述的方法,其特征在于,通过加密函数,优选地通过加密校验和,特别优选地通过哈希函数来根据所述特征值计算所述加密密钥。
14. 根据前述条款中任一项所述的方法,其特征在于,使用错误校正方法根据所述冗余值来确定所述当前特征值向量中的所述遗漏的特征值,其中删除码是优选的,并且线性随机码是特别优选的错误校正码。
15. 根据前述条款中任一项所述的方法,其特征在于,在所述服务器上以保证所改变的盘存列表的完整性保护这样的方式对所述原始盘存列表进行修改,其中所述完整性保护优选地通过附加当在所述计算机上对所述盘存列表进行评估时、并且优选地在所述原始校验和与所述当前校验和的比较中被考虑的数字签名或加密密钥来提供。
16. 根据条款6所述的方法,其特征在于,当在所述计算机上安装所述受保护的应用程序时生成所述原始盘存列表。
17. 根据条款6所述的方法,其特征在于,在每次运行所述受保护的应用程序之前,确定所述计算机的所述当前特征的所述当前特征值。
18. 根据前述条款中任一项所述的方法,其特征在于,在所述授权码已经被解密之后和/或在所述受保护的数字数据对象已经被激活之后和/或在每次使用了所述受保护的数字数据对象之后,从所述计算机删除所述解密的授权码和/或所述生成的加密密钥。
19. 根据前述条款中任一项所述的方法,其特征在于,根据所述特征值向量生成的所述加密密钥和/或所述解密的授权码仅被临时地存储在所述计算机的易失性存储器中。
20. 根据前述条款中任一项所述的方法,其特征在于,冗余值的所使用的数据集被依照自所述受保护的数字数据对象被首次使用以来已经过去的时间来增加,其中所使用的冗余值的集合能够被优选地随着时间的推移递增地增加。
21. 根据前述条款所述的方法,其特征在于,在所述计算机上对自所述受保护的数字数据对象的首次使用以来的所述时间进行计数,并且根据所经过的时间来增加所使用的冗余值的集合,其中最初只有所生成的所述冗余值的一小部分能够被用来确定所述遗漏的特征值,并且所使用的冗余值的所述部分随着时间过去而增加。
22. 根据条款20所述的方法,其特征在于,所生成的冗余值的全体被划分为多个子集,其中所述冗余值的每一个子集都被采用单独的加密密钥来进行加密,并且在与时间有关的基础上使得所述加密密钥对所述计算机可用,其中其可用性优选地由对优选地在网络中的单独的计算机(优选地服务器)上正被发布的并且可下载的冗余值的所述加密的子集进行解密所需要的密钥来保证。
23. 根据条款20所述的方法,其特征在于
如果在所述受保护的数字数据对象的使用以及在其背景下执行的计算机的当前特征的当前特征值的确定期间检测到当前特征值偏离所述原始特征值,并且能够根据存在的冗余值来计算所述遗漏的特征值,
则基于所述当前特征值来更新所述冗余值,
其中,所述冗余值或者被通过添加新的冗余值来更新从而使得仍然可以使用所述授权码的加密所基于的原始密钥,或者通过基于所述当前特征值生成新的加密密钥来更新,所述当前特征值被基于所述计算机组件的所述当前特征来确定,其中所述原始加密密钥和所述新的加密密钥与所述原始加密密钥之间的差被存储在所述计算机上。

Claims (15)

1.用于基于计算机(1)的当前组件生成加密密钥以用于对用于在所述计算机(1)上运行受保护的数字数据对象(11)的加密的、计算机专用授权码(10)解密的方法,其中通过密钥(9)根据所述计算机(1)的原始组件来对所述计算机专用授权码(10)加密,
包括以下步骤:
- 确定被存储在盘存列表(4, 8)中的所述计算机(1)的特征(3)的当前特征值(15),其中所述盘存列表(4, 8)包括所述计算机(1)的所述原始组件的特征(3)、在所述盘存列表(4, 8)中存储的所述特征(3)的每个原始特征值(5)的原始校验和(6)、以及根据所述原始特征值(5)的全体(25)确定的冗余值(7);
- 根据所述当前特征值(5)来计算当前校验和(16);
- 将所述当前校验和(16)与所述原始校验和(6)相比较;
- 如果所述原始校验和(6)和所述当前校验和(16)是相同的,则将所述当前特征值(15)存储在当前特征值向量(13)中,并且如果它们不是相同的,则在所述当前特征值向量(13)中创建空格(18)代替所述当前特征值(15);
- 使用冗余数据(7)来确定所述当前特征值向量(13)中的所述遗漏的特征值(15);
- 采用所确定的特征值来完成所述当前特征值向量(13);
- 根据所述特征值向量(13)来生成所述加密密钥(9)。
2.根据权利要求1所述的方法,其特征在于进一步的步骤:
- 采用所述计算机(1)的所述原始组件的特征(3)来生成盘存列表(4);
- 确定在所述盘存列表(4)中存储的所述特征(3)的原始特征值(5);
- 针对所述原始特征值(5)中的每一个来确定原始校验和(6);
- 根据原始特征值(5)的全体(25)来确定冗余值(7)。
3.根据权利要求2所述的方法,其特征在于以下进一步的步骤:
- 创建包括所述计算机(1)的所述特征(3)、所述特征(3)的所述原始校验和(6)以及所确定的冗余值(7)的原始盘存列表(8);
- 根据所述原始特征值(5)的所述全体(25)来生成所述加密密钥(8);
- 将所述原始盘存列表(8)和所生成的密钥(9)发送至服务器(2)并且在所述服务器(2)上接收所述数据;
- 删除所述计算机(1)上的所述原始特征值(5)和所述密钥(9);
- 通过在所述服务器(2)上所接收到的加密密钥(9)来生成所述计算机专用授权码(10)以用于所述受保护的数字数据对象(11)的使用;
- 将采用所述加密密钥(9)进行加密的所述授权码(10)从所述服务器(2)发送至所述计算机(1),并且在所述计算器(1)上接收所述授权码(10);
和/或其特征在于进一步的步骤:
- 在所述计算机(1)上使用所生成的加密密钥(9)对所加密的授权码(10)进行解密,并且
- 使用所解密的授权码(10)来激活所述数字数据对象(11)。
4.根据前述权利要求中任一项所述的方法,其特征在于以下进一步的步骤:
- 将所述原始盘存列表(8)发送至所述服务器(2);
- 删除所述计算机(1)上的包括所述原始校验和(6)的所述原始盘存列表(8);
- 优选地采用数字签名对所述服务器(1)上的所述原始盘存列表(8)进行标记;
- 将所标记的原始盘存列表(8)发送至所述计算机(1),并且在所述计算机(1)上接收所标记的原始盘存列表(8)。
5.根据前述权利要求中任一项所述的方法,其特征在于以下进一步的步骤:
- 将所述冗余值(7)从所述计算机(1)发送至所述服务器(2);
- 从所述计算机(1)删除所述冗余值(7);
- 在所述服务器(2)上对所发送的冗余值(7)进行标记;
- 将所标记的冗余值(7)从所述服务器(2)发送至所述计算机(1),并且在所述计算机(1)上接收所述冗余值(7);
并且优选地其特征在于以下进一步的步骤:
- 改变所述服务器(2)上的所接收到的冗余值(7),优选地减小冗余值(7)的数据集;
- 将所改变的冗余值(7)发送至所述计算机(1)。
6.根据前述权利要求中任一项所述的方法,其特征在于,所述数字数据对象(11)是应用程序(12)。
7.根据前述权利要求中任一项所述的方法,其特征在于进一步的步骤:
- 在所述服务器(2)上创建特征(3)的预置列表以用于在计算机(1)上准备所述盘存列表(4);
- 将用于所述盘存列表(4)的特征(3)的所述预置列表发送至所述计算机(1);
- 根据从所述服务器(2)接收到的所述预置列表采用所述计算机(1)的特征(3)来生成盘存列表(4)。
8.根据前述权利要求中任一项所述的方法,其特征在于:所述盘存列表(4, 8)包括关于所述特征值向量(13)中的所述计算机(1)的每个特征(3)的相关的特征值(15)的位置的信息和/或关于每个特征(3)的所述特征值(15)的长度的信息,其中每个特征值(15)优选地不超过预定的比特数。
9.根据前述权利要求中任一项所述的方法,其特征在于:所述冗余值(7)的所述数据集小于所有特征值(15)的整个数据集,其中冗余值(7)的所述集合优选地不超过所述特征值(15)的所述数据集的10%,更优选地不超过所述特征值(15)的所述数据集的20%,更优选地不超过所述特征值(15)的所述数据集的30%,极优选地不超过所述特征值(15)的所述数据集的40%,极优选地不超过所述特征值(15)的所述数据集的50%,以及特别优选地不超过所述特征值(15)的所述数据集的70%。
10.根据前述权利要求中任一项所述的方法,其特征在于:使用错误校正方法(22)根据所述冗余值(7)来确定所述当前特征值向量(13)中的所述遗漏的特征值(15),其中删除码是优选的,并且线性随机码是特别优选的错误校正码(22)。
11.根据前述权利要求中任一项所述的方法,其特征在于:在所述服务器(2)上以保证所改变的盘存列表(8)的完整性保护这样的方式修改所述原始盘存列表(8),其中所述完整性保护优选地通过附加当在所述计算机(1)上对所述盘存列表(8)进行评估时、并且优选地在所述原始校验和(6)与所述当前校验和(16)的比较中被考虑的数字签名或加密密钥来提供。
12.根据前述权利要求中任一项所述的方法,其特征在于:依照自所述受保护的数字数据对象(11)被首次使用以来已经过去的时间来增加冗余值(7)的所使用的数据集,其中所使用的冗余值(7)的集合能够被优选地随着时间的推移递增地增加。
13.根据前述权利要求所述的方法,其特征在于:在所述计算机(1)上对自所述受保护的数字数据对象(11)的首次使用以来的时间进行计数,并且根据所经过的时间来增加所使用的冗余值(7)的所述集合,其中最初只有所生成的所述冗余值(7)的一小部分能够被用来确定所述遗漏的特征值(15),并且所使用的冗余值(7)的所述部分随着时间过去而增加。
14.根据权利要求12或13所述的方法,其特征在于:所生成的冗余值(7)的全体被划分为多个子集,其中所述冗余值(7)的每一个子集被采用单独的加密密钥来进行加密,并且在与时间有关的基础上使得所述加密密钥对所述计算机(1)可用,其中其提供优选地由对在优选为服务器(2)的单独的计算机上正被发布的并且可下载的冗余值(7)的所述加密的子集进行解密所需要的密钥来确保。
15.根据权利要求12所述的方法,其特征在于
如果在所述受保护的数据对象(11)的使用以及在其背景下执行的计算机(1)的当前特征(3)的当前特征值(15)的确定期间检测到当前特征值(15)偏离所述原始特征值(5),并且能够根据存在的冗余值(7)来计算所述遗漏的特征值(15),则基于所述当前特征值(15)来更新所述冗余值(7),
其中,所述冗余值(7)或者被通过添加新的冗余值(7)来更新从而使得仍然可以使用所述授权码(10)的加密所基于的原始密钥(9),或者通过基于所述当前特征值(15)生成新的加密密钥来更新,所述当前特征值(15)被基于所述计算机组件的所述当前特征(3)来确定,其中所述原始加密密钥(9)和所述新的加密密钥与所述原始加密密钥(9)之间的差被存储在所述计算机(1)上。
CN201210117208.2A 2011-04-21 2012-04-20 用于基于计算机的当前组件生成用于受保护的数字数据对象的加密密钥的方法 Active CN102841992B (zh)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
EP11163413 2011-04-21
EP11163413.5 2011-04-21
EP11169320.6A EP2515499B1 (de) 2011-04-21 2011-06-09 Verfahren zum Erzeugen eines kryptographischen Schlüssels für ein geschütztes digitales Datenobjekt auf Basis von aktuellen Komponenten eines Rechners
EP11169320.6 2011-06-09

Publications (2)

Publication Number Publication Date
CN102841992A true CN102841992A (zh) 2012-12-26
CN102841992B CN102841992B (zh) 2015-10-21

Family

ID=44712898

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201210117208.2A Active CN102841992B (zh) 2011-04-21 2012-04-20 用于基于计算机的当前组件生成用于受保护的数字数据对象的加密密钥的方法

Country Status (3)

Country Link
US (1) US8844049B2 (zh)
EP (1) EP2515499B1 (zh)
CN (1) CN102841992B (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107424651A (zh) * 2016-04-20 2017-12-01 英飞凌科技股份有限公司 使用存储装置的方法、存储装置和存储装置组件
CN107534667A (zh) * 2015-03-31 2018-01-02 亚马逊技术有限公司 密钥导出技术
CN107533623A (zh) * 2015-09-14 2018-01-02 慧与发展有限责任合伙企业 安全存储器系统
US10962622B2 (en) 2013-12-23 2021-03-30 Rosemount Inc. Analog process variable transmitter with electronic calibration

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20130021633A (ko) * 2011-08-23 2013-03-06 삼성전자주식회사 오류정정부호를 이용한 데이터의 은닉과 검출 방법 및 장치
US10070310B2 (en) * 2014-05-08 2018-09-04 Visa International Service Association Method and system for provisioning access data to mobile device
US10959093B2 (en) 2014-05-08 2021-03-23 Visa International Service Association Method and system for provisioning access data to mobile device
CN105704207A (zh) * 2015-12-18 2016-06-22 百势软件(北京)有限公司 一种生成唯一标识的方法、终端和网络侧
AT519476B1 (de) * 2017-04-05 2018-07-15 Ait Austrian Inst Tech Gmbh Verfahren zur Erstellung und Verteilung von kryptographischen Schlüsseln
US11126752B2 (en) 2019-09-04 2021-09-21 Fresenius Medical Care Holdings, Inc. Authentication of medical device computing systems by using metadata signature
CN111131149A (zh) * 2019-11-13 2020-05-08 江苏飞搏软件股份有限公司 一种跨域采集移动终端数据并分析异常访问的方法
US11874900B2 (en) * 2020-09-29 2024-01-16 Hailo Technologies Ltd. Cluster interlayer safety mechanism in an artificial neural network processor
AT524619A1 (de) * 2020-12-22 2022-07-15 Aderow Gmbh Computerimplementiertes Verfahren zum autorisierten Ausführen einer Software, System zur Datenverarbeitung, Computerprogrammprodukt und computerlesbares Speichermedium
US11645384B2 (en) 2021-03-03 2023-05-09 Bank Of America Corporation System for electronic data obfuscation and protection using independent destructible data objects
DE102021114853A1 (de) 2021-06-09 2022-12-15 Audi Ag Kraftfahrzeugsteuergerät und Verfahren zur Herstellung eines Kraftfahrzeugsteuergerätes
WO2023174943A1 (en) 2022-03-15 2023-09-21 Wibu-Systems Ag License binding of an application license to a device
CN114786176A (zh) * 2022-06-21 2022-07-22 广东卓维网络有限公司 无线通信加密方法、解密方法、计算机设备和存储介质
CN115277979B (zh) * 2022-09-29 2022-12-16 南通第二世界网络科技有限公司 一种基于图像的非对称式区块独立加密方法

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1575446A (zh) * 2001-10-26 2005-02-02 皇家飞利浦电子股份有限公司 将软件数据域绑定到专用硬件的方法
US20060064756A1 (en) * 2004-09-17 2006-03-23 Ebert Robert F Digital rights management system based on hardware identification
CN1839375A (zh) * 2003-07-07 2006-09-27 密码研究公司 用于控制盗版和启用交互式内容的可重编程的安全性
US20070014414A1 (en) * 2005-07-15 2007-01-18 Microsoft Corporation Hardware linked product key
CN101223533A (zh) * 2005-08-01 2008-07-16 国际商业机器公司 用于由存储设备进行数据保护的设备、系统和方法

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7110984B1 (en) * 1998-08-13 2006-09-19 International Business Machines Corporation Updating usage conditions in lieu of download digital rights management protected content
US7430670B1 (en) * 1999-07-29 2008-09-30 Intertrust Technologies Corp. Software self-defense systems and methods
US6775281B1 (en) * 1999-09-30 2004-08-10 Mosaid Technologies, Inc. Method and apparatus for a four-way hash table
DE60025901T2 (de) * 2000-01-11 2006-08-24 International Business Machines Corp. Verfahren und Vorrichtung zur Markierung eines Textdokuments mit einem Muster von zusätzlichen Leerstellen zum Zweck der Authentifizierung
US6952797B1 (en) * 2000-10-25 2005-10-04 Andy Kahn Block-appended checksums
US20030016842A1 (en) * 2001-07-23 2003-01-23 Patton Charles M. Digital content with information of latent value to purchaser and method for making the same
US7257713B2 (en) * 2002-05-24 2007-08-14 International Business Machines Corporation Automatic password configuration during error reporting
US20060210080A1 (en) * 2003-11-17 2006-09-21 Koninklijke Philips Electronics N.V. Key synchronization in a visual cryptographic system
US7620707B1 (en) * 2004-06-30 2009-11-17 Kaseya International Limited Remote computer management when a proxy server is present at the site of a managed computer
US7634816B2 (en) * 2005-08-11 2009-12-15 Microsoft Corporation Revocation information management
US8752166B2 (en) * 2007-12-21 2014-06-10 The Invention Science Fund I, Llc Security-activated operational components
US20140032733A1 (en) * 2011-10-11 2014-01-30 Citrix Systems, Inc. Policy-Based Application Management

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1575446A (zh) * 2001-10-26 2005-02-02 皇家飞利浦电子股份有限公司 将软件数据域绑定到专用硬件的方法
CN1839375A (zh) * 2003-07-07 2006-09-27 密码研究公司 用于控制盗版和启用交互式内容的可重编程的安全性
US20060064756A1 (en) * 2004-09-17 2006-03-23 Ebert Robert F Digital rights management system based on hardware identification
US20070014414A1 (en) * 2005-07-15 2007-01-18 Microsoft Corporation Hardware linked product key
CN101223533A (zh) * 2005-08-01 2008-07-16 国际商业机器公司 用于由存储设备进行数据保护的设备、系统和方法

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10962622B2 (en) 2013-12-23 2021-03-30 Rosemount Inc. Analog process variable transmitter with electronic calibration
CN107534667A (zh) * 2015-03-31 2018-01-02 亚马逊技术有限公司 密钥导出技术
CN107534667B (zh) * 2015-03-31 2021-07-30 亚马逊技术有限公司 密钥导出方法和系统以及非暂时性计算机可读存储介质
US11374916B2 (en) 2015-03-31 2022-06-28 Amazon Technologies, Inc. Key export techniques
CN107533623A (zh) * 2015-09-14 2018-01-02 慧与发展有限责任合伙企业 安全存储器系统
CN107424651A (zh) * 2016-04-20 2017-12-01 英飞凌科技股份有限公司 使用存储装置的方法、存储装置和存储装置组件
CN107424651B (zh) * 2016-04-20 2020-10-16 英飞凌科技股份有限公司 使用存储装置的方法、存储装置和存储装置组件

Also Published As

Publication number Publication date
EP2515499B1 (de) 2015-10-28
EP2515499A1 (de) 2012-10-24
CN102841992B (zh) 2015-10-21
US20120272052A1 (en) 2012-10-25
US8844049B2 (en) 2014-09-23

Similar Documents

Publication Publication Date Title
CN102841992B (zh) 用于基于计算机的当前组件生成用于受保护的数字数据对象的加密密钥的方法
US10489562B2 (en) Modular software protection
TWI557589B (zh) 用於產品驗證和啟動的安全軟體產品識別器
US9881348B2 (en) Activation system architecture
CN101436141B (zh) 基于数字签名的固件升级、固件封装方法与装置
CN108768972B (zh) 车辆数据的存储和访问方法及装置、系统、电子设备
JP5900143B2 (ja) 制御システム、制御装置及びプログラム実行制御方法
CN112231647A (zh) 一种软件授权验证方法
CN103460195A (zh) 用于安全软件更新的系统和方法
US20080172560A1 (en) Reversible Hashing for E-Signature Verification
CN102156840A (zh) 控制装置以及管理装置
JPWO2007108127A1 (ja) システムプログラムダウンロードシステム
CN108848064B (zh) 授权管理方法及系统
EP3316160A1 (en) Authentication method and apparatus for reinforced software
EP2264640A2 (en) Feature specific keys for executable code
US20150371012A1 (en) Process and device for encoding of source files for secure delivery of source code
JPH1031587A (ja) データ端末装置およびコンピュータプログラム
CN102004887A (zh) 程序保护方法和装置
CN103403729A (zh) 唯一代码签名密钥的安全管理和个性化
CN109150813B (zh) 一种设备的验证方法及装置
JP4584196B2 (ja) 情報処理システム、情報処理方法、およびプログラム
CN100464341C (zh) 基于可信计算技术的数字内容使用痕迹的产生与管理方法
CN113051532A (zh) 软件授权方法与装置和计算机设备及存储介质
CN107292172B (zh) 用于相对于参考计算机文件自动验证目标计算机文件的方法
JP4989806B2 (ja) 遠隔装置登録のためのシステムと方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant