CN103797489A - 用于安全地将程序执行绑定到且节点锁定到受信任的签名授权机构的***和方法 - Google Patents

用于安全地将程序执行绑定到且节点锁定到受信任的签名授权机构的***和方法 Download PDF

Info

Publication number
CN103797489A
CN103797489A CN201180071019.XA CN201180071019A CN103797489A CN 103797489 A CN103797489 A CN 103797489A CN 201180071019 A CN201180071019 A CN 201180071019A CN 103797489 A CN103797489 A CN 103797489A
Authority
CN
China
Prior art keywords
trusted
protected
signature
signature authorises
authorises
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
CN201180071019.XA
Other languages
English (en)
Other versions
CN103797489B (zh
Inventor
M.L.J.博迪斯
J.隋
G.S.古德斯
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.)
Irdeto Canada Corp
Irdeto BV
Original Assignee
Irdeto BV
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 BV filed Critical Irdeto BV
Publication of CN103797489A publication Critical patent/CN103797489A/zh
Application granted granted Critical
Publication of CN103797489B publication Critical patent/CN103797489B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

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/60Protecting data
    • G06F21/602Providing cryptographic facilities or services
    • 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
    • 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/51Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems at application loading time, e.g. accepting, rejecting, starting or inhibiting executable software based on integrity or source reliability
    • 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/64Protecting data integrity, e.g. using checksums, certificates or signatures
    • G06F21/645Protecting data integrity, e.g. using checksums, certificates or signatures using a third party
    • 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/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/321Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving a third party or a trusted authority
    • 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/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3247Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/12Applying verification of the received information

Landscapes

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

Abstract

本发明公开了一种用于安全地将任意程序绑定到一般执行平台的经授权的实例。一旦绑定过程发生,受保护的软件应用将不展示正确的行为,除非在其所绑定到的执行平台上运行。该***和方法经受住篡改软件应用和执行平台的重复的攻击。该***和方法呈现了用来将程序P绑定到任何不受信任的执行平台E的机构,所述不受信任的执行平台E包含受信任的签名授权机构(TSA)。该TSA可以采取许多替换形式,包括受信任的平台模块、安全处理器、内核驱动器以及硬化的软件代理。

Description

