CN1204088A - 保护软件的计算机系统和一种保护软件的方法 - Google Patents

保护软件的计算机系统和一种保护软件的方法 Download PDF

Info

Publication number
CN1204088A
CN1204088A CN98102918A CN98102918A CN1204088A CN 1204088 A CN1204088 A CN 1204088A CN 98102918 A CN98102918 A CN 98102918A CN 98102918 A CN98102918 A CN 98102918A CN 1204088 A CN1204088 A CN 1204088A
Authority
CN
China
Prior art keywords
inquiry
computer system
private key
random
key data
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
CN98102918A
Other languages
English (en)
Other versions
CN1165847C (zh
Inventor
G·本森
M·迪赫特尔
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.)
Siemens AG
Original Assignee
Siemens 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 Siemens AG filed Critical Siemens AG
Publication of CN1204088A publication Critical patent/CN1204088A/zh
Application granted granted Critical
Publication of CN1165847C publication Critical patent/CN1165847C/zh
Anticipated expiration legal-status Critical
Expired - Fee Related 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/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • 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/30Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
    • H04L9/3006Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy underlying computational problems or public-key parameters
    • H04L9/302Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy underlying computational problems or public-key parameters involving the integer factorization problem, e.g. RSA or quadratic sieve [QS] 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/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/3218Cryptographic 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 using proof of knowledge, e.g. Fiat-Shamir, GQ, Schnorr, ornon-interactive zero-knowledge proofs
    • 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/3271Cryptographic 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 using challenge-response
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2103Challenge-response
    • 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/56Financial cryptography, e.g. electronic payment or e-cash
    • 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/60Digital content management, e.g. content distribution
    • H04L2209/605Copy protection

Landscapes

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

Abstract

一种用于保护软件项的一种方法,其中至少一个问询装置与所述受保护软件项相关,并且至少一个应答装置访问一个私人密钥资料。该访问装置不访问所述私人密钥资料。所述应答装置向所述问询装置表明该应答装置使用一个非对称概率验证,如零知识验证来利用所述私人密钥资料。问询装置确认使用与应答装置的私人密钥资料相对应的公共密钥资料的这个验证。

Description