用于安全地将程序执行绑定到且节点锁定到受信任的签名授权机构的***和方法
技术领域
本发明一般涉及防止软件的未被授权的使用。更特别的是,本发明涉及通过将软件应用绑定到且节点锁定到受信任的签名授权机构来进行软件保护。
背景技术
在软件产业中,经常期望的是,由于可以包括防止未被授权的使用(例如,没有得到许可的盗版)或未被授权的操纵(例如,黑客行为)的理由而限制对给定软件的访问。对于软件的未被授权的使用的一个已知的解决方案是将任何给定的软件应用绑定到特定的计算机或装置。如此,软件应用则可以仅在各自得到许可的装置上执行。这种软件应用到特定装置的绑定通常被称作节点锁定或者可替换地被称作硬件软件锚定。
用于节点锁定的传统的方法已经是从一片硬件取得唯一的标识符(ID)并使软件应用依靠所给定的ID。这些唯一ID的编号和特性从一个平台到另一个平台变化巨大。一些通常的硬件标识符包括:介质访问控制(MAC)地址、硬磁盘驱动器标识符(HDD ID)、以及序列号(SN)。附加的节点锁定标识符可以包括基本输入/输出***(BIOS)值、由驱动器散列函数计算的散列值、装置ID、或者对给定的装置或元件唯一的任何类似的标识符。在用于节点锁定的传统方法中,将一片软件(即,应用)锚定到特别的节点是创建从唯一ID到软件运行的依赖性的问题。在一些***中,这可以是从唯一ID中导出密钥的数学运算的集合。在其它***中,可以设计这样的算法,其要求唯一ID的子集是有效的,同时允许所有其它部分是不正确的。后者允许在硬件自身中的变化,例如,可以从计算机移除网络接口卡。
在白盒攻击上下文中,攻击者具有对被攻击***的完全了解,并且因此完全控制软件的执行。攻击入侵者可以是或者可以不是软件的合法用户,虽然假定软件的执行正常地继续下去。存在许多对于用于在白盒攻击场景中进行节点锁定的传统方法的安全性的困难。硬件ID通常必须在执行期间被读取,并且该特性因此使它们容易被复制。各种各样的这些类型的白盒攻击遵循。
在一种场景中,在软件应用调用询问装置的唯一ID的应用编程接口(API)的时刻,攻击者可以用硬编码的值代替该调用。这可以是攻击者在软件应用中代替代码自身的函数,或者它可以简单的是软件应用希望获得ID的数据区域。如果攻击者可以发动该攻击,则他可以用任何所选择的值代替唯一ID,由此使节点锁定保护失效。此外,硬编码攻击的通常扩展是开发(exploit)的创建。当攻击者知道在哪里硬编码重要的值时,他也变得能够创建自动程序(即,开发)以在任何装置上修改并因此复制软件应用。该自动化移除了攻击者分发并公布他的关于如何发动攻击的知识的需要,因为该开发为他做了这种工作。
第二种通常的对唯一ID的攻击场景是仿真。虚拟机(诸如从加利福尼亚的帕洛阿尔托的VMWARE INC可得的VMwareTM、从Xen.org以及其它地方作为免费软件可得的XenTM)是在操作***(OS)下用软件层模仿硬件装置的技术。这种仿真通常是如此成熟,使得在软件中完全支持所有的装置驱动器和内核服务。如此,也可以用虚拟机技术容易地改变或复制任何唯一ID。
第三种普通的对唯一ID的攻击是在节点锁定保护被移除的情况下执行该节点锁定行动的***或子***的简单的重新实现。通过遵循用于在攻击下的***的的唯一ID的简单观察,攻击者通常可以以汇编代码、C编程等等重新实现使用唯一ID的部分。
所以,期望提供一种用于克服与用于节点锁定的传统方法相关联的问题的***和方法。
发明内容
本发明的目标是排除或减轻用于节点锁定的以前的方法的至少一个缺点。
本文中描述的本发明下面通过安全地将任意程序绑定到一般执行平台的经授权的实例来解决前述的问题。一旦绑定过程发生,受保护的软件应用将不展示正确的行为,除非它在它所绑定到的执行平台上运行。甚至在篡改软件应用和执行平台的许多攻击存在的情况下,这也适用。根据本发明的实施例,假定攻击者具有对执行平台的规范的完全白盒访问,并且对软件应用的执行具有完全白盒控制。一般地,发明的***和方法呈现了用来将程序P绑定到包含受信任的签名授权机构(TSA)的任何不受信任的执行平台E的机构。根据本发明,如在详细的描述中更详细地描述的,TSA可以采取许多替换形式。
在第一方面中,本发明提供了一种用于软件应用的安全操作的***,该***包括:熵源,用于秘密值的生成;供应机构,用于将秘密值绑定到软件应用的一个或多个部分,从而形成受保护程序;以及受信任的签名授权机构,与所述供应机构进行通信,供应机构进一步将秘密值绑定到受信任的签名授权机构;其中,受信任的签名授权机构连同秘密值提供了对受保护程序的校验。
在进一步的方面中,本发明提供了一种用于软件应用的安全操作的方法,该方法包括:从熵源生成秘密值;经由供应机构将秘密值绑定到软件应用的一个或多个部分,从而形成受保护程序;将秘密值传送到受信任的签名授权机构;以及通过受信任的签名授权机构连同秘密值对受保护程序进行校验。
对本领域技术人员而言,在连同附图查看下面的本发明的特定实施例的描述时,本发明的其它方面和特征将变得明显。
附图说明
现在将参考附图仅通过举例来描述本发明的实施例。
图1A和1B图示了根据本发明的一般流程。
图2是在不受信任的平台上执行的根据本发明的第一实施例的流程图。
图3是基于MAC算法的根据本发明的第二实施例的流程图。
图4是图示了将受保护程序绑定到软件模块堆栈的本发明的进一步的实施方式。
图5是图示了通过网络绑定受保护程序的本发明的另一个实施方式。
图6是图示了通过基于云的环境绑定受保护程序子模块的本发明的又另一个实施方式。
具体实施方式
一般地,本发明提供了一种用于基于签名的节点锁定机构的***和方法,所述机构包括将程序P绑定到包含TSA的任何不受信任的执行平台E,所述TSA自身可以采取许多替换形式。关于图1A和1B,一般示出了本发明基于签名的节点锁定机构的整体流程。
具体关于图1A,该过程开始于对受信任的执行平台101进行脱机处理以创建受保护程序。脱机绑定过程把原始程序P10和来自熵源11的种子当作对供应步骤12的输入。部分地使用熵11以确定秘密S的值,并且下面在本文中详细地做进一步描述。一般地,秘密S可以是例如公共/私有密钥对。供应步骤12产生秘密S和受保护程序PS作为输出13。更具体地,供应步骤12产生独特不同的受保护程序PS 14,所述受保护程序PS 14被指定给图1B所示的不受信任的执行平台102。应当理解的是,图1A的绑定过程对于每个硬件软件实例仅发生一次。
虽然为了说明清楚的目的分开地示出,但是应当容易明白,如通过图1A看到的受信任的执行平台101可以是或可以不是与不受信任的执行平台102分开的实体。事实上,如果例如在安全条件的正交集合下的一次安全初始化中执行发明的绑定过程,则在不偏离本发明的意向范围的情况下,受信任的执行平台101和不受信任的执行平台102可以是相同的一个。根据本发明,应当理解的是,图1A的绑定过程必须安全地与TSA 16进行一次通信,使得秘密S 16可以被嵌入到如所示的不受信任的平台102中。然而,可以使受保护程序PS 14公开地可用。
通过遵循如图1A所示的绑定过程,在不受信任的执行平台102上的执行可以发生无限制次数。通过秘密S 16将受保护程序PS 14解不开地绑定到TSA 15。在程序14的执行期间,与TSA的通信是正在进行中的(如由在受保护程序PS 14与TSA 15之间示出的圆形箭头指示的),并且程序14的正确行为取决于与TSA 15的正确通信。受保护程序14的正确操作将因此仅通过获得由TSA 15计算的结果来发生,其中,结果的精确值由以前供应的秘密S 16确定。TSA 15可以具有下面进一步描述的各种替换形式,并且被假定为绑定到平台。秘密S 16也被假定为安全并秘密地存储并绑定到TSA 15。此外,如果受保护程序PS 14在不包含TSA 15和/或秘密S 16的平台上执行,则受保护程序PS 14将不正确地执行。
如上面以前一般建议的,TSA根据本发明提供用于节点锁定机构的功能锁定。TSA包括安全地包含并存储秘密S的能力,并且可以按应用请求来执行对数据的签名。用于TSA的各种实施例自身可以存在于本发明的约束和意向范围内。
TSA可以是受信任的平台模块(TPM)。在计算中,TPM既是详述可以存储保护信息的密钥的安全密码处理器的规范的所公布名称又是该规范的实施方式(经常被称作“TPM芯片”或“TPM安全装置”)的一般名称。TPM规范是受信任的计算组的工作。TPM规范的当前版本是在2007年7月9日公布的1.2修订103。该规范作为国际标准ISO/IEC 11889也是可用的。除了硬件伪随机数字生成器(PRNG)外,TPM为密钥的安全生成以及它们使用的限制提供了工具。本发明利用了TPM的一到三个工具,即,公共密钥算法(诸如用于公共密钥密码的Rivest-Shamir-Adleman(RSA)算法或者椭圆曲线密码学(ECC)算法),对称密钥算法(诸如作为由美国政府采用的对称密钥加密标准的高级加密标准(AES)算法),以及安全PRNG(适合于密码应用的伪随机数字生成器)。
TSA可以可替换地诸如在机顶盒(STB)实施方式中由安全处理器形成,制造者借此包括带有安全机构的芯片组以保护设备内的程序。用于如STB以及也如智能电话和其它装置的这种***的许多现代片上***(SOC)实施方式包括在单个芯片上的多个处理器。这包括用于大部分主要处理的中央处理单元(CPU),也包括前述的安全处理器,所述安全处理器具有受限的程序空间以及对芯片的其余部分受约束的I/O。安全处理器可以用于诸如安全引导的关键安全任务或用于基本的密码处理。该类型的SOC提供用来收容任何数量的算法的机会,以便在安全环境中运行,所述算法诸如是RSA、ECC、AES、数据加密标准(DES)、三重DES(3DES)、以及随机数据生成(即,PRNG)。本文中描述的本发明可以因此将安全处理器用作TSA。
TSA也可以是环0类型的内核驱动器。现代操作***(OS)包括有特权的执行环。环0是带有最大特权的级别且与诸如CPU和存储器的物理硬件进行最直接的交互。在诸如WindowsTM OS或LinuxTM OS的操作***上,装置驱动器和内核级别的驱动器通常以环0执行,而应用代码通常以环3运行。TSA可以作为以环0运行的软件而运行。如在编程领域已知的,这可以通过创建带有适当的密码算法的定制内核驱动器来完成。在内核驱动器的情况下,应当考虑专门的处理以确保秘密S不可以被泄露。尽管内核比应用级别更难攻击,但是它无论如何体现在软件中,并且可能因此被通过存储器转储、调试等来攻击。
仍进一步,TSA也可以是诸如动态编码译码(DCD)的硬化的软件代理。使用硬化的软件代理进行保护的软件的示例在美国专利No. 6,594,761、美国专利No. 6,779,114和美国专利No. 6,842,862中进行了描述,所述美国专利均描述了用来创建硬化的软件代理的必要手段。通过引用将所述参考的内容并入本文中。这种硬化的软件代理可以提供用于特定节点的TSA服务。
也可以组合上述TSA的实施方式。例如,硬化的软件代理可以出现在环0处或在安全处理器上。TSA的这种变化因此很好地在本发明的意向范围内。
在根据本发明的***和方法的操作方面,现在将根据图1A中一般所示的绑定过程来描述供应。此处,节点锁定后的程序13的创建通过受信任方(即,受信任平台101)发生在受信任会话中。该过程一般如以下步骤来进行描述:
1)在受信任的平台上,使用所供应的熵源,从而生成秘密S;
2)在受信任的平台上,基于秘密S供应程序P,以便针对正确的功能创建PS,所述PS是取决于秘密S的程序;
3)使用受信任会话将秘密S从受信任的平台传送到不受信任的平台上的TSA;以及
4)将程序PS安装到不受信任的平台中,或者使其公开地可用以便后来使用。
在第一实施例中,基于使用公共密钥算法(例如,RSA)作为签名方法以及使用对称密钥算法(例如,AES)以创建安全信道来提供本发明。
首先,使用PRNG和随机种子作为熵源,标准密钥生成算法用来生成用于RSA公共密钥算法的公共/私有校验密钥对(K_pub_ver, K_pri_ver)。此外,生成用于AES算法的对称密钥。这用作通信密钥(T_key),其可以是对称密钥。K_pub_ver、K_pri_ver和T_key一起表示秘密S。应当进一步理解的是,在一些实施方式中,K_pub_ver可以不必须是秘密。然而,在这样的实例中,K_pub_ver必须是在所供应的应用内无可展性的以确保公共密钥的完整性。
接下来,基于秘密S供应程序。这种供应可以通过用于免受白盒攻击的已知的软件保护方法来完成,所述方法包括例如在美国专利No.7,809,135和7,397,916中已知并描述的那些方法。通过引用将所述参考的内容并入本文中。根据本发明,该供应等于使用T_key的安全信道的固定密钥白盒AES实施方式以及使用K_pub_ver的校验操作(即,RSA取幂)的固定密钥白盒RSA实施方式。这两个实施方式变成绑定程序PS的基本部分。此后,使用安全会话以将私有密钥K_pri_ver传送到TSA。然后,在不受信任的平台上安装程序PS。如此,基于在如下两部分中的秘密,现在针对不受信任的平台对所供应的软件应进行个性化且将其绑定到TSA:1)公共/私有密钥对(K_pub_ver, K_pri_ver);以及2)安全信道对称密钥(T_key)。
根据本发明的第一实施例的在不受信任的平台上的节点锁定后的执行一般包含在程序PS被绑定到TSA的同时在不受信任的平台上执行程序PS。这通过一系列正在进行中的步骤来实现,所述步骤可以发生一次或多次。应当理解的是,这些步骤的更频繁的执行将导致更高的锁定强度,但更低的性能。因此,这种执行频率被定制,使得用户可以指定速率,节点校验可以与明显的性能安全折衷方案以所述速率一起发生。一般的过程如下进行描述:
1)通过创建随机消息(即,现时密码)来生成询问;
2)随机消息去往两个方向:到用于签名的TSA以及朝向用于等效性校验的应用(即,受保护程序PS);
3)TSA使用秘密为消息签名;以及
4)经由安全信道将消息签名传回应用。
应当理解的是,应用的运行期行为取决于签名的校验。
关于图2,根据本发明的第一实施例200更具体地示出了在不受信任的平台上的节点锁定后的执行。此处,基于使用RSA作为签名方法并使用AES以创建安全信道,来提供根据本发明的第一实施例的节点锁定后的执行。然而,应当理解的是,在不偏离本发明的意向范围的情况下,签名方法不限于RSA且可以使用任何其它合适的不对称或对称算法,并且同样地,安全信道可以由除了AES以外的其它合适方式创建。在步骤方面,图2中的节点锁定后的执行按如下发生。
在步骤1中,过程开始于询问生成210。在询问生成210中,使用两个输入来产生消息MSG。该输入包括:a)来自应用201的函数自变量,以及b)随机地生成的数字(理想地来自对白盒攻击有抗力的随机数字生成器)。消息MSG的每个集合表示对于应用201的所有不同外部输入序列的唯一询问序列,而不考虑对随机数字生成的伤害。使用消息生成的这种形式相对于固定消息的一个优点是抵抗重放攻击。
在步骤2中,消息MSG在两个方向上传播:朝向TSA 209以及朝向应用201。
在步骤3中,消息MSG去往TSA 209,并且是通过使用K_pri_ver(即,秘密S)来进行RSA签名208的。
在步骤4中,通过安全信道206将消息签名MSG_SIG传回应用201。在这种情况下,信道是通过在TSA 209侧的AES加密207和在应用201侧的白盒(WB)AES解密205来实现的。该AES加密/解密方法是在美国专利No.7,397,916中已知并描述的。通过引用将所述参考的内容并入本文中。
在步骤5中,RSA校验操作204被拆分在两侧之间。在一侧上,将RSA填充方案211施加至消息MSG(来自步骤1),并且WB RSA取幂203发生在消息签名MSG_SIG(来自步骤3)上。这里应当注意的是,K_pub_ver不应当是诸如65537的传统的RSA公共密钥。相反地,K_pub_ver应当是大素数,并且WB RSA取幂203保护该值免受攻击者提取。
在步骤6中,最终的步骤是RSA填充的签名的两侧(MSG_PADT1和MSG_PADT2)的校验。该校验发生在属性依赖变换(PDT)等效性上下文202中。该等效性上下文202的基本方面是它代替原始应用的操作,使得存在对等效性的直接依赖性。例如,ADD操作可以用PDT_ADD操作来代替。PDT_ADD操作表现得正如ADD,除非等效性上下文没有保持住,而在这样的情况下,结果是未被保证为正确值的随机大或小的值。这样,应用201的行为被绑定到等效性上下文,而不需要跳跃或直接比较操作(其可以成为攻击点)。
该最终步骤(步骤6)的进一步有利的特征是等效性上下文202的输入侧(MSG_PADT1和MSG_PADT2)可以优选地用不同的变换式进行变换,使得正在发生的比较是不明显的。如下面本文中进一步描述的,可以通过使用已知的机构来提供这样的变换,所述机构诸如是在美国专利No.6,594,761和美国专利No.6,842,862中公开的机构。通过引用将所述参考的内容并入本文中。这些变换被选择为足够强,使得为了识别该变换所要求的明文/变换后文本对的数量是令人望而却步的大。因此,攻击者不能容易地识别并代替该操作的一侧以执行对等效性上下文202的攻击。
应当进一步理解的是,可以将PDT依赖操作放置在受保护程序内的多个所选定位置处。如此,程序行为变得取决于在许多位置中的等效性上下文。在等效性上下文失效时,该程序将导致副作用,所述副作用引起不想要的程序行为。
现在将在前述的副作用方面对上面提及的PDT进行描述。PDT是这样一种方法,借此两个值(即,属性)在处于受保护状态下的同时可以被校验为是等效的。这是通过使用已知的方法(例如,诸如在美国专利No.6,594,761和美国专利No.6,842,862中公开的那些机构)存储在变换上下文中的计算来实现的。通过引用将所述参考的内容并入本文中。在执行期间,在两个不同的时间处设置属性值。对上下文的评估也在不同的时间处发生。最终,上下文的使用起作用以修改现有的操作。在正常条件下,操作将按预期而表现。然而,在篡改条件下(即,当属性等效性没有保持住时),操作将返回随机大或小(即,“垃圾”)的值。这将引起程序中的副作用。这种行为方式是有益的,因为它隐藏了条件的构成(mechanics),并且可以被在时间上且在空间上与程序失效断开。不存在泄露条件正在被计算的程序跳跃或分支。相反,程序跳跃将泄露攻击点。
因此应当变得容易明白的是,可以使任何操作变成属性依赖操作。其范围是从简单的算术和逻辑操作(例如,加、减、乘、除、移动、与、或、非)到操作块,且进一步到全部算法。属性依赖行为用来在属性条件保持住的条件下正常操作,以及在属性条件没有保持住的条件下表现得不规律(即,带有结果副作用)。
通过图3示出了本发明的第二实施例300。此处,第二实施例基于消息认证编码(MAC)算法。一般说来,有时被称作键控(密码)散列函数的MAC算法,接受作为输入的秘密密钥以及待认证的任意长度的消息301,并且输出MAC(有时被称作tag)。MAC值通过允许校验器(其也处理秘密密钥)检测对消息内容的任何改变来保护消息的数据完整性及其可靠性两者。
在图3中,在节点锁定后的硬件侧的TSA 311与在软件侧的应用302共享密钥。TSA 311能够执行正常的MAC算法310,而应用302是通过使用白盒键控的MAC 303(例如,基于密码的MAC(CMAC)或者基于散列的MAC(HMAC))来进行保护的。应当容易明白的是,在受信任的平台上,在受信任的执行会话中的建立时间处将所共享的秘密密钥K供应给应用302和TSA 311。这样的供应是以与早先关于第一实施例讨论相一致的方式执行的。应当仅仅为白盒键控的MAC 303和TSA 311所知的秘密密钥K用作锚。当且只有当应用302的秘密密钥K与TSA 311中的秘密密钥相同时,应用302的执行是正确的。针对应用302的两个输出MAC(tag 309和tagT 304)的校验的依赖性是以与前面描述的经由PDT等效性上下文307的第一实施例相同的方式来完成的,借此在指示篡改时操作副作用可以发生。白盒键控的MAC 303可以呈现用于其部件的许多实施方式中的任何实施方式,包括例如在美国专利No.7,397,916中公开的白盒AES。通过引用将所述参考的内容并入本文中。
在不偏离本发明的意向范围的情况下,应当进一步理解的是,如在上述硬件软件实例中,本发明适用于硬件锚定之外的实施方式。整体地,任何合适地类似于上面提及的那些机构的机构可以在实现本发明中用于TSA,只要这种机构:1)能够基于秘密S对消息进行签名;2)能够保持秘密S安全,免被泄露;以及3)解不开地与节点(即,各个装置/平台)相关联。因此,本发明可以用在软件到软件实例中,并且可以包括通过网络、子网络、或者任何功能块到功能块提供的实例。此外,本发明具有软件的传统节点锁定之外的对各个计算机实例的适用性。它可以用来将不受信任的执行环境中的任何程序绑定到受信任的模块。这样的变化通过图4、5和6来图示。
本发明可以例如用来将软件绑定到软件。在图4中,图示了软件到软件实施方式400,受保护程序410借此通过包括TSA 413的本发明中描述的方法来被坚固地绑定到软件堆栈。该软件堆栈可以是具有独立特性(例如,其它锁定类型)的软件模块411、412、414的任何集合。如所示的,模块414包括TSA 413,而模块411和412可以实现其它软件元件。例如,考虑实现虚拟机管理程序的软件堆栈或者实现装置驱动器的集合的软件堆栈。
可替换地,图5示出了根据本发明的网络实施方式500,其用来保护针对单个TSA 513的多个程序510。这些程序510可以都驻留在单个计算机上,并且被节点锁定到计算机上的TSA。相反,如图5中所示,程序可以驻留在客户端计算机511、514、515上,通过网络向服务器计算机512上的TSA 513通信。该实施例强制执行如下的要求:在客户端计算机511、514、515上的受保护程序510具有到服务器计算机512的可用通信机构。这确保服务器512存在并阻碍对客户端程序510的盗版和其它攻击。应当理解的是,程序510可以是相同的受保护程序或者可以是不同的受保护程序。
在图6中,存在根据本发明的基于云的实施方式600。在该场景中,本发明用来将受保护的子模块611、612、616、619的执行绑定到在云资源610、613上执行的TSA 614、618的存在。基于云的实施方式600的主要属性是应用可以在网络中的任何物理资源上执行,其中,应用拥有者可以不必知道什么子云资源正在被用来运行该应用。此外,云中的应用由于几乎无限的物理资源可用性而可以被容易地按比例放大或缩小。本发明允许应用被划分为一组子模块611、612、616、619,其被紧紧地绑定到作为服务器软件模块615、617执行的TSA 614、618。这可以提供例如部署有限数量的TSA服务器的能力,同时部署无限制数量的受保护软件子模块。于是,应用的拥有者具有通过有限数量的TSA服务器来控制在所部署应用的总体上的所有活动的能力。这是如应用于在云中部署的应用的根据本发明的TSA***的灵活性的进一步示例。
本发明的上述实施例仅意在成为示例。在不脱离单独由随附于此的权利要求限定的本发明的范围的情况下,可以由本领域技术人员对特别的实施例实现替换、修改和变化。