保护软件的计算机系统 和一种保护软件的方法
本发明涉及用于保护软件免于被非授权使用特别是免于未经许可的拷贝的装置,
商用软件联盟预测1995年由于软件的非法翻印造成的经济损失在商用应用软件方面为US$81亿而在所有软件方面为US$152亿。
已经在这两方面提出了解决方案:
——提高知识产权(IPR)立法,并且
——增强电子拷贝保护(ECP)装置。
在许多国家提高了IPR立法和实施,但是在世界其它一些地区还有明显的困难。其结果,一些商家目前对ECP再估价。
以下列举一些要求一台ECP装置可能安全的例子:
——应该禁止未经许可的用户执行被保护的软件。
——不应禁止客户做备份。
——ECP装置应对用户的接口有最小的影响。
这种明显的影响应限制于初始对操作系统的第一次初始注册和/或智能卡。
——前提是仅仅是标准的硬盘和软件。例如,尽管硬件dongles提供了拷贝保护服务,许多商家不希望限制将软件卖给拥有或愿意安装dongle的客户群。
——ECP装置不应将被保护软件的执行限制为有限的一群机器。当顾客合法购买软件时,顾客应该可以在任何机器上执行该软件而不必考虑其所有权。顾客可以随意地授权同时在多台机器上执行该软件。
——ECP装置应该设有因为要执行已买的保护程序而具有所需的网络依赖性。
——应该允许商家将被保护软件的相等版本分配给所有的用户。这种需要允许被保护的软件通过正常渠道,例如象,CD-Roms,软盘或网络布告栏进行分配。
——对于一个潜在的软件非法盗版而言,要超过没有修正的保护软件的ECP装置是非常困难和/或在计算上是不可能的。这种要求作用相当于一个病毒
预防方法,因为如果一个盗版者散布了原始程序的一个修正版,那么由商家提供的数字签名不能使其生效。
——该ECP装置不能将私人密钥材料公开给商家。不能公开由商家制造的任何程序或任何潜在的特洛伊木马程序尽管这种最初的作用是为了保护软件商家,但商家不能做以牺牲顾客的利益为代价的事。
——ECP装置对仅有软件的版本应该与有辅助硬件的版本,如使用智能卡是同样可用的,以确保广泛的市场认可。
在[1]中,建议在一个被保护文件中使用的装置仅通过一个特殊结构的取景器程序才能被看到,该程序仅在用户给取景器提供该用户的私人密钥资料时才允许该用户观看文件。这样能制止用户散布取景器程序的未经许可的拷贝,因为这样做将需要用户公布他的或她的私人密钥资料给其他人。但是,因为这种装置要求取景器程序可以利用私人密钥资料,所以,它破坏了上述要求之一。更进一步,这种装置可能不与构成防止泄露私人密钥资料的智能卡连在一起用。
概观一下在[3]中可以找到的非对称性密码,如RSA方案,以及概率性加密如布鲁姆——考得华斯(Blum-Goldwasser)概率公共密钥加密方案。
在[7]中描述了Chi-Square测试,Kolmogorov-Smimov测试,以及序列相关试验。
概观在[3]中可以找到的不同的概率验证方案,如零知识验证方案(如:Feige-Fiat-Shamir方案,Guillou-Quisquater方案,Blum-Feldmann-Micali方案Brassard方案,Crepau方案等等)或隐藏证据的验证方案。
概观在[3]中可以找到的数字签名方案(如Rivest-Shamir-Adleman,等等)以及数字签名的形式数学定义。
信息摘要功能(或者被称为单向散列函数)的一个例子是MD5[5]。要计算出信息摘要的逆式在计算上是不可能或非常困难。
在[4]中,描述了在硬盘驱动器中来自空气扰动的加密随机性。
本发明的目的是提供一种提高的能最合适的ECP装置,即使不是上述所有例子的要求都满足。
用于本发明的一些重要的算法列举如下:
·给定(一个RSA密钥对的)n和φ,决定nEINBETTEN的首要因子(p,q)如n=p.q以及
φ=(p-1)(q-1)贴P4·给[定一个RSA公共密钥n,e和私人密钥d,计算φ。*Zn是整数模n的集合*Zn *={X∈Zn︱gcd(x,n)=1}*使e.d-1=2st,这里t是奇整数1.选择一个随机整数a,使得a∈Zn *2.计算
Figure 9810291800091
3.如果w≠±1(modn)则返到1
4.结果:gcd(w-1,n),这里gcd代表最大分约式。
并非所有用于本发明的众所周知的算法都要在本文中说明。其他的已知算法,如,计算一个逆式,以及计算gcd,都可以在[3]中找到。
一种可选择的明文攻击是指其中对手选择明文并给出相应的密文。其次,对手使用任何一种信息推理方法以便于恢复与以前看不见的密文[3]相应的明文。
一种自适应可选择的明文攻击是一种其中可以依靠从以前结果中接收到的密文来选择明文的可选择明文攻击。
零知识验证协议抵制可选择明文攻击和自适应可选择明文攻击。
本发明使用概率性验证。一种概率性验证至少包括2部分,A和B。A拥有私人密钥资料而B如不公开自己的私人密钥资料则不能利用A的私人密钥资料。A的验证概率性少于绝对性,因为B迫使A通过提供证据证明A多半可以使用私人密钥资料。
这里有两种不同的概率性验证:
a)零知识验证,其中证明了,B或任何一个验证的监视器,除了A拥有私人密钥资料这个事实之外从验证中什么也了解不到。
b)证据-问询-应答验证,其中包括下列连续的4个要素:
1.A发送对所有验证的启用来说不是常数的信息给B。该信息称为证据。对于许多协议而言,该证据是随机产生的,并且不再重复。
2.B发送信息给A,称为问询。对于许多协议而言,该问询是随机产生的。
3.A发送一个应答给B。
4.B验证,A通过执行包括证据,问询和应答的计算是否确实了解了该私人密钥资料。
事实上,许多零知识验证就是证据-问询-应答验证。
零知识验证方案不仅是如Feige-Fiat-Shamir方案或是Guillou-Quisquater方案,还是单向零知识验证方案,如Blum-Feldmann-Micali方案,或是静态零知识验证方案,如Brassard方案或是Crepau方案等等。
隐藏证据验证方案是如Feige-Shamir方案等等。
不能混淆带有概率性验证的概率性公共密钥加密(用于提供机密性的目的)。在第一种情况中,概率性装置用于执行加密算法。在第二种情况中,概率性装置用于定义在例如确认的服务中的可信度。
随后,将描述一种零知识协议的一种可能的通常结构(cp.[3])。为了说明的目的,这个通常结构同样是证据-问询-应答的格式。
该协议包括2部分,A和B。
1.要求是A的证明程序从预先定义的一组中选出一个随机要素作为它的保密约定(提供隐藏的随机化),并且从中计算出一个相关(公共的)的证据。这样从其它协议操作中提供了用于变化的初始随机性,并且定义了一组所有证明程序要求能够回答的问题,因而由一个先验信息(Priori)约束了他的或她的下一个应答。仅是带有A的秘密知识的A的合法部分能够真正回答所有的问题,并且对于这些问题中任何一个的答案没有提供关于A的长期秘密的信息。
2.B的其后的问询选择这些问题中的一个。
3.A提供它的应答。
4.B为验证正确性校验所述应答。
该协议可以迭代从而提高限制成功欺骗的可能性的边界。
每个用户可以将他的或她的公共密钥资料邮递给一个公共可存取的手册而不用包括其相应的私人密钥资料。该用户通常可以和其它方面一样作为一个紧闭的秘密来保护他的或她的私人密钥资料,所述的加密系统不可能保证正确性。最熟知的用于保护某个人的私人密钥资料的装置是使用一个智能卡。在这个情况中,该智能卡是一种不带用于泄露私人密钥资料的接口的器件(在非加密保护方式中)。
尽管智能卡提供了最好的保护,电子贸易的社会因素在确保私人密钥资料保护方面仍起了作用。与非对称加密器件相关的一个显著的困难是验证。例如,如果A将他的或她的公共密钥资料邮递给一个公共手册,那么B怎样估计其有效性?即,非法翻印者除了邮递非法翻印者的密钥资料外,可能会试图冒充A。一些商业组织通过充当认证当局(CA)来提供解决这种问题的方法。(可能)因为费用原因,所述CA向潜在用户如司机的一驾照或护照证求辨认资料。在确认辨认资料之后,CA将用户公共密钥资料邮递给公共手册,并且CA签署证书(使用带有CA的私人密钥资料的数字签名),该证书持有用户的公共密钥资料。可采用一标准服务,如X.500,以帮助便于包含公共密钥资料手册的使用。
一旦用户将他的或她的公共密钥资料邮递给CA,该用户应该尽力保护他的或她的私人密钥资料。在这种情况下,如果该用户的私人密钥资料无意中被泄露,那么对该私人密钥资料的使用不再有任何意义。
根据本发明,提供了一种包括用于保护软件的保护装置的计算机系统,该保护装置包括至少一种与所保护软件项目相关的问询装置,和至少一种其中可存取私人密钥资料的应答装置,其中:
a)该问询装置不能访问私人密钥资料,
b)该应答装置包括一些装置,这些装置用于向问询装置证明该应答装置通过与问询装置配合使用一个概率性验证方案读取私人密钥资料,
c)该问询装置包括一些装置,这些装置用于阻止用户使用一些或全部所述的软件项目,除非该问询装置了解所述的概率性验证是成功的。
根据本发明的另一方面,本发明提供了一种计算机系统,该系统包括用于输入一个被保护程序的装置,以及包括用于在那个程序中放入至少一种问询装置的装置,其中所述问询装置包括用于以下目的的装置
——参与一个概率性验证协议,
——确认应答装置拥有私人密钥资料,
——禁止用户使用一些或所有所述程序除非所述的确认成功。
根据本发明的另一方面,本发明提供了一种将软件分配给若干用户的方法,其中每个用户具有根据权利要求1的计算机系统,并且其中每个用户接收与所述保护程序和所述问询装置相同的拷贝。
根据本发明的又一个方面,本发明提供了一种用于保护一个软件项的方法,其中至少一种问询装置与所述保护软件项相关,并且至少一种应答装置访问私人密钥资料,
a)该问询装置不能访问私人密钥资料,
b)该应答装置验证它通过与问询装置配合,使用概率性验证方案访问私人密钥资料,
c)该问询装置禁止用户使用一些或全部所述的软件项,除非问询装置了解所述的概率性验证是成功性。
根据本发明的另一个方面,本发明有可能有利于产生随机值,这或是由问询装置或是由应答装置通过重复地对设备检索进行定时应答以实施随机值的安全性。尽管一个可能是响应许多器件中的任何一个的大概时间,在这个例子中我们假设这是一个磁盘(通常被认为一个硬盘并且有时被认为是一个直接存取存储器件)。另外,当产生一个特殊的随机值时,它可能问询多个不同的器件。
根据本发明的另一个方面,为了进一步实施一个随机值的安全性,当产生该随机值时,以这种方式分出一条新的线索,即利用执行系统的调度程序的不确定性从而将一个额外的随机程度引入该随机值中。
根据本发明另一方面,为进一步实施所述随机值的安全,可执行一统计测试以确定由每一次所述的磁盘查寻得到的随机比特的数目,并引起反复进行磁盘查寻直到得到预定数目的随机比特。
图1是一个购买协议流程图,该购买协议用于当一个用户希望购买被与本发明相关的保护装置所保护的软件之时。
图2是表示要求安装在用户的机器里使用户能执行被保护软件的软件部件的方框图。
图3是表示在被保护软件中保护装置的操作流程图。
图4是表示用于产生临时数的随机数发生器的操作流程图。
下面将通过参考附图举例的方式描述与本发明相关的一种保护装置。
购买协议
图1表示了用于当用户102希望购买通过一个与本发明相关的ECP装置被保护的软件的购买协议。卖方101具有用于数字签字的公共的和私人密钥资料;并且每个潜在用户102具有用于概率性验证协议的公共的和私人密钥资料。每部分都将它的公共密钥资料提供给其它那部分,但对自己的私人密钥资料保密。
在步骤1中,用户102通过从一个网络公告上板下载软件从而从卖方101处获得该被保护的软件103。随后将具体描述的问询装置24(参见图2)以这种方式被安插在被保护的程序103中。所述方式是即一个潜在的攻击者不能轻易地将问询装置24从被保护程序103中分离出来,这个攻击者需要分解代码并且人为地移走或修改问询装置。问询装置24具有插入其中的卖方的公共密钥资料。如所要描述的,问询装置24防止用户在这种状态下执行该软件。包括问询装置的整个被保护的程序使用卖方的私人密钥资料被加上标记。
在步骤2中,用户102通过电子邮件给卖方101发出一个登记程序包104。该登记程序包104包括拥有该用户的公共密钥资料的对公共手册的参考。
在步骤3中,软件卖方101设置用户的公共密钥资料并将用户的公共密钥资料插入密钥文件105并通过电子邮件将密钥文件105发送给用户102。一旦用户102安装了该密钥文件,该保护装置允许用户102执行被保护的软件103(只要用户通过一个概率性验证可以证明他或她能利用用户的私人密钥资料。)
密钥文件105的产生是通过一个密钥文件发生器执行的,该程序是在卖方的装置中执行的。卖方101必须很好地保护这个程序。
在使用密钥发生器时,操作者输入以下信息:卖方姓名:卖方姓名是卖方的公司。卖方口令:卖方口令是揭示卖方公司的私人密钥资料的口令。不知道该口令
的公司职员不能产生密钥文件。用户姓名:该用户姓名是用于对其产生密钥文件的用户的一个识别名字(在[2]中定义)。该名字在公共密钥资料数据库中检索。密钥文件名:该密钥文件名是一个新密钥文件的名字。
在获得这些信息之后,该密钥文件发生器设立一个包括用户公共密钥资料的密钥文件105。密钥文件105的各部分是作为一个完全的随机序列值呈现给用户102。
密钥文件105的建立包括下列操作。
首先,该密钥文件发生器产生一个文件并将用户的公共密钥资料插入该文件中,以及数以千计的假目标位。在这个例子中,每个密钥文件105包含近480,000个假目标位。这个位的数目代表一个明显的假目标资料的数目,并且还能符合一个标准的电子邮件信息。
每个密钥文件105在不同的位置存储了该用户的公共密钥资料。另外,每个密钥文件105将插入其中的用户信息加密而不公开所需的加密密钥。这种加密的用户信息允许软件卖方很容易地识别密钥文件105的拥有者,即使密钥文件105出现在如一个公告板这样的公共位置上。密钥文件发生器使用不同的算法将密钥文件多次加密和再加密(或密钥文件的一部分)。最后,该密钥文件发生器通过应用一个数字签名算法用卖方的私人密钥资料在密钥文件上做标记。
如果问询装置使用存在问询装置的二进制中的公共密钥资料能证实卖方的签字并且访问存在密钥文件中的解密公共密钥资料,那么一个密钥资料被证明有效。用户软件
图2示出了需要安装在用户的机器,计算机上,以便于用户能执行被保护的软件103的软件部件。这些部件包括一个保护服务器20。图2还示出了密钥文件105和被保护软件103。被保护软件的拷贝103包括一个问询装置24。
保护服务器20是当系统初始引导时用户102执行的程序。用户102通过插入一张含有一个用户的私人密钥资料的加密拷贝的软盘使系统能够运转。该保护服务器20此时促使用户102使用用于将软盘解密的通行短语。如果用户不能提供正确的通行短语则保护软件不再继续执行。此时,该保护服务器20在用于加入一个概率性验证请求的等待背景下执行。
要注意的是该保护服务器20从不在其处理范围外泄露所述用户的私人密钥资料。保护服务器20依靠运行系统保护以便确认它自己的完整性。保护服务器20在它自己的地址空间内执行并和外部过程交流。保护装置的运行
图3示出了保护装置的运行。当用户初始试图执行被保护软件103时就执行该装置,并可以随着问询装置的意思(通过给应答装置24发出请求执行的信息)在执行受保护软件103的过程中周期性重复。
(方框31)当问询装置24启动该过程时,问询装置24访问与受保护软件103相关的密钥文件105,并且调用该问询装置24中的数字签名确认功能,以便使用插入该问询装置24的卖方公共密钥资料确认密钥文件105的卖方签名。这种密钥文件签名的确认确保攻击者在不额外修改问询装置24的情况下不能修改该密钥文件105或它的数字签名。卖方可以有选择地使用专有的防御线来扩大这种保护。如果该密钥文件105已经被修改,问询装置24就挂起该程序,或者打乱正常的程序执行。
假设密钥文件105的签字被确认,问询装置24使用一个专有的,卖方专门的算法分析密钥文件105,以便于在密钥文件105中找到用户的公共密钥资料的位置,并抽取出用户的公共密钥资料。
然后,使用保护服务器20完成下列的概率性验证方案(在这个实施例中,描述Guillou-Quisquater识别协议)。
在下面的协议说明中,称保护服务器为A部分而称问询装置24为B部分。计算系统参数(方框31):a.使用特别适用于RSA-Like密钥对计算的首要因子p和q,计算n=p.q和Φ=(p-1)(q-1)。b.对于gcd(υ,Φ)=1,A定义一个公共指数υ≥3,这里EINBETTEN gcd是最大分约式。c.A计算一个专用的指数s=υ-1(modΦ)d.系统参数(υ,n)可用作公共密钥资料。计算用户参数(方框32):a.A选择并公开一个已知的恒等式I和使用一个已知冗余函数f的冗余恒等式J=f(Ⅰ),J满足1<J<n。该冗余函数f的一个例子是ISO/IEC 9796预处理阶段的冗余变换。[6]。b.A保留作为私人密钥资料的SA=J-s(modn).
该GQ密钥对是(私人密钥=SA)和(公共密钥=(υ,n))。A使B了解I,f和J=f(Ⅰ)。B确认J=f(Ⅰ)(方框33)。GQ验证协议的协议信息表示如下:·A→B:I,x=rυ(mod n)    (1)·B→A:e(这里1≤e≤υ)    (2)·A→B:y=r.Se A(mod n)    (3)
A通过t执行下列步骤向B证明它的身份,这里,仅当如果所有的t执行是成功的,则B接受A的身份(方框34)a.A选择一个随机的秘密整数r(约定),1≤r≤n-1,并且计算(证据)x=rυ(modn)b.A发送给B一对整数(I,x)c.B选择并发送给A一随机整数e(问询),1≤e≤υd.A计算并发送给B(所述应答)y=r.se A(mod n),B接收y,使用f从I中构造J,计算z=Je.yυ(mod n),并且如果z=x且z≠0时,接受A的验证身份。
如果作为B部分的问询装置24不接受A的身份验证,问询装置24挂起受保护的程序,否则就打乱正常的程序执行。
因此,可以看出如果用户拥有正确的私人密钥资料和密钥文件105,受保护的程序才能正常地继续执行。临时数发生器
通过包括在问询装置24中的临时数发生器执行临时数的产生。临时数发生器的操作如下所示。
首先,临时数发生器问询许多系统参数,如,系统时间、在页表上留出富余的空间的数量、逻辑磁盘驱动器的数目、在操作系统目录中文件的名字等等。
其次,临时数发生器使用一个随机数发生器设立一个随机数。该随机数发生器包括2个处理线索,这里称为线索1和线索2。图4示出了是随机数发生器的主要线索的线索1的运行。
(方框51)首先,线索1产生一个用于拥有计数值的表的数据结构值表。该表最初是空的。
(方框52)线索1设置目前计数值为0,设置循环测试(done-test)标记为FALSE。
(方框53)线索1接着分支出线索2。线索2记入一个异步的磁盘访问,然后休息直到磁盘访问结束。当磁盘访问完成时,线索2将循环测试标记设置到TRUE。注意,线索1和线索2分享循环测试标记。
(方框54)线索1将计数值增加1。
(方框55)然后线索1测试循环测试标记现在是否是TRVE,如果是TRUE表明由线索2启动的磁盘访问完成。如果循环测试标记是FALSE,则该线索转向方框54。因此可以看出,等待磁盘访问完成的同时,线索1继续增加计数值。
(方框56)当循环测试标记是TRUE,线索1中止线索2,并将计数值存入值表中的第一空余位置。
(方框57)线索1然后调用Statstest函数,该函数估计存在值表中的计数值(或部分计数值,如,低阶位)的随机程度。该函数可以用在[3]中描述的Chi-Square测试,Kolmogorov-Smirnov测试,或Serial Correlation测试。该Statstest函数可被优化以确保对于每个磁盘访问而言不重复复杂的计算。该Statstest函数返回到一个值,该值显示每个被保存计数值的低阶位中有多少位被认为是随机的。
(方框58)在与值表长度混合时,线索1将由Statstest函数返回的值与预定门限值相比较,以便确定是否现已产生了足够的随机位。如果已经产生的随机位不够,该过程返回上述方框52,以便于产生并存储另一个计数值。
(方框59)当已产生所需的随机位的数目时,线索1从值表中的每个计数值中抽取低阶位的具体数,并返回作为输出随机数的这个位序列。
总之,可以看出随机数发生器利用一系列磁盘访问的时间上的不确定性来作为在临时数产生过程中随机性之源(看[4])通过在每个磁盘访问时分出新线索,该随机数发生器同样利用在运行系统的调度程序中的不可预料性作为随机性的第二源。
通过Statstet函数完成的分析允许随机数发生器通过计算每个存储的计数值到返回的低位数的数目来对任何速度的处理器和磁盘自调整。例如,对于每次磁盘访问,一个带有高变化磁盘访问时间的系统将比带有低变化磁盘访问时间的系统产生更多的随机比特。如,总量为1080s的磁盘(平均写入时间6ms)和486 66MHZ的处理器,该系统每秒产生近45位数。另一方面,可以将每个磁盘访问的位数目硬编码并且使用去偏离技术确保好的随机性。
临时数发生器同样访问所述操作系统,以确保它将每个磁盘访问告知给一个有效的磁盘。最后的输出临时数是通过组合从随机数发生器的输出随机数和使用一个信息摘要问询如上所述的系统参数而得到的结果而构成。
当执行一个能对磁盘提供直接访问的操作系统,如视窗95或视窗NT4.0时,上述的该临时数发生器工作得最好。在这样一个操作系统中,专用的操作系统调用在用户空间执行的程序,这样做允许程序旁路该操作系统的内部缓冲装置并直接写入磁盘。大多数程序不利用这些专用的操作系统调用因为它们相对无效和难于使用。在视窗95和视窗NT上,如果通过问询操作系统了解程序访问的数据是磁盘扇区大小的几倍时,该程序只能使用这些专用的调用。
如果该操作系统不提供对磁盘直接访问,那么问询装置24仍然使用磁盘定时随机数发生器。但是,在这个例子中,所产生值的数量很依赖在操作系统的调用程序与所述磁盘访问时间的固有变化相对的不可预料性。
上述本发明的例子假设操作系统允许一个程序在一个单独的地址空间分出多个线索。另外,本发明的例子假设操作系统允许该线索访问同步变量如信号量。多数先进的操作系统能提供这些服务。本发明的例子使用多条线索实现能确定每个磁盘访问时间的数量的装置。但是,如果本发明的实施是基于不能提供多条线索或同步变量的系统上执行的。那么该临时数发生器将调换其他装置,如,问询一个物理时钟。
一些可能的改型
用户不需要通过从网络公告板上下载软件而获得该软件。该用户可以同样在软盘上,PC存储器的CD-ROM、互联网、或其它发行媒体上获得该软件。
保护服务器20同样能工作于两种方式。在检验完出现的临时数之后,它可以使用如Feige-Fiat-Shamir方案,还可使用统计零知识验证方案如Brassard方案或Crepau方案等等。
另一方面,保护服务器20同样可以用证据隐藏方案,如Feige-Shamir方案,等等。
因此可看出,与本发明有关的重要的是使用概率性验证。
此外,可以使用一张智能卡存储和访问用户的私人密钥资料(或用于密钥文件产生中的卖方的私人密钥资料)。在这样一张可操作的智能卡结构中,非法盗版者不能从提供了能很好抵御攻击的智能卡中抽取私人密钥资料。一些智能卡直到用户提供了一个正确的口令或个人身份证号码才能执行。
本发明除了实现拷贝保护外,还可用于追踪软件的非法盗印。该装置提供了很好的追踪能力,而不需要每个用户获得该程序的唯一的版本。
上述的保护服务器20、问询装置24和受保护软件103可以配置在许多不同的结构中。
例如:
——保护服务器20可能存在于一个地址空间中而问询装置24和受保护软件103可能存在于一个单独机器的不同地址空间。
——保护服务器20存在于一个机器的地址空间,询问装置24和受保护软件103可能存在于不同机器的不同地址空间中。
此外,每个都带有软件受保护项的属于自己的拷贝的多用户可以共享一个公共保护服务器20,该保护服务器20响应来自所有这些拷贝的问询。
另一替换方法是多用户可以分享普通私人密钥资料。一个公司可以使用一个或多个这些选择配置,例如,构成多用户许可证功能。
在上述的实施例中,问询装置24使用一个随机数发生器以确保协议的新颖。该新颖特点确保攻击者不能通过重放旧信息阻碍系统的安全保证。应答装置同样使用一个随机数发生器以确保每个协议执行的唯一性。
我们可以通过参考内部定时装置,如计数线,或一个外部定时装置,如一个时钟,来有选择地扩展本例子。如果在完成概率性验证协议之前结束事先定义的阀值,那么确认自动失败。
在另一种可能的修改中,密钥文件105可以包含与有选择地触发受保护程序103的服务相关的隐藏信息。例如,密钥文件105可以规定受保护程序可以允许执行打印服务但禁止执行存盘服务。作为另一个例子,密钥文件105可以包含一个截止日期,该日期描述了执行特殊服务的最后日期。受保护程序103将读出密钥文件105以便决定受保护程序103将要执行的服务。用户可以通过从卖方要求另一个密钥文件以便获得执行更多服务的能力。
在另一个可能的修改中,受保护程序可以将非对称保密验证分配给其它程序。这些其它程序可以使用这个结果以帮助决定是否其它程序中止执行,或以一个有限的方式执行。
尽管在上述实施例中,描述了GQ识别协议,在本发明中还可以使用任何一种概率性验证。[3]中给出了概率性验证方案的综述。
在另一个可能的修改中,存在不同的装置,软件卖方可以通过在其中产生公共和私人密钥资料来实现该装置。
设想有2对非对称密钥对,第一密钥对AS1和第二密钥对AS2
●第一密钥对AS1与第二密钥对AS2相关假定公开,(AAD),如果它在计算上可行,如使用已知技术在多项式时间内可进行计算,以产生给出下列信息中任何一个或全部的第二密钥对AS2:第一密钥对的AS1公共密钥、第一密钥对的AS1私人密钥、以及第二密钥对的AS2公共密钥。
●如果在计算上不可行,如使用已知技术在多项式时间内不能计算,则第一密钥对AS1与第二密钥对AS2相关假定不公开(AAN),以产生除了下列信息没有其它信息的AS2私人密钥:第一密钥对的AS1公共密钥,第一密钥对的AS1私人密钥,以及作为输入的第二密钥对的AS2公共密钥。
●如果并且仅仅如果除了第一密钥对的AS1公共密钥和第二密钥对的AS2公共密钥之外没有别的信息时,第一密钥对AS1与第二密钥对的AS2相关,并且在计算上是可行的,即发现第一密钥对AS1是与AS2相关的AAD或者第一密钥对AS1至少是与AS2相关的AAN。
证明相关性能在不同情况下非常有用。例如,假设第一密钥对AS1是一个概率验证密钥对,而第二密钥对AS2是一个数字签字密钥对。在这种情况下,如果用户公开了他的或她的概率验证私人密钥资料,那么软件卖方可能会设置一个证书表明拥有相关的数字签名公共密钥资料。设置完数字签名的公共密钥证书之后,软件卖方可能会执行一些管理行动。AAD性还额外地给用户提供了鼓励,以避免用户因为害怕失去安全地计算数字签名的能力而公开所述概率性验证私人密钥。
作为一个例子,可以考虑Guillou-Quisquater(GQ)零知识验证协议和Rivest-Shamir-Adleman(RSA)方案。
下列步骤描述了该装置,通过这个装置我们可以证明一个GQ密钥对与带有AAD性的RSA密钥对相关。计算系统参数:a.构成代表输入的RSA密钥对,计算n和Φ。b.A定义一个满足gcd(υ,Φ)=1的公共幂υ≥3,其中Φ=(p-1)(q-1)以及gcd是最大分约式。c.A计算私人密钥幂s=υ-1(modΦ)d.系统参数(υ,n)可以作为公共密钥资料使用。用户参数:a.A使用一个已知的冗余函数f选择并公开一个已知的恒等式I和满足1<J<n的冗余恒等式J=f(I)。冗余函数f的一个例子是ISO/IEC 9796预处理阶段的冗余变换[6]。b.A保持作为私人密钥资料的SA=J-s(mod n)。该AAN密钥对是(私人密钥=SA)和(公共密钥=(υ,n))。A放弃没有公开的s。A使B了解I,f和J=f(Ⅰ)。B确认J=f(Ⅰ)。
GQ验证协议的这个版本的协议信息表示如下:
·A→B:I,x=rυ(mod n)    (1)
·B→A:e(其中1≤e≤υ)    (2)
·A→B:y=r.Se A(mod n)    (3)
通过t执行以下步骤的操作,A向B证明它的身份,在所述步骤中,仅当所有的t操作都成功时,B才能接受A的身份。a.A选择一个随机的秘密整数r(约定),1≤r≤n-1,并计算(证据)x=rυ(mod n)。b.A发送给B该整数对(I,x)c.B选择并发送给A一个随机整数e(问询),1≤e≤υd.A计算并传送给B(所述应答)y=r.se A(mod n)e.B接收y,使用f从I中构造J,计算z=Je.yυ(mod n)并当z=x和z≠0时,接受A的身份验证。
下列步骤将描述产生一个AAD密钥对的装置。
首先与在AAN密钥对中的情况相似,计算系统参数。但是,AAD私人密钥资料是s,公共密钥资料是(υ,n)。不计算用户参数。
下面给出协议信息
·A→B:x=rυ(mod n)
·B→A:e,J(其中1≤e≤υ)以及1<J<n
·A→B:y=r.Se A(mod n),其中SA=J-s(mod n)
A以与上述情况相同的方式向B证明它的身份。B使用一个如上所述的已知的冗余函数计算J。但是,在每个协议的执行之时,B在它对J的计算中使用不同的、随机选择的I值。
向B证明一个GQ密钥对与一个RSA密钥对相关的测试是一个在确定协议运行之后,在GQ密钥和RSA密钥的模运算之间进行的简单的同等测试。在给定GQ私人密钥后,B可以通过产生RSA私人密钥额外地测试AAD。然后B测试以决定B是否能产生通过RSA公共密钥确认的数字签名。
如果该QG私人密钥资料存储在智能卡上,由所述零知识特性,我们了解一个可能的特洛伊木马不能问询该智能卡并且获得有用的信息,该信息是为了发现GQ私人密钥资料而用于执行加密的目的。在这种AAD密钥对情况中,卖方知道用户将保护他的或她的私人密钥因为用户不希望公开相关的RSA密钥。在AAN密钥对的情况中,卖方希望用户不公开私人密钥因为这样一种公开证实了相关的RSA密钥对,该RSA密钥对排除了非对称的可能性。卖方希望仅有AAN GQ密钥对的唯一拷贝存放在智能卡上。
本文件列举了以下出版物:
[1]Choudhury等其它人,用于遍及计算机网络的电子出版物的版权保护,
[2]ISO/IEC 9594-1,“信息技术—开放系统之间联系-手册:概念,模型和服务综述”,标准化国际组织,日内瓦,瑞士,1995(相当于ITU-T Rec.X.509,1993)。
[3]A.Menezes等其它人,运用密码学的手册,CRC印刷,Inc.ISBN 0-8493-8523-7,S.405-424,1997
[4]P.Fenstermacher等其它人,在磁盘驱动器中由空气涡流引起的加密随机性,密码学的发展:Crypto'94,页数:114-120,Springer Verlag,1994
[5]R.Rivest,MD5信息摘要算法,RFC1321,1992年四月。
[6]ISO/IEC 9796,“信息技术-安全性技术-给出信息恢复的数字签名方案”,标准化国际组织,日内瓦,瑞士,1991(第一版)
[7]D.Knuth,计算和编程和技巧,第2卷,半数字算法,Addison-Wesley印5刷公司,读MA,第2版,1981,页数:38-73,ISBN0-201-03822-6