Claims (28)

1. 一种用于软件应用的安全操作的***,所述***包括:
熵源,用于秘密值的生成;
供应机构,用于将所述秘密值绑定到所述软件应用的一个或多个部分,从而形成受保护程序;以及
受信任的签名授权机构,与所述供应机构进行通信,所述供应机构进一步将所述秘密值绑定到所述受信任的签名授权机构;
其中,所述受信任的签名授权机构连同所述秘密值提供了对所述受保护程序的校验。
2. 如权利要求1所述的***,其中,通过安全会话将所述秘密值传送到所述受信任的签名授权机构。
3. 如权利要求2所述的***,其中,所述受保护程序和所述受信任的签名授权机构一起驻留在不受信任的平台上。
4. 如权利要求3所述的***,其中,所述受保护程序的所述校验确认所述受保护程序的正确功能。
5. 如权利要求3所述的***,其中,所述受保护程序的所述校验包括以下步骤:
生成指向所述受信任的签名授权机构和所述受保护程序两者的询问消息,
由所述受信任的签名授权机构用所述秘密值对所述消息进行签名,
经由所述安全会话将所签名的消息从所述受信任的签名授权机构传递到所述受保护程序,以及
校验所述消息和所签名的消息的等效性。
6. 如权利要求3所述的***,其中,所述受信任的签名授权机构是受信任的平台模块。
7. 如权利要求3所述的***,其中,所述受信任的签名授权机构是安全处理器。
8. 如权利要求3所述的***,其中,所述受信任的签名授权机构是内核驱动器。
9. 如权利要求3所述的***,其中,所述受信任的签名授权机构是硬化的软件代理。
10. 如权利要求3所述的***,其中,使所述受保护程序公开地可用。
11. 如权利要求3所述的***,其中,将所述受保护程序绑定到软件模块堆栈。
12. 如权利要求3所述的***,其中,一个或多个受保护程序驻留在一个或多个客户端计算机上,以及所述受信任的签名授权机构驻留在服务器计算机上。
13. 如权利要求3所述的***,其中,一个或多个受保护程序体现在受保护的软件子模块中,并且被绑定到在服务器软件模块中体现的一个或多个受信任的签名授权机构,其中所述受保护的软件子模块和服务器软件模块驻留在云计算资源上。
14. 如权利要求13所述的***,其中,所述安全会话是经由对称密钥加密来完成的。
15. 一种用于软件应用的安全操作的方法,所述方法包括:
从熵源生成秘密值;
经由供应机构将所述秘密值绑定到所述软件应用的一个或多个部分,从而形成受保护程序;
将所述秘密值传送到受信任的签名授权机构;以及
通过所述受信任的签名授权机构连同所述秘密值来对所述受保护程序进行校验。
16. 如权利要求15所述的方法,其中,所述传送步骤通过安全会话来发生。
17. 如权利要求16所述的方法,其中,所述受保护程序和所述受信任的签名授权机构一起驻留在不受信任的平台上。
18. 如权利要求17所述的方法,其中,所述受信任的签名授权机构是受信任的平台模块。
19. 如权利要求17所述的方法,其中,所述受信任的签名授权机构是安全处理器。
20. 如权利要求17所述的方法,其中,所述受信任的签名授权机构是内核驱动器。
21. 如权利要求17所述的方法,其中,所述受信任的签名授权机构是硬化的软件代理。
22. 如权利要求17所述的方法,其中,使所述受保护程序公开地可用。
23. 如权利要求17所述的方法,其中,所述校验步骤确认所述受保护程序的正确功能。
24. 如权利要求17所述的方法,其中,所述校验步骤进一步包括以下步骤:
生成指向所述受信任的签名授权机构和所述受保护程序两者的询问消息,
由所述受信任的签名授权机构用所述秘密值对所述消息进行签名,
经由所述安全会话将所签名的消息从所述受信任的签名授权机构传递到所述受保护程序,以及
校验所述消息和所签名的消息的等效性。
25. 如权利要求24所述的方法,其中,所述安全会话是经由对称密钥加密来完成的。
26. 如权利要求17所述的方法,其中,将所述受保护程序绑定到软件模块堆栈。
27. 如权利要求17所述的方法,其中,一个或多个受保护程序驻留在一个或多个客户端计算机上,以及所述受信任的签名授权机构驻留在服务器计算机上。
28. 如权利要求17所述的方法,其中,一个或多个受保护程序体现在受保护的软件子模块中,并且被绑定到在服务器软件模块中体现的一个或多个受信任的签名授权机构,其中所述受保护的软件子模块和服务器软件模块驻留在云计算资源上。
CN201180071019.XA 2011-03-21 2011-03-21 用于安全地将程序执行绑定到且节点锁定到受信任的签名授权机构的***和方法 Expired - Fee Related CN103797489B (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CA2011/050150 WO2012126077A1 (en) 2011-03-21 2011-03-21 System and method for securely binding and node-locking program execution to a trusted signature authority

Publications (2)

Publication Number Publication Date
CN103797489A true CN103797489A (zh) 2014-05-14
CN103797489B CN103797489B (zh) 2017-12-12

Family

ID=46878558

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201180071019.XA Expired - Fee Related CN103797489B (zh) 2011-03-21 2011-03-21 用于安全地将程序执行绑定到且节点锁定到受信任的签名授权机构的***和方法

Country Status (6)

Country Link
US (1) US9754115B2 (zh)
EP (1) EP2689375B1 (zh)
CN (1) CN103797489B (zh)
CA (1) CA2830846C (zh)
WO (1) WO2012126077A1 (zh)
ZA (1) ZA201307144B (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108540582A (zh) * 2017-03-02 2018-09-14 腾讯科技(深圳)有限公司 一种终端标识的处理方法、服务器及终端
CN111934860A (zh) * 2020-08-06 2020-11-13 山东省计算中心(国家超级计算济南中心) 一种用于移动端密钥存储的实现方法和***
CN113485785A (zh) * 2021-06-28 2021-10-08 海光信息技术股份有限公司 一种虚拟化可信平台模块实现方法、安全处理器及存储介质

Families Citing this family (34)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5583857B2 (ja) * 2011-11-04 2014-09-03 エスケー プラネット カンパニー、リミテッド セキュアドメインとノーマルドメインとの間の保安連動方法及び保安アプリケーションダウンロードの管理方法、管理サーバー、端末機、及びこれを適用した管理システム
US10771448B2 (en) 2012-08-10 2020-09-08 Cryptography Research, Inc. Secure feature and key management in integrated circuits
DE102012220990B3 (de) * 2012-11-16 2014-01-23 Siemens Aktiengesellschaft Verfahren und Anordnung zur sicheren Kommunikation zwischen Netzwerkeinrichtungen in einem Kommunikationsnetzwerk
CN103093152A (zh) * 2013-01-10 2013-05-08 曙光信息产业(北京)有限公司 可执行文件的加密解密方法
US20160004859A1 (en) * 2013-03-26 2016-01-07 Irdeto Canada Corporation Method and system for platform and user application security on a device
EP2979392B1 (en) 2013-03-27 2019-08-14 Irdeto B.V. A challenge-response method and associated client device
US9245097B2 (en) 2013-09-19 2016-01-26 Infosys Limited Systems and methods for locking an application to device without storing device information on server
US9785492B1 (en) 2013-12-09 2017-10-10 Forcepoint Llc Technique for hypervisor-based firmware acquisition and analysis
US9734325B1 (en) * 2013-12-09 2017-08-15 Forcepoint Federal Llc Hypervisor-based binding of data to cloud environment for improved security
US9696940B1 (en) 2013-12-09 2017-07-04 Forcepoint Federal Llc Technique for verifying virtual machine integrity using hypervisor-based memory snapshots
GB201405755D0 (en) 2014-03-31 2014-05-14 Irdeto Bv Optimizing and protecting software
GB201405706D0 (en) * 2014-03-31 2014-05-14 Irdeto Bv Software protection
CN106416119B (zh) 2014-03-31 2019-10-11 爱迪德技术有限公司 保护软件项目
EP2940677A1 (en) * 2014-04-28 2015-11-04 Nxp B.V. Method for including an implicit integrity or authenticity check into a white-box implementation
US9485226B2 (en) 2014-04-28 2016-11-01 Nxp B.V. Method for including an implicit integrity or authenticity check into a white-box implementation
US9641337B2 (en) * 2014-04-28 2017-05-02 Nxp B.V. Interface compatible approach for gluing white-box implementation to surrounding program
US10412054B2 (en) 2014-06-24 2019-09-10 Nxp B.V. Method for introducing dependence of white-box implementation on a set of strings
EP3198498B1 (en) 2014-09-26 2021-04-14 Irdeto B.V. A challenge-response method and associated computing device
GB201505553D0 (en) 2015-03-31 2015-05-13 Irdeto Bv Online advertisements
US9906505B2 (en) * 2015-05-08 2018-02-27 Nxp B.V. RSA decryption using multiplicative secret sharing
US20170163485A1 (en) * 2015-12-07 2017-06-08 Alcatel-Lucent Canada Inc. Full configuration management of multi-domain multi-vendor network equipments using golden configurations and snapshots
CN106055491B (zh) * 2016-05-31 2019-03-12 东南大学 一种基于sram puf的熵提取方法及电路
US11281769B2 (en) 2016-12-15 2022-03-22 Irdeto B.V. Software integrity verification
GB201703864D0 (en) 2017-03-10 2017-04-26 Irdeto Bv Secured system operation
CN106878345A (zh) * 2017-04-25 2017-06-20 杭州迪普科技股份有限公司 一种篡改防护的方法及装置
US10797868B2 (en) 2018-05-31 2020-10-06 Irdeto B.V. Shared secret establishment
US11206130B2 (en) * 2018-07-31 2021-12-21 Nxp B.V. Customizing cryptographic keys between multiple hosts
US11106441B2 (en) 2018-09-14 2021-08-31 Microsoft Technology Licensing, Llc Secure device-bound edge workload delivery
US11023619B2 (en) * 2018-09-14 2021-06-01 International Business Machines Corporation Binding a hardware security module (HSM) to protected software
US11550903B1 (en) * 2019-04-26 2023-01-10 Joseph Alan Epstein System and method for trustworthiness, reputation, provenance, and measurement of software
US11263316B2 (en) 2019-08-20 2022-03-01 Irdeto B.V. Securing software routines
CN110855667B (zh) * 2019-11-14 2023-04-07 宁夏吉虎科技有限公司 一种区块链加密方法、装置及***
US20230124498A1 (en) * 2020-05-19 2023-04-20 Visa International Service Association Systems And Methods For Whitebox Device Binding
EP4339835A1 (en) 2022-09-16 2024-03-20 Irdeto B.V. Machine learning model protection

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5652793A (en) * 1995-05-08 1997-07-29 Nvidia Corporation Method and apparatus for authenticating the use of software
CN1192814A (zh) * 1995-07-13 1998-09-09 西格德·西格比约恩森 防止软件的未许可使用
US20020138554A1 (en) * 2001-03-26 2002-09-26 Motorola, Inc. Method for remotely verifying software integrity
US20070006183A1 (en) * 2005-06-03 2007-01-04 Apple Computer, Inc. Run-time code injection to perform checks
CN1898623A (zh) * 2003-12-22 2007-01-17 皇家飞利浦电子股份有限公司 使用动态实体的软件执行保护
US20090249071A1 (en) * 2008-03-04 2009-10-01 Apple Inc. Managing code entitlements for software developers in secure operating environments

Family Cites Families (30)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5944821A (en) * 1996-07-11 1999-08-31 Compaq Computer Corporation Secure software registration and integrity assessment in a computer system
US6442276B1 (en) * 1997-07-21 2002-08-27 Assure Systems, Inc. Verification of authenticity of goods by use of random numbers
EP1125396A2 (en) 1998-10-30 2001-08-22 Certco Incorporated Incorporating shared randomness into distributed cryptography
US6463538B1 (en) * 1998-12-30 2002-10-08 Rainbow Technologies, Inc. Method of software protection using a random code generator
WO2001013198A1 (en) 1999-08-13 2001-02-22 Hewlett-Packard Company Enforcing restrictions on the use of stored data
US7552333B2 (en) * 2000-08-04 2009-06-23 First Data Corporation Trusted authentication digital signature (tads) system
US6978375B1 (en) * 2000-09-08 2005-12-20 International Business Machines Corporation System and method for secure authentication of external software modules provided by third parties
US20020152392A1 (en) * 2001-04-12 2002-10-17 Motorola, Inc. Method for securely providing encryption keys
US20030120938A1 (en) * 2001-11-27 2003-06-26 Miki Mullor Method of securing software against reverse engineering
US20040098591A1 (en) * 2002-11-15 2004-05-20 Fahrny James W. Secure hardware device authentication method
US7200760B2 (en) * 2002-12-31 2007-04-03 Protexis, Inc. System for persistently encrypting critical software data to control the operation of an executable software program
US20050289343A1 (en) 2004-06-23 2005-12-29 Sun Microsystems, Inc. Systems and methods for binding a hardware component and a platform
US20060101047A1 (en) * 2004-07-29 2006-05-11 Rice John R Method and system for fortifying software
US7788483B1 (en) * 2004-10-22 2010-08-31 Winbond Electronics Corporation Method and apparatus of identifying and enabling of functions of a trusted platform module device
CN101065716A (zh) * 2004-11-22 2007-10-31 诺基亚公司 用于验证电子设备的平台软件的完整性的方法和设备
DE102005037230A1 (de) * 2005-08-08 2007-02-15 Robert Bosch Gmbh Verfahren und Vorrichtung zur Überwachung von Funktionen eines Rechnersystems
EP1879321A1 (en) 2006-07-11 2008-01-16 STMicroelectronics GmbH Electronic signature with a trusted platform
US7809955B2 (en) * 2006-10-17 2010-10-05 Blue Ridge Networks, Inc. Trustable communities for a computer system
US20080209559A1 (en) * 2007-02-22 2008-08-28 Aladdin Knowledge Systems Method for detecting that a protected software program is cracked
JP5096022B2 (ja) * 2007-03-15 2012-12-12 株式会社リコー 情報処理装置、ソフトウェア検証方法及びソフトウェア検証プログラム
US8364973B2 (en) * 2007-12-31 2013-01-29 Intel Corporation Dynamic generation of integrity manifest for run-time verification of software program
CA2710868A1 (en) * 2008-01-07 2009-07-16 Security First Corp. Systems and methods for securing data using multi-factor or keyed dispersal
US20110138475A1 (en) 2008-07-30 2011-06-09 Telefonaktiebolaget L M Ericsson (Publ) Systems and method for providing trusted system functionalities in a cluster based system
US8738932B2 (en) * 2009-01-16 2014-05-27 Teleputers, Llc System and method for processor-based security
US8544092B2 (en) * 2009-03-12 2013-09-24 International Business Machines Corporation Integrity verification using a peripheral device
US20120089830A1 (en) 2009-03-25 2012-04-12 Kande Mohamed M Method and device for digitally attesting the authenticity of binding interactions
US8850211B2 (en) * 2009-04-27 2014-09-30 Qualcomm Incorporated Method and apparatus for improving code and data signing
US20120004033A1 (en) * 2010-06-30 2012-01-05 Martin Lyons Device and method for replicating a user interface at a display
US8683583B2 (en) * 2010-12-02 2014-03-25 Microsoft Corporation Using virtual table protections to prevent the exploitation of object corruption vulnerabilities
US8479008B2 (en) * 2010-12-15 2013-07-02 Microsoft Corporation Providing security services on the cloud

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5652793A (en) * 1995-05-08 1997-07-29 Nvidia Corporation Method and apparatus for authenticating the use of software
CN1192814A (zh) * 1995-07-13 1998-09-09 西格德·西格比约恩森 防止软件的未许可使用
US20020138554A1 (en) * 2001-03-26 2002-09-26 Motorola, Inc. Method for remotely verifying software integrity
CN1898623A (zh) * 2003-12-22 2007-01-17 皇家飞利浦电子股份有限公司 使用动态实体的软件执行保护
US20070006183A1 (en) * 2005-06-03 2007-01-04 Apple Computer, Inc. Run-time code injection to perform checks
US20090249071A1 (en) * 2008-03-04 2009-10-01 Apple Inc. Managing code entitlements for software developers in secure operating environments

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108540582A (zh) * 2017-03-02 2018-09-14 腾讯科技(深圳)有限公司 一种终端标识的处理方法、服务器及终端
CN111934860A (zh) * 2020-08-06 2020-11-13 山东省计算中心(国家超级计算济南中心) 一种用于移动端密钥存储的实现方法和***
CN111934860B (zh) * 2020-08-06 2024-01-05 山东省计算中心(国家超级计算济南中心) 一种用于移动端密钥存储的实现方法和***
CN113485785A (zh) * 2021-06-28 2021-10-08 海光信息技术股份有限公司 一种虚拟化可信平台模块实现方法、安全处理器及存储介质
CN113485785B (zh) * 2021-06-28 2023-10-27 海光信息技术股份有限公司 一种虚拟化可信平台模块实现方法、安全处理器及存储介质

Also Published As

Publication number Publication date
EP2689375A4 (en) 2014-08-20
CA2830846C (en) 2018-08-28
CA2830846A1 (en) 2012-09-27
EP2689375B1 (en) 2021-09-15
ZA201307144B (en) 2014-08-27
US20140006803A1 (en) 2014-01-02
EP2689375A1 (en) 2014-01-29
CN103797489B (zh) 2017-12-12
US9754115B2 (en) 2017-09-05
WO2012126077A1 (en) 2012-09-27

Similar Documents

Publication Publication Date Title
CN103797489A (zh) 用于安全地将程序执行绑定到且节点锁定到受信任的签名授权机构的***和方法
EP3540626B1 (en) Enclave launch and authentication
US8719590B1 (en) Secure processing in multi-tenant cloud infrastructure
US8787566B2 (en) Strong encryption
CN103069428B (zh) 不可信云基础设施中的安全虚拟机引导
CN109067528B (zh) 密码运算、创建工作密钥的方法、密码服务平台及设备
US7870399B2 (en) Software trusted platform module and application security wrapper
CN111523110B (zh) 基于链代码的权限查询配置方法及装置
CN105700945B (zh) 一种基于净室环境的虚拟机安全迁移方法
US8635465B1 (en) Counter-based encryption of stored data blocks
CN110580262A (zh) 基于智能合约的隐私数据查询方法及装置
JP2017139811A5 (zh)
KR20030082485A (ko) 대칭 키 암호화에 기초한 데이터의 저장 및 검색
EP3457309B1 (en) Processing method for presenting copy attack, and server and client
CN105450620A (zh) 一种信息处理方法及装置
KR20030082484A (ko) 공개 키 암호화에 기초한 데이터의 저장 및 검색
KR20060018852A (ko) 랜덤 함수를 사용하는 실행의 증명
CN114157415A (zh) 数据处理方法、计算节点、***、计算机设备和存储介质
CN104618096A (zh) 保护密钥授权数据的方法、设备和tpm密钥管理中心
US20160087995A1 (en) Procedure For Platform Enforced Storage in Infrastructure Clouds
WO2018162060A1 (en) Methods and devices for attesting an integrity of a virtual machine
Schuster et al. Vc3: Trustworthy data analytics in the cloud
AlBelooshi et al. Securing cryptographic keys in the IaaS cloud model
CN104901959A (zh) 一种验证计算池可信的方法及***
Hao et al. Trusted block as a service: Towards sensitive applications on the cloud

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: ADDRESS; FROM:

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

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

Granted publication date: 20171212

Termination date: 20200321

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