Claims (46)

1.一种计算机系统,包括用于保护软件的保护装置,该装置包括至少一个与所保护的软件项相关的问询装置,以及至少带有一种它可以访问的私人密钥资料的应答装置,其中:
a)该问询装置不能利用私人密钥资料,
b)所述应答装置包括用于通过使用一个概率验证方案与所述问询装置配合从而证明它可以利用私人密钥资料的装置,
c)问询装置包括一些装置,这些装置用于禁止用户使用一些或所有所述的软件项,除非该问询装置知道所述的概率验证是成功的。
2.一种计算机系统,包括用于输入受保护的程序的装置,以及用于在那个程序中插人至少一个所述的问询装置的装置,其中所述的问询装置包括用于以下目的的装置
--参加一个概率验证协议
--确认该问询装置拥有该私人密钥资料
--禁止用户使用一些或所有所述的程序,除非所述的确认成功。
3.根据权利要求1或2的一种计算机系统,其特征在于所述的概率验证方案是一个零知识验方案。
4.根据权利要求1或2的一种计算机系统,其特征在于所述的概率验证方案是一个证据隐藏验证方案。
5.根据权利要求1至4中任何一个的一种计算机系统
--其特征在于所述的问询装置包括用于发出一个随机问询的装置,并且
--其中所述的信息包括所述的随机问询。
6.根据权利要求5的一种计算机系统,其特征在于所述的用于发出一个随机问询的装置包括用于通过重复地对设备查询进行定时应答,以产生一个随机问询的装置。
7.根据权利要求6的一种计算机系统,其特征在于所述的用于产生一个随机问询的装置包括一些装置,这些装置用于通过利用操作系统中的调度程序的不可预测性,以这种方式分出新的线索,以便于将一个额外的随机性的程度引入所述随机问询中。
8.根据权利要求6的一种计算机系统,其特征在于所述的用于产生一个随机问询的装置包括用于执行一个统计测试,以决定通过所述每次磁盘访问而获得的随机位的数目的装置,以及用于导致重复进行磁盘访问直到获得一个预置的随机位数目的装置。
9.根据权利要求1至8中之一的一种计算机系统,其特征在于所述的问询装置插入所述的软件的受保护项中。
10.根据权利要求1至9中之一的一种计算机系统,其特征在于所述的问询装置使用第一公共密钥资料加密该信息。
11.根据权利要求1至10中之一的一种计算机系统,其特征在于该系统包括一个用于持有公共密钥资料的密钥文件。
12.根据权利要求11的一种计算机系统,其特征在于存在于所述密钥文件中的第一公共密钥资料被安全地加密的,因而,如不改变所述问询装置,则它在计算上不可能改变包括第一密钥资料的密钥文件的任何一部分。
13.根据权利要求12的一种计算机系统,其特征在于所述的密钥文件包括确认受保护的软件项所支持的用户的信息。
14.根据权利要求12的一种计算机系统,其特征在于所述的密钥文件包括假冒存在于其中的第一公共密钥资料的假目标位。
15.根据权利楗12的一种计算机系统,其特征在于所述的密钥文件包括与软件的被保护项的选择性触发服务相关的信息。
16.根据权利要求1至15中之一的一种计算机系统,包括若干个软件的受保护项,其中每个都有它自己的问询装置,和一个被所有的所述受保护项共享的单独的应答装置。
17.一种将软件分配给许多用户的方法,其特征在于每个用户有一个根据权利要求1的计算机系统,并且其中每个用户接收所述被保护程序和所述问询装置的相同的拷贝。
18.一种用于保护软件的一项的方法,其特征在于至少一种问询装置与所述受保护软件项相关,并且至少一种应答装置访问私人密钥资料,
a)该问询装置不能利用所述私人密钥资料,
a)该应答装置证明通过与使用概率验证方案的问询装置配合,来访问私人密钥资料,
b)该问询装置禁止用户使用一些或全部所述的软件项,除非问询装置了解所述的概率验证成功。
19.根据权利要求18的一种方法,其特征在于所述的概率验证方案是一个零知识验证方案。
20.根据权利要求18的一种计算机系统,其特征在于所述的概率验证方案是一个证据隐藏验证方案。
21.根据权利要求18至20中其中之一的一种方法。
--其特征在于所述的问询装置包括用于发出一个随机问询的装置,以及
--其中所述的信息包括所述随机问询。
22.根据权利要求21的一种方法,其特征在于该随机问询是通过重复地对磁盘访问进行定时应答所产生的。
23.根据权利要求22的一种方法,其特征在于该随机问询是以这种方法产生,即通过利用所述操作系统调度程序的不可预测性,以这种方法分叉出新的线索,以便于将额外的随机度引入所述的随机问询中。
24.根据权利要求22的一种方法,其特征在于所述的随机问询以这种方法产生,即执行一个统计测试,以便决定由每个磁盘访问所获得的随机位的数量,并且重复进行磁盘访问直到已获得预先设置的随机位数量。
25.根据权利要求18至24中之一的一种方法,其特征在于所述的问询装置被插入所述受保护的软件项中。
26.根据权利要求18至24中之一的一种方法,其特征在于所述问询装置使用所述第一公共密钥资料加密所述信息。
27.根据权利要求18至25中之一的一种方法,其特征在于所述第一公共密钥资料存在于一个密钥文件中。
28.根据权利要求27的一种方法,其特征在于存在于所述这密钥文件中的所述第一公共密钥资料被密码所保障,因而如果不改变所述问询装置,它在计算上就不可能改变包括第一密钥资料的密钥文件的任何一部分。
29.根据权利要求28的一种方法,其特征在于所述的密钥文件包括确认受保护的软件项所支持用户的信息。
30.根据权利要求28的一种方法,其特征在于所述的密钥文件包括伪装为存在于其中的所述第一公共密钥资料的假目标位。
31.根据权利要求28的一种方法,其特征在于所述的密钥文件包括与被保护的软件项的选择性触发服务相关的信息。
32.根据权利要求18至31其中之一的一种方法,包括若干个受保护的软件项,其中每个都有自己的问询装置、以及在所有所述的受保护项间共享的一个单独的应答装置。
33.根据权利要求18至32其中之一的一种方法,其中该问询装置或第3方可以确认在不了解一对相关非对称密钥对的模数分解情况下,构成用于应答装置中的所述私人密钥资料在计算上是不可行的。
34.根据权利要求33的一种方法,其中对所述私人密钥资料的公开提供了一种用于计算一个相关非对称密钥对的因式分解的有效的装置。
35.根据权利要求33的一种方法,其中对所述私人密钥资料的公开不能提供有效的信息以发现一个相关非对称密钥对的基本因数。
36.根据权利要求33的一种方法,其中对所述私人密钥资料的公开提供了有效的信息,以发现一个相关非对称密钥对的基本因子。
37.与权利要求1相关的一种计算机系统,其中拥有一些或全部所述私人密钥资料的存储系统通过一个协议相互配合,该协议不经历每次使用时其安全性降低之苦。
38.根据权利要求18至37中之一的一种方法,其中拥有一些或全部所述私人密钥资料的存储系统通过一个协议相互配合,该协议阻止选择明文攻击。
39.根据权利要求18至38中之一的一种方法,其中拥有一些或全部所述私人密钥资料的存储系统通过能阻止自适应选择明文攻击的协议而相互配合。
40.与权利要求1相关的一种计算机系统,其中,所述问询装置或第三方能确认,即在不了解一个相关非对称密钥对的模数分解的情况下构造出用于应答装置的所述私人密钥资料,这在计算上是不可行的。
41.根据权利要求1至16中之一的一种计算机系统,其中对所述私人密钥资料的公开提供了一种用于计算一个相关非对称密钥对的因式分解有效的装置。
42.根据权利要求41的一种计算机系统,其中对所述私人密钥资料的公开不能提供有效的信息来发现一对相关非对称密钥对的基本因数。
43.根据权利要求41的一种计算机系统,其中私人密钥资料的公开提供了有效的信息来发现一对相关非对称密钥对的基本因数。
44.根据权利要求41的一种计算机系统,其中拥有一些或全部所述私人密钥资料的所述存储系统通过一个不经历每次使用时其安全性降低之苦的协议。
45.根据权利要求1至16或41至44中之一的一种计算机系统,其中拥有一些或全部所述私人密钥资料的所述存储系统通过能阻止选择明文攻击的协议而相互配合。
46.根据权利要求1至16或41至45中之一的一种计算机系统,其中拥有一些或全部私人密钥资料的所述存储系统通过阻止自适应选择明文攻击的协议而相互配合。
CNB981029183A 1997-05-28 1998-05-27 保护软件的计算机系统和一种保护软件的方法 Expired - Fee Related CN1165847C (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
EP97710011.4 1997-05-28
EP97710011A EP0881557B1 (en) 1997-05-28 1997-05-28 Computer system for protecting software and a method for protecting software

Publications (2)

Publication Number Publication Date
CN1204088A true CN1204088A (zh) 1999-01-06
CN1165847C CN1165847C (zh) 2004-09-08

Family

ID=8230128

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB981029183A Expired - Fee Related CN1165847C (zh) 1997-05-28 1998-05-27 保护软件的计算机系统和一种保护软件的方法

Country Status (4)

Country Link
US (1) US6678665B1 (zh)
EP (1) EP0881557B1 (zh)
CN (1) CN1165847C (zh)
DE (1) DE69720971T2 (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100350437C (zh) * 2002-08-21 2007-11-21 汤姆森许可贸易公司 安全电子防盗设备、包括这种设备的防盗系统和匹配电设备的方法
CN1723654B (zh) * 2002-12-10 2010-10-06 Nxp股份有限公司 零知识协议的有效执行
CN1973306B (zh) * 2004-06-25 2010-10-06 皇家飞利浦电子股份有限公司 可更新的个人生物测定学
CN1806411B (zh) * 2003-04-11 2013-05-01 英特尔公司 交互式零知识证明协议

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6170014B1 (en) * 1998-03-25 2001-01-02 Community Learning And Information Network Computer architecture for managing courseware in a shared use operating environment
IT1317991B1 (it) * 2000-06-23 2003-07-21 Ipm Ind Politecnica Meridiona Dispositivo lettore di smart card con interfaccia usb per collegamento a personal computer e simili
US7203966B2 (en) * 2001-06-27 2007-04-10 Microsoft Corporation Enforcement architecture and method for digital rights management system for roaming a license to a plurality of user devices
KR100445574B1 (ko) * 2001-12-19 2004-08-25 한국전자통신연구원 대화형 영 지식 증명을 이용한 패스워드 기반의 인증 및키 교환 프로토콜 설계 방법
US7315946B1 (en) 2003-04-14 2008-01-01 Aol Llc Out-of-band tokens for rights access
US7373658B1 (en) 2002-10-25 2008-05-13 Aol Llc Electronic loose-leaf remote control for enabling access to content from a media player
US7647277B1 (en) 2002-10-25 2010-01-12 Time Warner Inc. Regulating access to content using a multitiered rule base
US7296294B2 (en) * 2003-03-03 2007-11-13 Microsoft Corporation System for binding secrets to a computer system having tolerance for hardware changes
US7716474B2 (en) * 2003-05-12 2010-05-11 Byteblaze, Inc. Anti-piracy software protection system and method
EP2141883A1 (en) * 2008-07-04 2010-01-06 Alcatel, Lucent A method in a peer for authenticating the peer to an authenticator, corresponding device, and computer program product therefore
US9979794B2 (en) * 2015-09-17 2018-05-22 Ericsson Ab Entropy sharing in a large distributed system based on entropy verification by an entropy broker

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5109413A (en) * 1986-11-05 1992-04-28 International Business Machines Corporation Manipulating rights-to-execute in connection with a software copy protection mechanism
AU1397088A (en) * 1987-01-30 1988-08-24 Software Activation, Inc. Apparatus and method for regulating the use of proprietary computer software
US5140634A (en) * 1987-09-07 1992-08-18 U.S Philips Corporation Method and apparatus for authenticating accreditations and for authenticating and signing messages
US4932056A (en) * 1989-03-16 1990-06-05 Yeda Research And Development Company Limited Method and apparatus for user identification based on permuted kernels
US5351293A (en) * 1993-02-01 1994-09-27 Wave Systems Corp. System method and apparatus for authenticating an encrypted signal
US5432851A (en) * 1993-10-21 1995-07-11 Tecsec Incorporated Personal computer access control system
US6011848A (en) * 1994-03-07 2000-01-04 Nippon Telegraph And Telephone Corporation Method and system for message delivery utilizing zero knowledge interactive proof protocol
US5724425A (en) * 1994-06-10 1998-03-03 Sun Microsystems, Inc. Method and apparatus for enhancing software security and distributing software
US5557765A (en) * 1994-08-11 1996-09-17 Trusted Information Systems, Inc. System and method for data recovery
US5598473A (en) * 1994-08-17 1997-01-28 Ibm Corporation Digital signature generator/verifier/recorder (DS-GVR) for analog transmissions
US5606617A (en) * 1994-10-14 1997-02-25 Brands; Stefanus A. Secret-key certificates
US5774525A (en) * 1995-01-23 1998-06-30 International Business Machines Corporation Method and apparatus utilizing dynamic questioning to provide secure access control
US5872917A (en) * 1995-06-07 1999-02-16 America Online, Inc. Authentication using random challenges
JP3541522B2 (ja) * 1995-10-09 2004-07-14 松下電器産業株式会社 機器間通信保護システムおよび機器
DE19542910B4 (de) * 1995-11-17 2005-01-05 Deutsche Telekom Ag Verfahren und Vorrichtung zum Schutz gespeicherter Daten
US5841869A (en) * 1996-08-23 1998-11-24 Cheyenne Property Trust Method and apparatus for trusted processing
US6005935A (en) * 1996-11-20 1999-12-21 At&T Corp. Method and system of using personal information as a key when distributing information
EP1010049B1 (en) * 1997-05-13 2006-05-03 Passlogix, Inc. Generalized user identification and authentication system
DE69724235T2 (de) * 1997-05-28 2004-02-26 Siemens Ag Computersystem und Verfahren zum Schutz von Software

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100350437C (zh) * 2002-08-21 2007-11-21 汤姆森许可贸易公司 安全电子防盗设备、包括这种设备的防盗系统和匹配电设备的方法
CN1723654B (zh) * 2002-12-10 2010-10-06 Nxp股份有限公司 零知识协议的有效执行
CN1806411B (zh) * 2003-04-11 2013-05-01 英特尔公司 交互式零知识证明协议
CN1973306B (zh) * 2004-06-25 2010-10-06 皇家飞利浦电子股份有限公司 可更新的个人生物测定学

Also Published As

Publication number Publication date
EP0881557A1 (en) 1998-12-02
DE69720971T2 (de) 2003-10-30
DE69720971D1 (de) 2003-05-22
CN1165847C (zh) 2004-09-08
US6678665B1 (en) 2004-01-13
EP0881557B1 (en) 2003-04-16

Similar Documents

Publication Publication Date Title
CN1165849C (zh) 保护软件的计算机系统及一种保护软件的方法
CN1165847C (zh) 保护软件的计算机系统和一种保护软件的方法
CN1130627C (zh) 一种以Java虚拟机实现的信息处理设备
US5935246A (en) Electronic copy protection mechanism using challenge and response to prevent unauthorized execution of software
CN1122213C (zh) 给对象签名和签章的方法和设备
CN100335985C (zh) 将虚拟令牌连接到物理令牌
CN1934564A (zh) 使用证书撤销列表进行数字权限管理的方法和设备
CN1914603A (zh) 访问认证方法、访问认证程序、信息处理单元以及记录介质
US20110276490A1 (en) Security service level agreements with publicly verifiable proofs of compliance
CN1708942A (zh) 设备特定安全性数据的安全实现及利用
CN1873652A (zh) 保护数字内容的装置和方法,处理受保护的数字内容的装置和方法
CN1729647A (zh) 生成和/或使用附条件电子签名以报告状态变化的方法、装置以及计算机程序
CN105027130A (zh) 延迟数据访问
CN103078858A (zh) 基于web服务和签名证书的软件授权试用方法
CN1299545A (zh) 使用虚拟专用密钥的用户鉴别
CN1669265A (zh) 在计算机系统中使用的隐藏的链接动态密钥管理器
CN1678967A (zh) 多令牌密封和解封
CN1961311A (zh) 在装置和便携式存储器之间传输权限对象信息的方法和设备
CN1502186A (zh) 在计算机网络中有控制地分发应用程序代码和内容数据
CN1382332A (zh) 数据保护方法
CN1165848C (zh) 用于保护软件的计算机系统和保护软件的方法
CN1280336A (zh) 信息处理设备和方法以及发行媒体
CN101042721A (zh) 使用临时许可临时访问内容的方法和设备
Canard et al. Trapdoor sanitizable signatures and their application to content protection
JP2008021021A (ja) ソフトウエアのライセンス認証方法

Legal Events

Date Code Title Description
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C06 Publication
PB01 Publication
C14 Grant of patent or utility model
GR01 Patent grant
C17 Cessation of patent right
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20040908

Termination date: 20140527