CN1255209A - 对唯一定制的、合法的和可跟踪的软件应用进行网上安装的方法和系统 - Google Patents
对唯一定制的、合法的和可跟踪的软件应用进行网上安装的方法和系统 Download PDFInfo
- Publication number
- CN1255209A CN1255209A CN98804864A CN98804864A CN1255209A CN 1255209 A CN1255209 A CN 1255209A CN 98804864 A CN98804864 A CN 98804864A CN 98804864 A CN98804864 A CN 98804864A CN 1255209 A CN1255209 A CN 1255209A
- Authority
- CN
- China
- Prior art keywords
- software application
- discernible
- computing machine
- verify
- installation
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 73
- 238000009434 installation Methods 0.000 title claims abstract description 65
- 238000009826 distribution Methods 0.000 claims abstract description 144
- 238000004422 calculation algorithm Methods 0.000 claims description 24
- 230000006870 function Effects 0.000 claims description 22
- 230000008569 process Effects 0.000 claims description 12
- 101100030432 Mus musculus Ppef1 gene Proteins 0.000 claims description 10
- 241001522296 Erithacus rubecula Species 0.000 claims 1
- 238000012545 processing Methods 0.000 description 17
- 230000004048 modification Effects 0.000 description 13
- 238000012986 modification Methods 0.000 description 13
- 238000010586 diagram Methods 0.000 description 12
- 230000008859 change Effects 0.000 description 10
- 239000003795 chemical substances by application Substances 0.000 description 8
- 230000003993 interaction Effects 0.000 description 6
- 230000003068 static effect Effects 0.000 description 6
- 239000000284 extract Substances 0.000 description 5
- 230000008901 benefit Effects 0.000 description 4
- 238000004590 computer program Methods 0.000 description 4
- 241000700605 Viruses Species 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 230000008676 import Effects 0.000 description 3
- 238000007689 inspection Methods 0.000 description 3
- 230000007246 mechanism Effects 0.000 description 3
- 230000007704 transition Effects 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 2
- 238000006243 chemical reaction Methods 0.000 description 2
- 230000006835 compression Effects 0.000 description 2
- 238000007906 compression Methods 0.000 description 2
- 238000012856 packing Methods 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 238000003860 storage Methods 0.000 description 2
- TZBJAXGYGSIUHQ-XUXIUFHCSA-N Asp-Leu-Leu-Ser Chemical compound OC(=O)C[C@H](N)C(=O)N[C@@H](CC(C)C)C(=O)N[C@@H](CC(C)C)C(=O)N[C@@H](CO)C(O)=O TZBJAXGYGSIUHQ-XUXIUFHCSA-N 0.000 description 1
- 241001269238 Data Species 0.000 description 1
- 230000009471 action Effects 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 230000000712 assembly Effects 0.000 description 1
- 238000000429 assembly Methods 0.000 description 1
- 230000015572 biosynthetic process Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000012937 correction Methods 0.000 description 1
- 238000013480 data collection Methods 0.000 description 1
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 238000009795 derivation Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000005755 formation reaction Methods 0.000 description 1
- 238000003780 insertion Methods 0.000 description 1
- 230000037431 insertion Effects 0.000 description 1
- 238000011031 large-scale manufacturing process Methods 0.000 description 1
- 230000002045 lasting effect Effects 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 230000006855 networking Effects 0.000 description 1
- 238000002360 preparation method Methods 0.000 description 1
- 239000000243 solution Substances 0.000 description 1
- 239000004575 stone Substances 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
- 239000012224 working solution Substances 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/61—Installation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/10—Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
- G06F21/16—Program or content traceability, e.g. by watermarking
Abstract
一种用于在安装计算机上创建、分发和销售对某特定用户是可验证的和可跟踪的唯一定制的软件应用实例的方法。驻留在分发计算机上的安全分发代理收集识别信息,并计算软件应用及识别信息的密码签字。通过安全分发代理把识别信息和密码签字嵌入到该软件应用中。驻留在安装计算机上的用户安装代理管理在安装计算机上对带有嵌入数据的软件应用的安装。在安装之前,用户安装代理可利用密码签字验证软件应用以及识别信息是可信的和未被窜改的。
Description
本发明涉及一种方法和系统,其通过网络向用户进行对各用户为唯一定制的、合法的和跟踪的软件应用的电子销售和安装。
随着诸如因特网的网上计算机环境日益增长的重要性和可靠性,作为向用户销售软件应用的一种手段的电子软件销售(ESD)呈现出日益增加的重要性。当前存在的联机设施在不必物理地交付压缩包装的软件下允许用户定购并安装软件应用。典型地,软件发行商会准备用于电子销售的软件应用的主版。接着用户联机提出购买该软件应用的定单,出版商接收及履行定单。然后用户下载软件应用并安装到其自己的计算机上。
现行联机设施中的缺点是,向用户交付的软件应用在形式上和从分销商及产品目录中得到的软件应用完全一样。缺乏加密保护,用户可以自由地互相共享软件的销售版本。
即使存在加密保护,由于所有的用户拥有完全相同的软件应用拷贝(必然具有相同的加密方式),非法复制的可能相当大。在所有有单个基本解密钥的情况中,其中大多由用户插入该解密钥(或其等同物),从而该用户可和其它利用该钥得到对该程序的未经许多使用的用户共享软件应用。当今存在着专用于共享这些解密钥的公告牌和因特网网点,这些地方由那些通过申请他们各自得到的应用程序的解密钥而想得到对程序的不付费使用的人群的访问。
此外,尽管在软件应用中设置了更加错综的反盗版方法,但软件“黑客”生成“破译的”程序屡见不鲜,利用这样的程序处理免费分发的、功能有限的程序版本可以生成出不必购买使用权的该程序的全功能修改版本。对于简单地应用“揭密的”通用解密密钥的高手,即使采用最精巧的大量分发不同的单密钥形式(对于动态地试图导出密钥该形式可涉及一次性响应)也是无济于事的。尽管这种“揭密”比起上述共享密钥涉及到更多的技术复杂性,但是在分发渠道上和对产品收入的可能影响上是非常相似的。
此外,通过常规ESD技术销售的软件应用不提供任何保护它们各自的完整性以防止未经许可的窜改的手段。
Portland软件公司生产一种以ZipLockTM商标出售的电子软件销售系统,该系统封装用于在因特网上进行电子销售的软件。ZipLockTM系统公开一种从安全服务器向驻留在用户的计算机上的客户销售通过密码键得到保护的标准可执行软件应用的系统。用户输入的数据被传送到安全服务器并被用于构建一个按独立的计算机文件发送给用户的定制数字许可证。ZipLockTM系统既没有提供检测对可执行软件应用本身进行窜改的机制,而且也不能跟踪该软件应用的未经许可的再销售中是否包括数字许可证。
现有技术公开了一些用于防止向用户电子销售的软件被非法使用的其它系统和方法。在Choudhury的美国5,509,074号专利中,公开一种利用密码协议保护电子发行材料的方法。所说明的第一实施例需要专用硬件,以便对发送到用户的文档解密。这限制了该方法在大众所使用的个人计算机上的广泛应用。在第二种方法中,不需要专用硬件。在该方法中,发表者修改文档的行间间隔或字间间隔以使每份文档对于每个用户是唯一的。然后加密唯一文档并传送到用户的计算机上。一旦接收到加密文档,用户的计算机会提示用户输入其保密密钥,该密钥用于解密文档以供观阅。该篇文献公开的方法不能防止盗版,它只是通过可用盗版文档跟踪出用户阻碍盗版行为。此外,该文献只适合数据文件,不能保护任何类型的可执行文件。
在Cane的美国5,416,840号专利中,公开一种用于在广播媒体,例如射频公用广播或计算机网络上保护计算机程序销售的方法和系统。在这篇文献中,该方法涉及至少加密一部分计算机程序,对用户提供一个用于解密该计算机程序的口令从而可安装并使用该计算机程序。生成并且向用户传送一个唯一口令,以供随后用于解密媒体上所容纳的选定软件程序。尽管其公开一种生成、发送并使用不能由软件应用的不同用户共享的唯一口令的方法和系统,该文献要求用户拥有专有硬件,这限制了利用大众所拥有的个人计算机的广泛应用。
在Yuval的美国专利5,586,186号中,公开一种用于控制对销售给用户的软件的非法访问的方法和系统。该系统的主要构件是一个加密机、一个用户密钥发生器和一个解密机。加密机生成加密密钥和解密密钥、用加密密钥加密软件并且把软件的加密形式存储到诸如CDROM的广播介质上。用户密钥发生器利用用户提供的识别信息的数字表达以及解密密钥生成唯一密钥。解密机负责利用用户提供的识别信息及唯一用户密钥解密软件的加密形式。该文献公开的解密方法允许把大量不同的但逻辑上相似的密钥用作为解密密钥,其中的每个解密密钥对于某特定用户是唯一的。然而,该篇文献未公开用于利用用户规定的数据定制软件应用从而可鉴别软件应用本身的手段。此外,该文献不能防止通过共享密钥的盗版行为,它只通过可跟踪密钥阻碍盗版。
本发明与一种从分发计算机向安装计算机电子销售软件应用的方法有关,该方法包括步骤:在所述分发计算机接收识别信息,在所述分发计算机把所述识别信息嵌入到所述软件应用中以形成可识别的软件应用,为所述可识别的软件应用生成密码签字,把所述密码签字嵌入到所述可识别软件应用中以形成可识别的和可验证的软件应用,以及从所述分发计算机把所述可识别的和可验证的软件应用传送到所述安装计算机。
本发明的方法和系统公开一种联机下的软件定制化、发送及安装方式。不再是在安装计算机上安装完全同类的不可跟踪的可执行文件下向用户销售软件应用,本文所公开的方法和系统公开一种建立、分发和在安装计算机上安装对特定用户可验证的和可跟踪的软件应用的唯一定制件的手段。
本文中公开的方法和系统为驻留在安装计算机上的用户安装代理(UIA)提供通过分发通道和驻留在销售计算机上的安全销售代理(SDA)建立连接。UIA和/或SDA提示用户输入识别信息,该识别信息和诸如许可条款的有关商业信息一起用于建立由SDA嵌入到所需软件应用中的唯一数据集。通过利用密码散列算法以及专用/公用密钥密码术(其中专用密钥只由SDA知道),计算出所需软件应用及嵌入数据集的密码签字,并且把密码签字嵌入到软件应用中。通过分发通道把带有嵌入数据以及密码签字的软件应用发送到并且安装到安装计算机上。任选地,安装计算机可利用密码签字核实软件应用以及嵌入数据都未被窜改。可和软件应用一起或通过其它手段如电子函件、因特网公告牌等向安装计算机发送用于解密密码签字的公用密钥(组)。在安装后,以各种方式使用嵌入数据和密码签字,例如,提供一种跟踪软件应用的用户的手段,管理软件应用的持续整体性,确保持续保持许可状态,进行病毒检查,或者自动地对软件应用本身进行升级。
图1是系统概述的框图,以示出本发明的系统和方法的各个输入和构件;
图2是本发明所采用的安全分发代理的结构及运行数据流图;
图3A是一个框图,表示利用单步密码处理的集合分发文件的结构细节;
图3B是一个框图,表示利用双步密码处理的集合分发文件的结构细节;
图3C是一个框图,表示利用图3B中示出的双步密码处理的一种变型的密码处理的集合分发文件的结构细节;
图4是本发明采用的用户安装代理的结构和运行的框图;
图5是一个框图,表示从已安装的分发文件提取并验证嵌入数据的手段;
图6是本发明的第一实施例的流程图,该实施例通过公用加密密钥验证嵌入数据;
图7是本发明的第二实施例的流程图,该实施例通过每一用户的唯一密码密钥验证嵌入数据;以及,
图8是一个框图,表示通过本发明发送给用户的安装后的软件应用的各种使用。
图1表示本发明的系统和方法的各种输入和构件。顶层代表电子软件销售(ESD)后端构件10,其包括软件交换站、软件制造商、发行商、信用卡服务商等,它们都和驻留在分发计算机上的安全分发代理(SDA)100交换,分发计算机构成本发明的基本部分。通过因特网或专用计算机网络,SDA100和各ESD后端构件10接口以提供支付方法支持、从发行商装入软件应用等等。在不影响本发明的方法和系统下,可以改变ESD后端构件10的确切特征。
SDA100是由安全环境下运行的协同软件程序系统构成的。只要其确保用户数据的秘密、确保对用户和其它可能的第三方的验证并在运行上恰当限制外部访问,安全环境的特性对于本发明是不重要的。在物理上该环境可以和或不和安装计算机分离。在图2中更详细地说明SDA100的结构和运行。
SDA100的输入之一是所支持的软件应用、许可条款、许可用户等的数据库组20。在运行本发明之前以及之中,SDA100对/从数据库组20发送和接收有关数据。数据库组20的确切特征和内容不是本发明的本质特性。
图1中示出的分发通道300可由诸如因特网或专用网络的计算机网络构成,或者若SDA100非常靠近用户安装代理(UIA)200时由为保持安全所需的一个安全层构成。备择地,它可包括这些组件的某种组合。分发通道300用于连接UIA200和SDA100(从而连接分发计算机和安装计算机),以便在这二个代理之间交换信息,并且以便把集合分发文件170(图2中示出)从SDA100分发到UIA200上。尽管在SDA100和UIA200之间示出分发通道300,本发明的系统并不要求SDA100物理上远离UIA200。
用户端处是UIA200,UIA200是驻留在安装计算机上的一个安装/自动升级软件程序。该程序用于通过分发通道300和SDA100通信,并用于在安装计算机上执行后面更详细说明的所需操作。尽管通常每个所支持的软件应用需要一个UIA200,业内人士熟知开发一个可支持多个软件应用的UIA200。图1中还示出UIA200的分发形式30,其包括着各个支持文件。对于本发明的运行,UIA200的分发形式30的特征是不重要的。可采用CD ROM、万维网(WWW)下载、软盘等中的任一种。
UIA200接收用户输入的数据32,诸如名字、地址、支付选择等以及和接收最终用户许可证有关的数据。也可向UIA200输入供处理的环境敏感数据34,诸如CPU的速度、硬盘的尺寸、调制解调器的速度等等。UIA200处理的识别信息可包括任何有关买主、销售商、安装代理、日期、序列号、许可证说明等信息。这些数据可用于自动地登记所需的软件应用及买主或其商业代理。
如上面所述,识别数据32、34构成和用户、其计算机等有关的识别信息。UIA200处理识别数据32、34并通过分发通道传送到SDA100。当然应理解,不必一定要通过分发通道300把识别信息发送到SDA100。例如,可在本地通过口头、书面或其它非电子方式把识别信息输入到SDA100中。SDA100把识别信息32、34和数据库组20中存储的数据组合起来以产生对于用户是唯一定制的、可验证的和可跟踪的集合分发文件170。通过分发通道300把集合分发文件170发送到UIA200。从UIA200的输出是唯一定制软件应用15(以下称为“被安装的集合分发文件”),其安装在安装计算机上并带有嵌入在其中的识别信息。
虽然本发明的说明暗指“用户”是安装在个人计算机上的软件应用15的个体用户,业内人士可理解本发明也可运行在联网最终用户环境下,其中“用户”是负责把软件安装在中央服务器上以供若干最终用户使用的网络管理员。
图2是本发明所采用的SDA100的结构和运行的数据流图。原始分发文件130示成是转换程序110的一个输入。在想象的实施中,通过图1中示出的数据库组20把原始分发文件130输入到SDA100。应理解,不必必须通过数据库组20把原始分发文件130输入到SDA100,因为原始分发文件130可能已经驻留在包含着SDA100的分发计算机上。转换程序110具有作为另一输入的要嵌入到分发文件130中的数据140,并具有所需的公用/专用密码密钥对150。嵌入数据140是由用户交互程序120生成的,用户交互程序120通过UIA200和用户交互以便接收识别数据32、34(图1中示出)以及来自数据库组20支持软件应用、许可条款、许可用户的数据。
尽管嵌入数据140可以为任何形式和任何内容,预计嵌入数据140将包括可把软件应用15跟踪到单个用户以及许可证执行的信息。例如,嵌入数据140可包括一个唯一序列号,其用于识别分发到用户的集合分发文件170。这可消除掉软件业中常见的序列号欺诈,其中现有的软件应用只能进行简单的有效性检查,而这种检查可由广泛的单个有效序列号的蒙混多次使用所欺骗。嵌入数据140可采取为每个用户定制的完整许可证协议的形式,其中包括用户姓名、地址、软件序列号、许可条款等等。可以由数据库组20保存用户交互程序120收集的用户信息记录。
转换程序110的输出是集合分发文件170,后者既包含原始分发文件130、嵌入数据140的内容,还包含嵌入数据140和原始分发文件130的密码签字。然后,通过分发通道300把集合分发文件170发送到UIA200。UIA200接着把集合分发文件170安装到安装计算机上。一旦安装了集合分发文件170,它采取已安装集合分发文件15的形式。
通过其和UIA200的连接,SDA100可和用户协商任意的许可证条款、显示最终用户许可证协议(EULA)、确认对该协议的接受、并且根据已经建立的用户身份以及具体的许可证条款自动地执行软件的联机登记。对于商业和法律上的考虑,例如,SDA100可对不同国家的用户提出不同的报价条款及许可证条款,以及可能提供不同的可执行版本。此外,可根据安装计算机的属性如CPU能力提供不同的报价。
在确定用户提出的地址和信用卡号是有效的、相容的以及位于给定几何区域内的功能上不要求SDA100是智能的。这些功能可由图1中示出的高层ESD构件10实现。
图3A更详细地示出构建集合分发文件170的过程。出于说明的目的,假定原始分发文件130的结构包括标题信息以及用于代码、静态数据等的不同类型的内部区段,诸如WindowsTM的‘PortableExecutable’(PE)程序文件。一般的业内人士可理解,本发明的方法和系统可应用若干不同的文件格式。类似地,对转换程序110的输入140、151以及转换程序110的输出170示成是计算机文件,但它们可以是存储器内图象、来自其它处理机的流等等。
下面说明由SDA100进行的构建集合分发文件170的典型步骤顺序。
1.作为用户交互程序120判定需要转换的结果(即,批准发送依据本发明的方法的某特定集合分发文件170,并且已经构建了所需的嵌入数据块140),运行转换程序110。除非作出其它指示转换程序110执行所有的后续步骤。
其目的是得到通常所称的“数字签字”或“密码签字”,其本质上具有二个方面:
(i)通过利用密码散列算法,生成和数据″ed″130、140唯一对应的密码指纹;以及
(ii)通过用一个专用密钥加密保护密码指纹,从而通过利用公用密钥和密码算法对密码指纹的接收人可确认数据″ed″130、140未受到损害,并且其中不需要具有生成新的密钥指纹的能力,而且也不会似是而非地改变数据。
对于达到本发明的优点这二个步骤是必不可少的,因为没有这二个步骤第三方可以在接收人不能察觉的情况下干预或改变数据。该过程不同于简单地加密数据130、140,这样的方法对于本发明的运行是不够的,因为其不存在似是而非地改变数据130、140是可被察觉的方法。
2.转换程序的输入/输出逻辑电路111读入所需的原始分发文件130、其对应的密码专用密钥151以及要嵌入的数据140。尽管转换程序110不要求,可传入一个公用密钥152以便把它添加到集合分发文件130中。利用密码散列算法112和公用-专用密钥(PPK)加密算法113,生成密码签字174。该处理的基本步骤是:
2.1向数据″ed″130、140施以单向散列函数″hf″以生成密码签字″edh″,即edh=hf(ed)。对该密码指纹的要求如下:(i)其产生一个合理的压缩结果,即长度(edh)<<长度(ed),并且最好为定长结果,(ii)指纹本身不能回过来用于确定原始数据块,即,不存在反散列函数″bhf″从而bhf(edh)=ed;(iii)其对″ed″中的改变特别敏感;即,″ed″中的单个位的改变会改变″edh″中约50%的位,以及(iv)构造出一个假的嵌入数据块″fed″其会生成和″ed″一样的指纹,即hf(ed)=hf(fed),极为困难。存在着若干满足这些要求的算法,例如MD5(报文摘要5)和SHA(安全散列算法)。本发明也可采用其它也能满足上述准则的算法。
2.2利用专用密钥151″prk″和公用/专用加密函数″ppef″加密密码指纹″edh″以生成密码签字″edf″174,即:edf=ppef(prk,edh)。对加密函数″ppef″的要求如下:(i)其产生的结果不明显大于其输入;(ii)其有效地保护相对短的数据组,因为″edh″为若干字节长而不是数千字节长;(iii)计算上不可能利用公用密钥151(″puk″)和密码签字″edf″174或利用″edf″174的多个实例(可在安装计算机上看到它们)推导出专用密钥″prk″,即,不存在使puk=cf(edf,puk)的破译函数″cf″;(iv)在实际上不拥有″ppef″和″prk″二者下不存在可想出的利用″prk″复制″ppef″的行为的手段。原则上,可从其对应的解密函数推导出″ppef″,从而在实际范围内″prk″是重要的秘密;(v)其对应的公用密钥解密函数″ppdf″在典型安装计算机上对于有关的文件长度具有可接受的性能。请注意,若出于安全原因选择不能产生可接受性能的特定ppef/ppdf,可以只对选定文件的一部分进行加密并且仍可提供相同的好处;(vi)其对该领域,即数字签字,是适用的(最好,通过常规密码分析)。存在若干满足这些要求的算法,例如RSA和Rabin与ElGamal的算法。仔细地选择实施参数可帮助得到所需的安全性和性能。
3.把来自步骤2.1的密码签字174以及要嵌入的数据140插入到原始分发文件130中以生成集合分发文件170。这种插入不是简单地把各个位拷贝到文件的中间,因为它必须顺从特定文件类型的格式要求。例如,必须更新标题以识别新数据等等。
本发明的系统和方法不要求嵌入数据171或密码签字174以任何特定方式定位在集合分发文件170中。所需要的是:(i)安装计算机上的软件,尤其中UIA200,能定位嵌入数据171和密码签字174,以及(ii)在安装到安装计算机上之后,集合分发文件170能够执行其预定的功能;例如,若它是一个可执行文件,它仍旧符合结构要求以及其它平台要求,从而它可象转换处理之前那样装入到安装计算机上并在其上运行。例如,若文件是以含有英特微处理器的现行计算机的通用格式并且是在微软的视窗操作系统下运行,转换程序110应检查原始分发文件130的″标题″区段以判定是否存在包含静态数据的区段以便避免含有可执行代码的区段。应选出静态数据区段,并且应找出或建立用户嵌入数据块171和密码签字174的适当位置。例如,这可如此进行:(i)确定现有静态数据块具有未使用的足以增添这些数据的容量,(ii)分配新的静态数据块,或者(iii)扩展现有静态数据块。
图3A中示出的方法公开一种单步处理,其中为原始分发文件130和嵌入数据140确定密码签字174。如图3B中示出的一种供选用方法采用二步处理,其中利用上面步骤2中说明的同样算法首先生成嵌入数据171的密码签字172。接着再把该嵌入数据密码签字172嵌入到原始分发文件130中。然后把原始分发文件130、嵌入数据171以及嵌入数据密码签字172输入到第二密码步骤,在该步骤中采用上面步骤2中说明的同样算法确定总体密码签字176。双步处理的好处是它增加了本发明的系统和方法验证和检测对安装计算机上安装的软件应用的窜改的能力。例如,可为二个密码签字172、176提供独立的密码公用/专用密钥对。此外,即使原始文件内容173a、173b被破坏,双步处理仍能提取和验证嵌入数据171。
利用双步密码处理的一种变型的另一种构建集合分发文件170的替代办法是,首先只用原始文件内容173a、173b得到第一密码签字175,并且用嵌入数据171得到第二密码签字172。这在图3C中示出。该方法具有图3B中示出的双步处理的所有优点,并且还允许独立验证嵌入数据171以及原始文件内容173a、173b。这允许用户确认发行商提供的原始分发文件130未被本发明所公开的联机安装处理所改变。
一般的业内人士会理解,不必利用相同的密码公用/专用密钥对或者甚至不必利用相同的密钥算法产生图3A、3B和3C中示出的任何密码签字172、174、175、176。此外,不必在每次向用户分发集合分发文件170时计算密码签字172、174、175、176。SDA100可保持一个部分预计算签字数据库以加快有关计算。可以使用能在安装计算机处得到的密码硬件支持如RSA协处理器以得到最大安全性下的良好响应性。此外,不必由SDA100整体地构建集合分发文件170。必须的只是可由UIA200整体地发送集合分发文件170。
图4示出UIA200的结构和运行,UIA200包括过渡安装索引204、过渡安装输入文件集205以及UIA固有可执行软件程序203。业内人士可理解,存在许多实施UIA程序203的方法。由于UIA200的功能性的重要部分涉及用户交互以及和SDA100的对话,实施UIA200的选择余地包括使它成为万维网(WWW)浏览器的附属物,或者把它实现成一个独立程序,该独立程序嵌入或调用安装计算机上已有的浏览器能力。
下面说明UIA200的典型执行顺序:
1.在把UIA程序203以及其支持数据204、205复制到安装计算机上后,用户运行UIA程序203。请注意也可远程地安装UIA程序203,例如由WWW服务器发送成浏览器框架内的现用程序。除非另外提出,所有后续步骤由UIA程序203执行。
2.安装计算机读出安装索引204和安装输入文件集205以确定和安装所需软件应用(称为″被安装的集合分发文件″)15相对应的特定缺省SDA100。
3.检查安装计算机以确定用于建立与SDA100通信的适当装置,例如,TCP/IP网络接口、调制解调器等的存在。若不能找到这样的装置,程序供选地帮助用户查找适当工作的参数,然后发出警告下停下。这是由于对SDA100的访问对于本发明的运行是必不可少的。
4.用来自上述步骤(2)和(3)的缺省数据提示用户1,即告诉UIA程序203在何处查找所需的SDA100以及在哪种类型的分发通道300上。然后给用户1改变该信息的机会,或出于商业原因(例如,可能某SDA已改变名字或位置),或出于技术原因(例如,用户不具有正在工作的TCP/IP连接并希望使用直接调制解调器链接,可能通过800免费电话号码。)
5.通过分发通道300,UIA程序203建立和SDA100的接触。若不能实现,UIA程序在供选地帮助用户确定适当工作的参数后发出警告并停下。尽管对于本发明的运行分发通道300的安全性是任选的,但预计分发通道300可支持适当的保护SDA100不被欺诈的协议。支持授权和隐私的常用协议,例如安全套接层(SSL)是恰当可用的。
6.UIA程序203充当用户和SDA100之间的中介,使用户确定SDA100对于所需被安装集合分发文件15能支持的法律协议。UIA程序还具有判定安装计算机的可使用系统资源是否满足所需被安装集合分发文件15的要求的能力。
对于向用户显示的内容,用户可能提出的问题以及安装计算机可能收集的数据等上的各种选择,不存在技术上的限制。由于SDA100运行成历经数据采集、数据嵌入、软件分发及软件安装处理,本发明的系统和方法可在甚至不向用户通知密码密钥或任何他们可推演的信息下采用各种级别的密码。这和其它电子发送系统不同,它们典型地需要相继地脱机输入、秘密密钥、或者衍生得到,从而明显地泄漏给用户。当然,密码签字的验证中使用的公用密钥是个例外,用户可方便地确定公用密钥,但由于不能欺诈性应用它们,它不是一个安全问题。
7.假定用户1满足SDA100提出的所有准则,SDA100将确定必须发送给UIA200的具体文件集以完成安装计算机上的安装,尤其是至少包括一个集合分发文件170(图3A-3C中示出)。对于本发明的系统和方法,用户1和SDA100之间达成的协议的实质或者协议如何生效是不重要的。这由SDA100以及其所朝向的商业系统(若存在)负责。最重要的是,UIA200不而且本身也不能决定是否已在用户和SDA100之间达成协议。除了通过和SDA100的交互之外,UIA200不并且应该不访问所有完成安装所需的信息。
8.SDA100通过分发通道300向ULA200发送所需分发文件的索引。UIA200利用该索引扩大其自身的本地索引以构成用于即将到来的安装的完整索引。
9.SDA100构建一个或多个集合分发文件170以及任何其它安装所需的文件,并且经过分发通道300把这些文件发送给UIA200。
10.UIA程序203利用其本地索引和支持文件204、205以与安装计算机的平台相符合的方式完成被安装分发文件15的安装。具体地,UIA200在密码签字174和嵌入数据171不受到影响下安装集合分发文件170。一旦把集合分发文件170安装在安装计算机上,它被称为被安装的集合分发文件15。UIA程序203还根据需要执行其它系统更新212,例如更新操作系统注册(在视窗95情况下)以及安装任何附加的应用文件。也可能涉及其它任选的操作,例如留下适当的‘不安装’实用程序。
12.若出现错误,UIA程序203可通知SDA100重新启动安装。若不出现错误,UIA程序203通知SDA100已接收所有所需数据。这应例如用作SDA100的触发信号以进行财务交易。把财务事宜放在处理的后半部分可使未在成功地安装软件应用下就对用户收费的可能性变为最小,这减少了用户受挫的一种原因。
13.UIA程序203删除任何可能放在安装计算机中的过渡文件、索引等等。
14.UIA程序203断开和SDA100、分发通道300的连接并退出。
一旦完成了后面进一步详细说明的供选用的验证过程,用户接着可在安装计算机上运行被安装的集合分发文件15。应理解,可在完成安装之前或之后进行后面说明的验证过程。
本发明的方法和系统应减少由购买好的软件未能成功安装而造成的争端。若安装计算机不具有运行所需软件应用的足够资源,UIA200可检测出并在作出任何财务交易之前警告用户。此外,可在安装处理之后完成用户购买软件应用的最终财务约定,从而财务交易是成功的但安装本身却是失败的概率会很低。
一般的业内人士会理解,可以以大规模生产的并包含着原始分发文件130的介质形式向用户分发UIA200,或者从单份拷单在不会受到成功的蒙混再使用下衍生出UIA200。在这种情况下,SDA100只向UIA200发送其构建集合分发文件170并且完成安装所需的增量信息。通过确保UIA200的分发形式包含不完整的可执行文件集,从而为能在安装计算机上执行需要来自SDA100的基本数据,可以击败任何非法翻印软件应用的企图。
图5表示从被安装的集合分发文件15验证和提取用户数据以便证实原始文件内容173a、173b以及嵌入数据171都未被窜改。对于本发明的操作该步骤是任选的,因为用户可在不验证下运行被安装的集合分发文件15。应理解,下面说明的验证过程可在完成安装之前或之后进行。若在安装计算机上安装之前进行验证,则UIA203对集合分发文件170,而不是对已安装的集合分发文件,进行下述过程。
图5中示出的处理是和利用图3B中示出的双步处理的已安装集合分发文件15相关的。对从利用图3A中示出的单步密码处理构造的或者利用图3C中示出的双步处理的变型构建的已安装集合分发文件15验证和提取用户数据的原理与下面所说明的相同,但要根据要比较的密码密钥的特性作出适当的修改。
尽管示出一个独立的验证及读出程序400执行验证和读出嵌入数据171的功能,业内人士会理解,这些功能不一定要在这种独立的程序中实现,而是可以和其它程序,例如UIA200、许可证检查程序、病毒检查程序、程序装入软件、复制程序等,的功能相结合。下面说明验证及读出程序400的典型执行顺序:
1.或者由用户或者由诸如UIA200的其它程序的自动调用,运行验证及读出程序400。除非另外指出,下面的步骤都由验证及读出程序400执行。
2.或者通过提示用户或者由UIA200作为参数传送,判定要处理哪一个已安装集合分发文件15。还判定(若可从特定实施中衍生,这于文件本身包含着不同)对该已安装集合分发文件15可应用哪个特定公用密钥152。
3.打开所研究的已安装集合分发文件15并检查它满足应用格式要求。例如,某给定的实现可能支持IntelTM处理器的‘PE’格式下的可执行(EXE)和动态链接库(DLL)文件。若该已安装集合分发文件15失败于这些基本检查或不能找到,验证及读出程序400发出适当警告并停止。
4.检查文件以确定总密码签字176、嵌入数据密码签字172及嵌入数据171的位置。可以各种方式格式化已安装集合分发文件15以支持该确定,例如在文件标题内包括指向这些区段的指针。若在该特定实现中是适用的(即,公用密钥152包含在文件中,而和要由验证和读出程序400确定不同),查找并提取所需的公用密钥152。
若上述任一步骤失败,验证及读出程序400在适当告警下失败。
5.利用公用密钥152把总密码签字176解密成不加密形式176a(解密后的远程总指纹)。
6.利用和SDA100采用的相同已知密码签字算法,计算总密码签字的本地版本176b(本地算出的总指纹)。该计算必须排除掉总密码签字176自身,即复盖除176之外的已安装集合分发文件15的所有部分,以使本地计算的总指纹176b和其自身无关。
7.把本地计算的总指纹176b和解密后的远程总指纹176a进行比较。若它们不同,验证及读出程序在警告已安装的集合分发文件15被破坏下失败。此刻,UIA200可被调用以和SDA100接触以再次获得已安装的集合分发文件15。
8.提取嵌入数据171,若程序是由用户调用的图形地把嵌入数据171呈现给用户,若是由软件调用的则以报文形式传送给调用者例行程序。
9.利用公用密钥152把嵌入数据密码签字172解密成其不加密形式172a(解密后的远程嵌入数据指纹)。
10.利用和SDA100所采用的相同已知密码签字算法计算嵌入数据密码签字172的本地版本172b(本地算出的嵌入数据指纹)。
11.对本地算出的嵌入数据指纹172b和解密的远程嵌入数据指纹172a进行比较。若它们不同,验证及读出程序在警告嵌入数据171被破坏下失败。
若后面跟着的是图3A中示出的单步处理,接着对密码签字174进行类似的比较过程。同样,若进行的是图3C中示出的双步密码处理的变型,接着对原始文件内容密码签字175作类似的比较过程。
图6是一个流程图,其综合相对于图2、3A、3B、3C、4和5说明的过程。请注意,可由任何装置向UIA200发送用来验证已安装集合分发文件15的完整性的公用密钥152,因为它不是秘密并且可用于不止一个的用途。公用密钥可嵌入到集合分发文件170中,它可以按独立文件或报文显式地发送给用户,或者,可由安装计算机自动地从网络托管机构(例如VerisignTM公司)获得。
图7是可依据本发明采用的另一组过程的流程图,其中利用SDA100为该特定交易计算的唯一专用密码加密原始文件内容173a、173b。SDA100保持该唯一专用密钥的记录,并且通过分发通道300向UIA200发送相应的唯一公用密钥和集合分发文件170。UIA200利用该公用密钥解密集合分发文件170。出于安全原因,最好不要永久性地在安装计算机上存储该公用密钥。替代地,只在安装期间让该唯一公用密钥存在于计算机的随机存取存储器(RAM)中。这使得实际上不可能再分发集合分发文件170。
尽管参照各种优选实施例对本发明进行了说明,一般的业内人士可认识到一些改变、替代和修改是可能的。在图8示出已安装集合分发文件15的各种使用。在安装后并由UIA验证之后,可以常规地在以不以任何方式使用嵌入数据171下运行已安装的集合分发文件15。为了确保许可证一致,可以和许可证强制程序一起运行已安装的集合分发文件以证实组成嵌入数据171的一部分的任何许可证条款得到遵守。也可把嵌入数据171以及密码签字172、174、175、176(取决于构建集合分发文件170的方式)用作为某病毒检查程序的输入,从而可通过利用公用密钥152和与SDA100采用的相同的已知密码签字算法进行已安装集合分发文件15的完整性检查。每次运行已安装集合分发文件15时,还可以通过它自己或者和验证装入程序一起运行图5中示出的验证及读出程序400,以拒绝窜改文件并不允许被窜改的已安装集合分发文件15运行。还可只使用嵌入数据171以向用户显示。
本文所公开的方法和系统还可用于对现存于安装计算机上的已安装集合分发文件进行升级。在这种情况下,UIA200和SDA100将确认安装计算机上现有的已安装集合分发文件15的许可证状态,接着调用本文公开的方法和系统,以对该安装计算机构建、发送和安装已安装集合分发文件15的升级版本。可以在用户请求下调用,或者可以在UIA200检测出可使用原始分发文件130的新版本时自动调用,本发明的升级能力。
已安装的集合分发文件15的唯一性可用于把其运行限制在安装计算机中的专用中央处理机(CPU)上。对这种目的的CPU的识别可由UIA200在收集传输到SDA100的数据32、34阶段进行。
本文公开的SDA100和UIA200不限于只在安装或升级已安装分发文件170时调用。例如,在计算机游戏环境下,可在用户到达游戏的某处时调用SDA100和UIA200,以对用户给出购买游戏的附加功能或级别的选择机会。
本公开并不预先假定UIA200不拥有提高本发明的功能度的附加智能。例如,UIA200可具有找到和识别安装计算机上各自的个人数字执照的智能,该执照建立其身份,这对于授权有关交易的全部或一部分是充分的。这种个人数字执照以及它们的应用方法应符合已建立的标准,例如商用热照提供商VerisignTM公司采用的标准。此外,UIA200可具有查找和识别数字“优惠券”执照的智能,这种优惠性确定用户具有某种特定特权,例如对某个软件的特殊价格的权利,或者一种确定其在特定团体如某公司中的会员权利。此外,UIA200应定位依据本发明的方法安装的先有文件,并且确定嵌入数据171。若UIA200确定存在着可影响交易条款的信息或者存在表示用户的可能兴趣例如升级的信息,UIA200可把该信息发送到SDA100,从而SDA100可适当地中介交易、通告升级等等。这样的一个典型例子是检查依据本发明安装的字处理应用软件以确定该用户有资格自由升级,从而本发明可接着进入安装。
在本发明的另一组变型中,已安装的集合分发文件15是一种采用Nortel算法授权(NAN)的原理的文件,该原理在美国08/674,037号专利申请中公开以用于为其自身的完整性增添坚固的自管理。在第一变型中,运行期NAA算法(其已具有把已安装集合分发文件15的自身代码用作为适当运行所需的输入的能力,并且从而具有在窜改情况下强制毁灭性失效的能力)把该输入的范围扩展到包括由SDA100添加的一个或多个数据项所构成的存储器内拷贝,例如总密码签字176。
在第二变型中,“启动存根(launch stub)”构件可前进得更远,即提取和译码已安装集合分发文件15中的嵌入数据171,并且把其上(例如比如由网络卡上某物理介质访问控制地址识别的专用CPU)的许可证条款和检查当前环境所找到的条款进行比较。根据Nortel算法授权的原则,“启动存根”不必“决定”是否要继续,因为这种决策点明显地是希望击败安全机制的‘黑客’的攻击点。相反,它会根据正常的程序运行修改数据,以使得仅当所述数据和每个许可证的适当环境对应时程序才继续运行。对于第一变型,应为特定情况预构建应用程序,因为根据该待决的技术,其适当的控制流只是把原始‘不正确的’输入数据使用成应用正确的许可证数据或者其简单的衍生而得到的‘改正的’数据。
本文所公开的本发明不必必须改变已安装集合分发文件15的安装形式的功能性,而只对它增加信息和验证性。然后,存在着一些可把已安装集合分发文件15的功效以本发明允许的新方式予以改变的手段。在一种变型中,SIA100会访问某给定程序的各种可执行形式或者访问会动态地构建不同形式的软件例行程序,以生成满足特定用户功能/价格要求的程序,和/或该程序主动地把自己捆绑到非常特别的许可证条款。例如,在微软视窗环境下,可通过选择性地包括的不同动态链接库(DLLS)嵌入不同的功效。
在另一种变型中,程序文件的初始可执行形式具有内置的特殊功能的和与许可证捆绑的选择,并且SDA100会拒绝(可能是可验证的)让可执行文件显示其所需功效的数据进入可执行文件。在再一种变型中,SDA100可以利用对特定程序结构具有详细支持的例行程序,以便向先有的未明确设计成拥有这种变型的可执行程序增添可变的代码。
本发明所说明的各种实施例把某特定文件类型的单个“核心”文件集中为软件应用的安装及安全性的基石。然而,本发明的方法当然可应用于特定情况下多于一个文件或多于一种文件类型。例如,和已安装软件应用相关的所有静文件可接收嵌入信息,以使它们都是可验证的并和特定的应用及安装事例相关。
Claims (17)
1.一种用于从分发计算机向安装计算机电子分发软件应用的方法,包括步骤:
a.在所述分发计算机接收识别信息;
b.在所述分发计算机把所述识别信息嵌入到所述软件应用中以形成可识别的软件应用;
c.为所述可识别的软件应用生成密码签字;
d.把所述密码签字嵌入到所述可识别的软件应用中以形成可识别的和可验证的软件应用;以及
e.从所述分发计算机把所述可识别的和可验证的软件应用传送到所述安装计算机。
2.权利要求1的方法,其中为所述可识别的软件应用生成密码签字的步骤包括步骤:
a.对可识别的软件应用″ed″施加单向散列函数″hf″以生成散列结果“edh”,其中edh=hf(ed);以及
b.利用一个密码密钥加密散列结果″edh″以得到密码签字。
3.权利要求2的方法,其中单向散列函数是利用消息摘要5(MD5)算法或安全散列算法(SHA)之一产生的。
4.权利要求2或3的方法,其中加密散列结果″edh″的步骤包括利用一个公用/专用加密函数″ppef″和一个专用密码密钥″prk″加密散列结果″edh″以生成密码签字″edf″的步骤,其中edf=ppef(prk,edh)。
5.权利要求4的方法,其中利用RSA算法、Robin算法、ElGamal算法之一产生公用/专用加密函数″ppef″。
6.权利要求1、2、3、4或5的方法,其中通过因特网连接分发计算机和安装计算机。
7.权利要求1、2、3、4、5或6的方法,其中所述分发计算机处接收的识别信息是从所述安装计算机发送的。
8.一种在安装计算机处电子地接收从分发计算机分发的软件应用的方法,包括步骤:
a.从分发计算机接收可识别的和可验证的软件应用,该可识别的和可验证的软件应用带有在其中嵌入的识别信息和该可识别的和可验证的软件应用的密码签字;以及
b.在安装计算机处安装该可识别的和可验证的软件应用。
9.权利要求8的方法,其中在从分发计算机接收可识别的和可验证的软件应用的步骤之前,安装计算机向分发计算机发送识别信息。
10.权利要求8或9的方法,其中在安装可识别的和可验证的软件应用的步骤之前,安装计算机验证该软件应用的完整性。
11.权利要求10的方法,其中安装计算机利用密码签字验证软件应用的完整性。
12.一种从分发计算机向安装计算机电子地分发软件应用的方法,包括步骤:
a.在所述分发计算机接收识别信息;
b.在所述分发计算机把所述识别信息嵌入到所述软件应用之中以形成可识别的软件应用;
c.为所述可识别的软件应用生成密码签字;
d.把所述密码签字嵌入到所述可识别软件应用中以形成可识别的和可验证的软件应用;
e.从所述分发计算机把所述可识别的和可验证的软件应用传输到所述安装计算机;以及
f.在所述安装计算机安装所述可识别的和验证的软件应用。
13.权利要求12的方法,其中通过因特网连接分发计算机和安装计算机。
14.权利要求12或13的方法,其中在所述分发计算机处接收的识别信息是从所述安装计算机发送的。
15.一种软件分发计算机用于向用户分发可识别的和可验证的软件应用,其包括:
a.所述软件分发计算机和所述用户之间的通信链接;
b.用于存储供分发的软件应用的存储部件;
c.和所述链接通信的通信接口,用于接收所述用户的识别数据,并用于向所述用户传输所述可识别的和可验证的软件应用;
d.用于把从所述安装计算机接收的数据嵌入到所述软件应用以形成可识别的软件应用的装置;
e.用于为所述可识别的软件应用生成密码签字的装置;以及
f.用于把所述密码签字嵌入到所述可识别的软件应用中以形成所述可识别的和可验证的软件应用。
16.一种用于接收由分发计算机分发的可识别的和可验证的软件应用的软件安装计算机:
a.所述软件安装计算机和所述软件分发计算机之间的通信链接;
b.用于存储识别数据并用于存储已安装软件应用的存储部件;
c.和所述链接通信的计算机通信接口,用于传输所述识别数据,并且用于接收所述可识别的和可验证的软件应用,该可识别的和可验证的软件应用具有嵌入在其中的识别数据和该可识别、可验证的软件应用的密码签字;
d.用于在所述计算机存储部件上安装所述可识别的和可验证的软件应用的装置。
17.一种用于从分发计算机向安装计算机分发可识别的和可验证的软件应用的软件分发计算机,其包括:
一个分发计算机;
一个安装计算机;
所述安装计算机和分发计算机之间的通信链接;
所述分发计算机包括:
a.分发计算机存储部件,用于存储供分发的软件应用;
b.和所述链接通信的分发计算机通信接口,用于向所述安装计算机传送可识别的和可验证的软件应用,并用于从所述安装计算机接收识别数据;
c.用于把从所述安装计算机接收的识别数据嵌入到所述软件应用中以形成可识别的软件应用的装置;
d.用于为所述可识别的软件应用生成密码签字的装置;以及
e.用于把所述密码签字嵌入到所述可识别的软件应用以形成可识别的和可验证的软件应用;
所述安装计算机包括:
a.安装计算机存储部件,用于存储所述识别数据,并用于存储已安装的软件应用;
b.和所述链接通信的安装计算机通信接口,用于向所述分发计算机传送所述识别数据,并且用于从所述分发计算机接收所述可识别的和可验证的软件应用;以及
d.用于在所述安装计算机存储部件中安装所述软件应用的装置。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US08/831,696 | 1997-04-10 | ||
US08/831,696 US6108420A (en) | 1997-04-10 | 1997-04-10 | Method and system for networked installation of uniquely customized, authenticable, and traceable software application |
Publications (1)
Publication Number | Publication Date |
---|---|
CN1255209A true CN1255209A (zh) | 2000-05-31 |
Family
ID=25259649
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN98804864A Pending CN1255209A (zh) | 1997-04-10 | 1998-03-18 | 对唯一定制的、合法的和可跟踪的软件应用进行网上安装的方法和系统 |
Country Status (7)
Country | Link |
---|---|
US (1) | US6108420A (zh) |
EP (1) | EP0974084A1 (zh) |
JP (1) | JP2002503365A (zh) |
CN (1) | CN1255209A (zh) |
AU (1) | AU6492198A (zh) |
CA (1) | CA2285392A1 (zh) |
WO (1) | WO1998045768A1 (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN100396012C (zh) * | 2006-02-23 | 2008-06-18 | 华为技术有限公司 | 基于设备管理协议的软件合法性验证系统及验证方法 |
CN100428256C (zh) * | 2002-07-23 | 2008-10-22 | 索尼株式会社 | 信息处理设备和信息处理方法 |
CN101238470B (zh) * | 2005-08-10 | 2010-08-18 | 诺基亚公司 | 操作计算设备的方法、制造软件的方法 |
CN1946222B (zh) * | 2005-10-04 | 2011-08-31 | 乐金电子(中国)研究开发中心有限公司 | 移动通信终端的软件认证装置及其方法 |
CN107924304A (zh) * | 2015-05-06 | 2018-04-17 | 迈克菲有限公司 | 在安装过程中对捆绑软件的存在进行警告 |
Families Citing this family (262)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH08263438A (ja) | 1994-11-23 | 1996-10-11 | Xerox Corp | ディジタルワークの配給及び使用制御システム並びにディジタルワークへのアクセス制御方法 |
US6963859B2 (en) | 1994-11-23 | 2005-11-08 | Contentguard Holdings, Inc. | Content rendering repository |
EP1643340B1 (en) | 1995-02-13 | 2013-08-14 | Intertrust Technologies Corp. | Secure transaction management |
US5892900A (en) | 1996-08-30 | 1999-04-06 | Intertrust Technologies Corp. | Systems and methods for secure transaction management and electronic rights protection |
US6157721A (en) | 1996-08-12 | 2000-12-05 | Intertrust Technologies Corp. | Systems and methods using cryptography to protect secure computing environments |
EP0893769A4 (en) * | 1996-03-22 | 2005-06-29 | Hitachi Ltd | METHOD FOR MANAGING COMPUTER NETWORK AND CORRESPONDING DEVICE |
US6233684B1 (en) | 1997-02-28 | 2001-05-15 | Contenaguard Holdings, Inc. | System for controlling the distribution and use of rendered digital works through watermaking |
US6859699B2 (en) | 1997-05-16 | 2005-02-22 | Snap-On Incorporated | Network-based method and system for distributing data |
US7290288B2 (en) | 1997-06-11 | 2007-10-30 | Prism Technologies, L.L.C. | Method and system for controlling access, by an authentication server, to protected computer resources provided via an internet protocol network |
US6453334B1 (en) * | 1997-06-16 | 2002-09-17 | Streamtheory, Inc. | Method and apparatus to allow remotely located computer programs and/or data to be accessed on a local computer in a secure, time-limited manner, with persistent caching |
US20010039564A1 (en) * | 1997-10-20 | 2001-11-08 | Victor Hahn | Log on personal computer |
JP4313873B2 (ja) * | 1998-01-30 | 2009-08-12 | キヤノン株式会社 | 電子機器及びデータ処理方法 |
US6599194B1 (en) | 1998-09-08 | 2003-07-29 | Darren Smith | Home video game system with hard disk drive and internet access capability |
US7711714B2 (en) * | 1998-09-22 | 2010-05-04 | Hitachi, Ltd. | Method and a device for sterilizing downloaded files |
US7017188B1 (en) * | 1998-11-16 | 2006-03-21 | Softricity, Inc. | Method and apparatus for secure content delivery over broadband access networks |
US6763370B1 (en) | 1998-11-16 | 2004-07-13 | Softricity, Inc. | Method and apparatus for content protection in a secure content delivery system |
US6330588B1 (en) * | 1998-12-21 | 2001-12-11 | Philips Electronics North America Corporation | Verification of software agents and agent activities |
US8347086B2 (en) | 2000-12-18 | 2013-01-01 | Citibank, N.A. | System and method for automatically detecting and then self-repairing corrupt, modified of non-existent files via a communication medium |
US6766305B1 (en) | 1999-03-12 | 2004-07-20 | Curl Corporation | Licensing system and method for freely distributed information |
US6591367B1 (en) * | 1999-03-31 | 2003-07-08 | Atabok Japan, Inc. | Method and apparatus for preventing unauthorized copying and distributing of electronic messages transmitted over a network |
US6468160B2 (en) * | 1999-04-08 | 2002-10-22 | Nintendo Of America, Inc. | Security system for video game system with hard disk drive and internet access capability |
US7730169B1 (en) | 1999-04-12 | 2010-06-01 | Softricity, Inc. | Business method and system for serving third party software applications |
US7370071B2 (en) | 2000-03-17 | 2008-05-06 | Microsoft Corporation | Method for serving third party software applications from servers to client computers |
US6389537B1 (en) | 1999-04-23 | 2002-05-14 | Intel Corporation | Platform and method for assuring integrity of trusted agent communications |
US6697948B1 (en) * | 1999-05-05 | 2004-02-24 | Michael O. Rabin | Methods and apparatus for protecting information |
US8099758B2 (en) * | 1999-05-12 | 2012-01-17 | Microsoft Corporation | Policy based composite file system and method |
US7197144B1 (en) * | 1999-06-08 | 2007-03-27 | Ethos Technologies, Inc. | Method and apparatus to authenticate a user's system to prevent unauthorized use of software products distributed to users |
AU5328900A (en) * | 1999-06-08 | 2000-12-28 | Ethos Technologies, Inc. | Protection against unauthorized use of software products |
US6675382B1 (en) * | 1999-06-14 | 2004-01-06 | Sun Microsystems, Inc. | Software packaging and distribution system |
US6460023B1 (en) * | 1999-06-16 | 2002-10-01 | Pulse Entertainment, Inc. | Software authorization system and method |
AU6053700A (en) * | 1999-06-28 | 2001-01-31 | Starpay.Com, Inc. | Apparatus and method for performing secure network transactions |
WO2001010076A2 (en) * | 1999-07-29 | 2001-02-08 | Intertrust Technologies Corp. | Systems and methods for protecting secure and insecure computing environments using cryptography |
US7243236B1 (en) | 1999-07-29 | 2007-07-10 | Intertrust Technologies Corp. | Systems and methods for using cryptography to protect secure and insecure computing environments |
US7770016B2 (en) | 1999-07-29 | 2010-08-03 | Intertrust Technologies Corporation | Systems and methods for watermarking software and other media |
EP1526435A3 (en) | 1999-07-30 | 2005-07-27 | Intertrust Technologies Corp. | Methods and systems for transaction record delivery using thresholds and multi-stage protocol |
US7406603B1 (en) | 1999-08-31 | 2008-07-29 | Intertrust Technologies Corp. | Data protection systems and methods |
US6985885B1 (en) | 1999-09-21 | 2006-01-10 | Intertrust Technologies Corp. | Systems and methods for pricing and selling digital goods |
GB9922904D0 (en) * | 1999-09-28 | 1999-12-01 | Signum Technologies Limited | Method of authenticating digital data works |
JP2001117823A (ja) * | 1999-10-15 | 2001-04-27 | Fuji Xerox Co Ltd | アクセス資格認証機能付きデータ記憶装置 |
JP4011243B2 (ja) * | 1999-10-15 | 2007-11-21 | 富士通株式会社 | 電子原本管理装置および方法 |
GB9925227D0 (en) * | 1999-10-25 | 1999-12-22 | Internet Limited | Data storage retrieval and access system |
US7421472B1 (en) | 1999-11-19 | 2008-09-02 | Ross Jr Robert C | System, method, and computer program product for providing a multi-user e-mail system |
AU4505701A (en) * | 1999-12-10 | 2001-06-18 | Dvd Express, Inc. | Method of distributing digital information |
CN1340173A (zh) * | 1999-12-14 | 2002-03-13 | 索尼公司 | 注册方法和设备、信息处理方法和设备、提供方法和设备以及程序存储介质 |
US6970849B1 (en) * | 1999-12-17 | 2005-11-29 | Microsoft Corporation | Inter-server communication using request with encrypted parameter |
US6996720B1 (en) | 1999-12-17 | 2006-02-07 | Microsoft Corporation | System and method for accessing protected content in a rights-management architecture |
US7047411B1 (en) * | 1999-12-17 | 2006-05-16 | Microsoft Corporation | Server for an electronic distribution system and method of operating same |
US20010032189A1 (en) * | 1999-12-27 | 2001-10-18 | Powell Michael D. | Method and apparatus for a cryptographically assisted commercial network system designed to facilitate idea submission, purchase and licensing and innovation transfer |
US6904528B1 (en) * | 2000-01-03 | 2005-06-07 | Ge Yokogawa Medical Systems, Limited | Illegitimate duplication preventing method, data processing apparatus and medical imaging apparatus |
US7213152B1 (en) * | 2000-02-14 | 2007-05-01 | Intel Corporation | Modular bios update mechanism |
US7249105B1 (en) * | 2000-03-14 | 2007-07-24 | Microsoft Corporation | BORE-resistant digital goods configuration and distribution methods and arrangements |
US7441263B1 (en) | 2000-03-23 | 2008-10-21 | Citibank, N.A. | System, method and computer program product for providing unified authentication services for online applications |
AU2001274719A1 (en) * | 2000-06-07 | 2001-12-17 | Telefonaktiebolaget Lm Ericsson (Publ) | Network agent password storage and retrieval scheme |
DE10028500A1 (de) * | 2000-06-08 | 2002-01-03 | Deutsche Telekom Ag | Verfahren zur Installation von Software in einer Hardware |
US7699699B2 (en) | 2000-06-23 | 2010-04-20 | Igt | Gaming device having multiple selectable display interfaces based on player's wagers |
US7695363B2 (en) | 2000-06-23 | 2010-04-13 | Igt | Gaming device having multiple display interfaces |
US20010056533A1 (en) * | 2000-06-23 | 2001-12-27 | Peter Yianilos | Secure and open computer platform |
US7158953B1 (en) | 2000-06-27 | 2007-01-02 | Microsoft Corporation | Method and system for limiting the use of user-specific software features |
US6981262B1 (en) | 2000-06-27 | 2005-12-27 | Microsoft Corporation | System and method for client interaction in a multi-level rights-management architecture |
US7051200B1 (en) | 2000-06-27 | 2006-05-23 | Microsoft Corporation | System and method for interfacing a software process to secure repositories |
US7017189B1 (en) | 2000-06-27 | 2006-03-21 | Microsoft Corporation | System and method for activating a rendering device in a multi-level rights-management architecture |
US7539875B1 (en) | 2000-06-27 | 2009-05-26 | Microsoft Corporation | Secure repository with layers of tamper resistance and system and method for providing same |
US6891953B1 (en) | 2000-06-27 | 2005-05-10 | Microsoft Corporation | Method and system for binding enhanced software features to a persona |
US7171692B1 (en) | 2000-06-27 | 2007-01-30 | Microsoft Corporation | Asynchronous communication within a server arrangement |
JP2002014871A (ja) * | 2000-06-29 | 2002-01-18 | Fujitsu Ltd | コンテンツチェック方法、コンテンツ更新方法、および処理装置 |
US7225159B2 (en) | 2000-06-30 | 2007-05-29 | Microsoft Corporation | Method for authenticating and securing integrated bookstore entries |
DE10033384A1 (de) * | 2000-07-08 | 2002-01-17 | Deutsche Telekom Ag | Verfahren zur Installation von Software in einer Hardware |
US7363318B1 (en) * | 2000-07-21 | 2008-04-22 | Wind River Systems, Inc. | Method and apparatus for management of an automated license installation |
AU2000267747A1 (en) * | 2000-08-14 | 2002-02-25 | Starpay.Com, Inc. | Apparatus and method for performing secure network transactions |
AU8512501A (en) * | 2000-08-21 | 2002-03-04 | Int Game Tech | Method and apparatus for software authentication |
US7743259B2 (en) | 2000-08-28 | 2010-06-22 | Contentguard Holdings, Inc. | System and method for digital rights management using a standard rendering engine |
US20030196109A1 (en) | 2000-08-28 | 2003-10-16 | Contentguard Holdings, Inc. | Method and apparatus for content transaction aggregation |
JP4072988B2 (ja) * | 2000-10-02 | 2008-04-09 | 株式会社ハドソン | デジタルコンテンツデータ生成システム |
US6971023B1 (en) * | 2000-10-03 | 2005-11-29 | Mcafee, Inc. | Authorizing an additional computer program module for use with a core computer program |
JP4067757B2 (ja) * | 2000-10-31 | 2008-03-26 | 株式会社東芝 | プログラム配布システム |
US8250570B2 (en) * | 2000-10-31 | 2012-08-21 | Hewlett-Packard Development Company, L.P. | Automated provisioning framework for internet site servers |
US7124289B1 (en) | 2000-10-31 | 2006-10-17 | Opsware Inc. | Automated provisioning framework for internet site servers |
US20020082818A1 (en) * | 2000-10-31 | 2002-06-27 | Glenn Ferguson | Data model for automated server configuration |
US7343324B2 (en) | 2000-11-03 | 2008-03-11 | Contentguard Holdings Inc. | Method, system, and computer readable medium for automatically publishing content |
US6889209B1 (en) * | 2000-11-03 | 2005-05-03 | Shieldip, Inc. | Method and apparatus for protecting information and privacy |
US20020083183A1 (en) * | 2000-11-06 | 2002-06-27 | Sanjay Pujare | Conventionally coded application conversion system for streamed delivery and execution |
US20020087883A1 (en) * | 2000-11-06 | 2002-07-04 | Curt Wohlgemuth | Anti-piracy system for remotely served computer applications |
US8831995B2 (en) | 2000-11-06 | 2014-09-09 | Numecent Holdings, Inc. | Optimized server for streamed applications |
US7062567B2 (en) | 2000-11-06 | 2006-06-13 | Endeavors Technology, Inc. | Intelligent network streaming and execution system for conventionally coded applications |
WO2002048825A2 (en) * | 2000-11-15 | 2002-06-20 | Bagley, Dallin | System and method for guiding a computer user to promotional material |
WO2002042860A2 (en) * | 2000-11-20 | 2002-05-30 | Xante Corporation | System, method, and computer program product for providing a multi-user e-mail system |
EP1211587A1 (en) * | 2000-11-30 | 2002-06-05 | Pentap Technologies AG | Distributing programming language code |
US20020073312A1 (en) * | 2000-12-08 | 2002-06-13 | International Business Machines Corporation | Secure electronic software distribution |
US7451196B1 (en) * | 2000-12-15 | 2008-11-11 | Stream Theory, Inc. | Method and system for executing a software application in a virtual environment |
US6948065B2 (en) | 2000-12-27 | 2005-09-20 | Intel Corporation | Platform and method for securely transmitting an authorization secret |
US6912294B2 (en) | 2000-12-29 | 2005-06-28 | Contentguard Holdings, Inc. | Multi-stage watermarking process and system |
US7028009B2 (en) | 2001-01-17 | 2006-04-11 | Contentguardiholdings, Inc. | Method and apparatus for distributing enforceable property rights |
US7774279B2 (en) | 2001-05-31 | 2010-08-10 | Contentguard Holdings, Inc. | Rights offering and granting |
US8069116B2 (en) | 2001-01-17 | 2011-11-29 | Contentguard Holdings, Inc. | System and method for supplying and managing usage rights associated with an item repository |
US6961773B2 (en) | 2001-01-19 | 2005-11-01 | Esoft, Inc. | System and method for managing application service providers |
EP1243998B1 (en) * | 2001-03-21 | 2017-04-19 | Excalibur IP, LLC | A technique for license management and online software license enforcement |
US6993664B2 (en) * | 2001-03-27 | 2006-01-31 | Microsoft Corporation | Method and system for licensing a software product |
JP2002297477A (ja) * | 2001-03-28 | 2002-10-11 | Sony Computer Entertainment Inc | 配信システム及び配信方法 |
US7743147B2 (en) * | 2001-04-20 | 2010-06-22 | Hewlett-Packard Development Company, L.P. | Automated provisioning of computing networks using a network database data model |
US7188342B2 (en) | 2001-04-20 | 2007-03-06 | Microsoft Corporation | Server controlled branding of client software deployed over computer networks |
US20020165976A1 (en) * | 2001-05-02 | 2002-11-07 | Jean-Charles Gonthier | Software deployment in a data communications network |
FR2824402A1 (fr) | 2001-05-04 | 2002-11-08 | Thales Sa | Dispositif et procede pour la signature, le marquage et l'authenticification de programmes d'ordinateur |
US20060010430A1 (en) * | 2001-05-04 | 2006-01-12 | Thales | Device and process for the signature, the marking and the authentication of computer programs |
CA2446447A1 (en) * | 2001-05-07 | 2002-11-14 | John Frederick King | Modem function and usage of a personal digital assistant in wireless mode |
US6947986B1 (en) * | 2001-05-08 | 2005-09-20 | Networks Associates Technology, Inc. | System and method for providing web-based remote security application client administration in a distributed computing environment |
US20020174347A1 (en) * | 2001-05-18 | 2002-11-21 | Imprivata, Inc. | Authentication with variable biometric templates |
US6895503B2 (en) | 2001-05-31 | 2005-05-17 | Contentguard Holdings, Inc. | Method and apparatus for hierarchical assignment of rights to documents and documents having such rights |
US8275709B2 (en) | 2001-05-31 | 2012-09-25 | Contentguard Holdings, Inc. | Digital rights management of content when content is a future live event |
US8275716B2 (en) | 2001-05-31 | 2012-09-25 | Contentguard Holdings, Inc. | Method and system for subscription digital rights management |
US6876984B2 (en) | 2001-05-31 | 2005-04-05 | Contentguard Holdings, Inc. | Method and apparatus for establishing usage rights for digital content to be created in the future |
US8099364B2 (en) | 2001-05-31 | 2012-01-17 | Contentguard Holdings, Inc. | Digital rights management of content when content is a future live event |
US7725401B2 (en) | 2001-05-31 | 2010-05-25 | Contentguard Holdings, Inc. | Method and apparatus for establishing usage rights for digital content to be created in the future |
US8001053B2 (en) | 2001-05-31 | 2011-08-16 | Contentguard Holdings, Inc. | System and method for rights offering and granting using shared state variables |
US7774280B2 (en) | 2001-06-07 | 2010-08-10 | Contentguard Holdings, Inc. | System and method for managing transfer of rights using shared state variables |
WO2002101490A2 (en) | 2001-06-07 | 2002-12-19 | Contentguard Holdings, Inc. | Cryptographic trust zones in digital rights management |
EP1419438A2 (en) * | 2001-07-02 | 2004-05-19 | BRITISH TELECOMMUNICATIONS public limited company | Program installation process |
US7716137B2 (en) * | 2001-08-14 | 2010-05-11 | Nokia Inc. | System and method for automatically tracking and enabling the operation of a product |
US7920682B2 (en) | 2001-08-21 | 2011-04-05 | Byrne William J | Dynamic interactive voice interface |
GB2379299B (en) * | 2001-09-04 | 2006-02-08 | Imagination Tech Ltd | A texturing system |
US20030051235A1 (en) * | 2001-09-07 | 2003-03-13 | Simpson Mark D. | Method and apparatus for verifying and analyzing computer software installation |
US20040054952A1 (en) * | 2002-09-13 | 2004-03-18 | Morrow James W. | Device verification system and method |
US20030084439A1 (en) * | 2001-10-04 | 2003-05-01 | Ross Perkins | Incentive system for distributing software over a computer network |
WO2003042988A1 (en) * | 2001-11-15 | 2003-05-22 | Sony Corporation | System and method for controlling the use and duplication of digital content distributed on removable media |
US7840488B2 (en) | 2001-11-20 | 2010-11-23 | Contentguard Holdings, Inc. | System and method for granting access to an item or permission to use an item based on configurable conditions |
US7974923B2 (en) | 2001-11-20 | 2011-07-05 | Contentguard Holdings, Inc. | Extensible rights expression processing system |
AU2002350209A1 (en) | 2001-11-20 | 2003-06-10 | Contentguard Holdings, Inc. | An extensible rights expression processing system |
US6857490B2 (en) * | 2001-12-11 | 2005-02-22 | Robert T. Quigg | Stair-climbing wheelchair |
US20050144175A1 (en) * | 2002-02-18 | 2005-06-30 | Siemens Aktiengesellschaft | Method and system for administrating use of a service |
US20030167407A1 (en) * | 2002-03-01 | 2003-09-04 | Brett Howard | Authenticated file loader |
US7805371B2 (en) | 2002-03-14 | 2010-09-28 | Contentguard Holdings, Inc. | Rights expression profile system and method |
US20030225700A1 (en) | 2002-03-14 | 2003-12-04 | Guillermo Lao | System and method for graphical rights expressions |
US7596600B2 (en) * | 2002-03-28 | 2009-09-29 | Quine Douglas B | System for selective delivery of electronic communications |
US7016919B2 (en) * | 2002-03-29 | 2006-03-21 | Agilent Technologies, Inc. | Enterprise framework and applications supporting meta-data and data traceability requirements |
US8656502B2 (en) * | 2002-04-04 | 2014-02-18 | Mcafee, Inc. | Controlling use of a computer program installed on a computer |
CN1659559A (zh) | 2002-04-29 | 2005-08-24 | 康坦夹德控股股份有限公司 | 用于规定和处理合法表达的系统和方法 |
CA2483605A1 (en) | 2002-05-02 | 2003-11-13 | David Molnar | Method and apparatus for protecting information and privacy |
WO2003098461A1 (en) * | 2002-05-14 | 2003-11-27 | Polcha Andrew J | System and method for automatically configuring remote computer |
US20030217126A1 (en) * | 2002-05-14 | 2003-11-20 | Polcha Andrew J. | System and method for automatically configuring remote computer |
US20030217280A1 (en) * | 2002-05-17 | 2003-11-20 | Keaton Thomas S. | Software watermarking for anti-tamper protection |
US7222106B2 (en) * | 2002-05-21 | 2007-05-22 | International Business Machines Corporation | Mechanisms for handling software license agreements on multi-user system |
US8447963B2 (en) | 2002-06-12 | 2013-05-21 | Bladelogic Inc. | Method and system for simplifying distributed server management |
US8909777B2 (en) | 2002-06-26 | 2014-12-09 | Intel Corporation | Systems and methods for dynamic access to program features |
FR2841667B1 (fr) * | 2002-06-26 | 2007-01-12 | Nec Computers Internat Bv | Interface graphique utilisateur permettant d'installer des programmes informatiques d'un lot de demarrage |
US20040010470A1 (en) * | 2002-07-09 | 2004-01-15 | Mills Charles A. | Anti-piracy system for software and digital entertainment |
US7383579B1 (en) * | 2002-08-21 | 2008-06-03 | At&T Delaware Intellectual Property, Inc. | Systems and methods for determining anti-virus protection status |
US20040093198A1 (en) * | 2002-11-08 | 2004-05-13 | Carbon Design Systems | Hardware simulation with access restrictions |
US7287052B2 (en) * | 2002-11-09 | 2007-10-23 | Microsoft Corporation | Challenge and response interaction between client and server computing devices |
US7356709B2 (en) * | 2003-01-31 | 2008-04-08 | Microsoft Corporation | Systems and methods for deterring software piracy in a volume license environment |
US7644442B2 (en) | 2003-01-31 | 2010-01-05 | Microsoft Corporation | Systems and methods for using machine attributes to deter software piracy in an enterprise environment |
US8181265B2 (en) * | 2003-01-31 | 2012-05-15 | Microsoft Corporation | Secure machine counting |
US20050102515A1 (en) * | 2003-02-03 | 2005-05-12 | Dave Jaworski | Controlling read and write operations for digital media |
US20050004873A1 (en) * | 2003-02-03 | 2005-01-06 | Robin Pou | Distribution and rights management of digital content |
US9818136B1 (en) | 2003-02-05 | 2017-11-14 | Steven M. Hoffberg | System and method for determining contingent relevance |
DE10304877A1 (de) * | 2003-02-06 | 2004-08-19 | Siemens Ag | Verfahren zur Installation eines Plug-in-Programms |
AU2003205970A1 (en) | 2003-02-07 | 2004-08-30 | Nokia Corporation | Software distribution |
DE10314449A1 (de) * | 2003-03-31 | 2004-10-14 | Robert Bosch Gmbh | Sensoranordnung zur Kraftmessung |
US7716474B2 (en) * | 2003-05-12 | 2010-05-11 | Byteblaze, Inc. | Anti-piracy software protection system and method |
US7685642B2 (en) | 2003-06-26 | 2010-03-23 | Contentguard Holdings, Inc. | System and method for controlling rights expressions by stakeholders of an item |
FR2857471B1 (fr) * | 2003-07-10 | 2008-09-26 | Open Plug | Procede de gestion des composants logiciels integres dans un systeme embarque |
US7213268B2 (en) * | 2003-07-25 | 2007-05-01 | Aviation Communication And Surveillance Systems, Llc | Method for controlling customer-implemented data updates |
US8122100B2 (en) * | 2003-07-28 | 2012-02-21 | Limelight Networks, Inc. | Multiple object download |
US7516147B2 (en) | 2003-10-23 | 2009-04-07 | Sumisho Computer Systems Corporation | URL system and method for licensing content |
US8037515B2 (en) * | 2003-10-29 | 2011-10-11 | Qualcomm Incorporated | Methods and apparatus for providing application credentials |
US7620362B2 (en) * | 2003-12-04 | 2009-11-17 | International Business Machines Corporation | Controlling access to wirelessly broadcast electronic works during playback |
EP1550930B1 (en) * | 2003-12-15 | 2007-08-01 | Mobile Integrated Solutions Limited | A method for restraining the re-distribution of licensed data in a digital mobile environment |
WO2005091552A1 (en) * | 2004-03-16 | 2005-09-29 | Majitek International Pte Ltd | Digital rights management |
US7287159B2 (en) | 2004-04-01 | 2007-10-23 | Shieldip, Inc. | Detection and identification methods for software |
DE602004032313D1 (de) * | 2004-05-07 | 2011-06-01 | Alcatel Lucent | Datenauthentifizierungsverfahren und Agent basiertes System |
US7963847B2 (en) | 2004-08-19 | 2011-06-21 | Igt | Gaming system having multiple gaming machines which provide bonus awards |
US8021230B2 (en) | 2004-08-19 | 2011-09-20 | Igt | Gaming system having multiple gaming machines which provide bonus awards |
US8251791B2 (en) | 2004-08-19 | 2012-08-28 | Igt | Gaming system having multiple gaming machines which provide bonus awards |
US7590589B2 (en) | 2004-09-10 | 2009-09-15 | Hoffberg Steven M | Game theoretic prioritization scheme for mobile ad hoc networks permitting hierarchal deference |
US7240162B2 (en) | 2004-10-22 | 2007-07-03 | Stream Theory, Inc. | System and method for predictive streaming |
WO2006055445A2 (en) | 2004-11-13 | 2006-05-26 | Stream Theory, Inc. | Hybrid local/remote streaming |
US8660961B2 (en) | 2004-11-18 | 2014-02-25 | Contentguard Holdings, Inc. | Method, system, and device for license-centric content consumption |
US20060143135A1 (en) * | 2004-11-26 | 2006-06-29 | Tucker David M | Associating licensing information with software applications |
US8190715B1 (en) * | 2004-12-29 | 2012-05-29 | Emc Corporation | System and methods for remote agent installation |
US20060200419A1 (en) * | 2005-02-24 | 2006-09-07 | Cook Johanna M | System and method for user role based product license generation |
WO2006102621A2 (en) | 2005-03-23 | 2006-09-28 | Stream Theory, Inc. | System and method for tracking changes to files in streaming applications |
US8024523B2 (en) | 2007-11-07 | 2011-09-20 | Endeavors Technologies, Inc. | Opportunistic block transmission with time constraints |
JP4727278B2 (ja) * | 2005-04-05 | 2011-07-20 | 株式会社エヌ・ティ・ティ・ドコモ | アプリケーションプログラム検証システム、アプリケーションプログラム検証方法およびコンピュータプログラム |
US8484476B2 (en) | 2005-05-20 | 2013-07-09 | Rovi Technologies Corporation | Computer-implemented method and system for embedding and authenticating ancillary information in digitally signed content |
US8397072B2 (en) | 2005-05-20 | 2013-03-12 | Rovi Solutions Corporation | Computer-implemented method and system for embedding ancillary information into the header of a digitally signed executable |
US8521752B2 (en) * | 2005-06-03 | 2013-08-27 | Osr Open Systems Resources, Inc. | Systems and methods for arbitrary data transformations |
US7865765B2 (en) * | 2005-06-09 | 2011-01-04 | International Business Machines Corporation | Grid licensing server and fault tolerant grid system and method of use |
US20070011673A1 (en) * | 2005-07-08 | 2007-01-11 | Microsoft Corporation | Integrated installation procedure for multiple installation sets |
US20070028233A1 (en) * | 2005-07-29 | 2007-02-01 | Miller David D | Traffic control software lock and method |
DE102005039207A1 (de) * | 2005-08-18 | 2007-03-15 | Siemens Ag | Verfahren zum Nutzen eines Programms und zugehörige Einheiten |
JP2007065850A (ja) * | 2005-08-30 | 2007-03-15 | Fujitsu Ltd | 情報処理装置、情報処理方法およびプログラム |
US8128491B2 (en) | 2005-09-09 | 2012-03-06 | Igt | Server based gaming system having multiple progressive awards |
US7841939B2 (en) | 2005-09-09 | 2010-11-30 | Igt | Server based gaming system having multiple progressive awards |
US8137188B2 (en) | 2005-09-09 | 2012-03-20 | Igt | Server based gaming system having multiple progressive awards |
US8682795B2 (en) * | 2005-09-16 | 2014-03-25 | Oracle International Corporation | Trusted information exchange based on trust agreements |
US8874477B2 (en) | 2005-10-04 | 2014-10-28 | Steven Mark Hoffberg | Multifactorial optimization system and method |
US7720767B2 (en) | 2005-10-24 | 2010-05-18 | Contentguard Holdings, Inc. | Method and system to support dynamic rights and resources sharing |
US10503418B2 (en) * | 2005-12-01 | 2019-12-10 | Drive Sentry Limited | System and method to secure a computer system by selective control of write access to a data storage medium |
JP4556857B2 (ja) * | 2005-12-07 | 2010-10-06 | セイコーエプソン株式会社 | 情報配信装置、情報配信装置の制御方法および制御プログラム |
WO2007071465A1 (en) * | 2005-12-22 | 2007-06-28 | International Business Machines Corporation | A method and apparatus for populating a software catalog with automated use signature generation |
US20070233568A1 (en) * | 2006-03-10 | 2007-10-04 | Provident Intellectual Property, Llc | Microtransactions Using Points Over Electronic Networks |
US20070250711A1 (en) * | 2006-04-25 | 2007-10-25 | Phonified Llc | System and method for presenting and inputting information on a mobile device |
WO2008010128A2 (en) * | 2006-07-13 | 2008-01-24 | Nxp B.V. | Secure upgrade of a mobile device with an individual upgrade software over the air |
US8512130B2 (en) | 2006-07-27 | 2013-08-20 | Igt | Gaming system with linked gaming machines that are configurable to have a same probability of winning a designated award |
US7512748B1 (en) | 2006-08-17 | 2009-03-31 | Osr Open Systems Resources, Inc. | Managing lock rankings |
US8539228B1 (en) * | 2006-08-24 | 2013-09-17 | Osr Open Systems Resources, Inc. | Managing access to a resource |
US8616959B2 (en) | 2006-09-27 | 2013-12-31 | Igt | Server based gaming system having system triggered loyalty award sequences |
US7862430B2 (en) | 2006-09-27 | 2011-01-04 | Igt | Server based gaming system having system triggered loyalty award sequences |
US7674180B2 (en) | 2006-09-27 | 2010-03-09 | Igt | Server based gaming system having system triggered loyalty award sequences |
US8261345B2 (en) | 2006-10-23 | 2012-09-04 | Endeavors Technologies, Inc. | Rule-based application access management |
US8682800B2 (en) * | 2007-01-30 | 2014-03-25 | Microsoft Corporation | Controlling access to technology based upon authorization |
US8024433B2 (en) * | 2007-04-24 | 2011-09-20 | Osr Open Systems Resources, Inc. | Managing application resources |
US7985133B2 (en) | 2007-07-30 | 2011-07-26 | Igt | Gaming system and method for providing an additional gaming currency |
JP4972208B2 (ja) * | 2007-07-31 | 2012-07-11 | ロヴィ・ソリューションズ・コーポレーション | デジタル配信の帯域外追跡を可能にする、コンピュータにより実施される方法およびシステム |
US8900053B2 (en) | 2007-08-10 | 2014-12-02 | Igt | Gaming system and method for providing different bonus awards based on different types of triggered events |
US7949693B1 (en) | 2007-08-23 | 2011-05-24 | Osr Open Systems Resources, Inc. | Log-structured host data storage |
US8490078B2 (en) * | 2007-09-25 | 2013-07-16 | Barclays Capital, Inc. | System and method for application management |
US8819815B1 (en) * | 2007-10-16 | 2014-08-26 | Jpmorgan Chase Bank, N.A. | Method and system for distributing and tracking information |
US9142097B2 (en) | 2007-10-26 | 2015-09-22 | Igt | Gaming system and method for providing play of local first game and remote second game |
US8892738B2 (en) | 2007-11-07 | 2014-11-18 | Numecent Holdings, Inc. | Deriving component statistics for a stream enabled application |
US8607226B2 (en) * | 2008-01-22 | 2013-12-10 | International Business Machines Corporation | Solution for locally staged electronic software distribution using secure removable media |
JP5121542B2 (ja) * | 2008-04-09 | 2013-01-16 | キヤノン株式会社 | アプリケーションパッケジング装置、その制御方法、プログラム |
US9946848B2 (en) | 2009-02-26 | 2018-04-17 | International Business Machines Corporation | Software protection using an installation product having an entitlement file |
FR2945367B1 (fr) * | 2009-05-11 | 2012-06-22 | Regie Autonome Transports | Procede de controle d'activation d'une application sur une plateforme securisee, par un acteur exterieur a la chaine de chargement. |
US8676714B2 (en) * | 2009-06-11 | 2014-03-18 | Microsoft Corporation | Hardware specific product license validation |
FR2947934B1 (fr) * | 2009-07-08 | 2011-07-22 | Sfr | Procede de tracabilite et d'imputabilite dynamiques des echanges dans un environnement ouvert de type internet |
US9039516B2 (en) | 2009-07-30 | 2015-05-26 | Igt | Concurrent play on multiple gaming machines |
US8255991B1 (en) * | 2009-08-17 | 2012-08-28 | Google Inc. | Computer application pre-permissioning |
US8650246B2 (en) * | 2009-10-29 | 2014-02-11 | Fujitsu Technology Solutions Intellectual Property Gmbh | Method and system for licensing a software product |
US8473753B2 (en) | 2010-09-15 | 2013-06-25 | International Business Machines Corporation | Real-time secure self-acquiring root authority |
DE102010037784B4 (de) * | 2010-09-27 | 2014-07-31 | Kobil Systems Gmbh | Verfahren zur Erhöhung der Sicherheit von sicherheitsrelevanten Online Diensten |
US9158605B2 (en) * | 2010-12-01 | 2015-10-13 | Microsoft Technology Licensing, Llc | Method, system and device for validating repair files and repairing corrupt software |
CN102065096B (zh) * | 2010-12-31 | 2014-11-05 | 惠州Tcl移动通信有限公司 | 播放器、移动通讯设备、鉴权服务器、鉴权系统及方法 |
US8635425B1 (en) * | 2011-08-31 | 2014-01-21 | Amazon Technologies, Inc. | Upgrading computing devices |
US8903874B2 (en) | 2011-11-03 | 2014-12-02 | Osr Open Systems Resources, Inc. | File system directory attribute correction |
CN102546839B (zh) * | 2012-03-25 | 2014-10-22 | 沈阳通用软件有限公司 | 面向大规模网络的高效、可靠的软件分发方法 |
JP2012142022A (ja) * | 2012-04-06 | 2012-07-26 | Rovi Solutions Corp | デジタル配信の帯域外追跡を可能にする、コンピュータにより実施される方法およびシステム |
US9355228B2 (en) * | 2012-07-13 | 2016-05-31 | Angel Secure Networks, Inc. | System and method for policy driven protection of remote computing environments |
US20140164266A1 (en) * | 2012-12-07 | 2014-06-12 | Whp Workflow Solutions, Llc | Multi-media file upload workflow and transactions |
US9595034B2 (en) | 2013-10-25 | 2017-03-14 | Stellenbosch University | System and method for monitoring third party access to a restricted item |
GB2514716A (en) * | 2013-10-25 | 2014-12-03 | Univ Stellenbosch | System and method for monitoring third party access to a restricted item |
US9830329B2 (en) | 2014-01-15 | 2017-11-28 | W. Anthony Mason | Methods and systems for data storage |
US9459861B1 (en) | 2014-03-31 | 2016-10-04 | Terbium Labs, Inc. | Systems and methods for detecting copied computer code using fingerprints |
US8997256B1 (en) | 2014-03-31 | 2015-03-31 | Terbium Labs LLC | Systems and methods for detecting copied computer code using fingerprints |
US10376792B2 (en) | 2014-07-03 | 2019-08-13 | Activision Publishing, Inc. | Group composition matchmaking system and method for multiplayer video games |
US9875618B2 (en) | 2014-07-24 | 2018-01-23 | Igt | Gaming system and method employing multi-directional interaction between multiple concurrently played games |
US10118099B2 (en) | 2014-12-16 | 2018-11-06 | Activision Publishing, Inc. | System and method for transparently styling non-player characters in a multiplayer video game |
US9336092B1 (en) * | 2015-01-01 | 2016-05-10 | Emc Corporation | Secure data deduplication |
US10315113B2 (en) | 2015-05-14 | 2019-06-11 | Activision Publishing, Inc. | System and method for simulating gameplay of nonplayer characters distributed across networked end user devices |
US9972171B2 (en) | 2015-09-24 | 2018-05-15 | Igt | Gaming system and method for providing a triggering event based on a collection of units from different games |
DE102015225651A1 (de) * | 2015-12-17 | 2017-06-22 | Robert Bosch Gmbh | Verfahren und Vorrichtung zum Übertragen einer Software |
US10013558B1 (en) | 2015-12-17 | 2018-07-03 | Lockheed Martin Corporation | Method and computer readable medium for secure software installation mechanism |
US10500498B2 (en) | 2016-11-29 | 2019-12-10 | Activision Publishing, Inc. | System and method for optimizing virtual games |
US10974150B2 (en) | 2017-09-27 | 2021-04-13 | Activision Publishing, Inc. | Methods and systems for improved content customization in multiplayer gaming environments |
US11040286B2 (en) | 2017-09-27 | 2021-06-22 | Activision Publishing, Inc. | Methods and systems for improved content generation in multiplayer gaming environments |
US10561945B2 (en) | 2017-09-27 | 2020-02-18 | Activision Publishing, Inc. | Methods and systems for incentivizing team cooperation in multiplayer gaming environments |
US10864443B2 (en) | 2017-12-22 | 2020-12-15 | Activision Publishing, Inc. | Video game content aggregation, normalization, and publication systems and methods |
CN108363580A (zh) * | 2018-03-12 | 2018-08-03 | 平安普惠企业管理有限公司 | 应用程序安装方法、装置、计算机设备和存储介质 |
US11679330B2 (en) | 2018-12-18 | 2023-06-20 | Activision Publishing, Inc. | Systems and methods for generating improved non-player characters |
US11097193B2 (en) | 2019-09-11 | 2021-08-24 | Activision Publishing, Inc. | Methods and systems for increasing player engagement in multiplayer gaming environments |
US11712627B2 (en) | 2019-11-08 | 2023-08-01 | Activision Publishing, Inc. | System and method for providing conditional access to virtual gaming items |
US11351459B2 (en) | 2020-08-18 | 2022-06-07 | Activision Publishing, Inc. | Multiplayer video games with virtual characters having dynamically generated attribute profiles unconstrained by predefined discrete values |
US11524234B2 (en) | 2020-08-18 | 2022-12-13 | Activision Publishing, Inc. | Multiplayer video games with virtual characters having dynamically modified fields of view |
CN114189337A (zh) * | 2021-11-18 | 2022-03-15 | 山东云海国创云计算装备产业创新中心有限公司 | 一种固件烧录方法、装置、设备以及存储介质 |
Family Cites Families (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5222134A (en) * | 1990-11-07 | 1993-06-22 | Tau Systems Corporation | Secure system for activating personal computer software at remote locations |
US5103476A (en) * | 1990-11-07 | 1992-04-07 | Waite David P | Secure system for activating personal computer software at remote locations |
US5341429A (en) * | 1992-12-04 | 1994-08-23 | Testdrive Corporation | Transformation of ephemeral material |
US5509070A (en) * | 1992-12-15 | 1996-04-16 | Softlock Services Inc. | Method for encouraging purchase of executable and non-executable software |
US5416840A (en) * | 1993-07-06 | 1995-05-16 | Phoenix Technologies, Ltd. | Software catalog encoding method and system |
US5509074A (en) * | 1994-01-27 | 1996-04-16 | At&T Corp. | Method of protecting electronically published materials using cryptographic protocols |
US5553143A (en) * | 1994-02-04 | 1996-09-03 | Novell, Inc. | Method and apparatus for electronic licensing |
US5530752A (en) * | 1994-02-22 | 1996-06-25 | Convex Computer Corporation | Systems and methods for protecting software from unlicensed copying and use |
US5724425A (en) * | 1994-06-10 | 1998-03-03 | Sun Microsystems, Inc. | Method and apparatus for enhancing software security and distributing software |
US5493649A (en) * | 1994-06-21 | 1996-02-20 | Microsoft Corporation | Detecting corruption in a computer program at execution time using a checksum |
US5559884A (en) * | 1994-06-30 | 1996-09-24 | Microsoft Corporation | Method and system for generating and auditing a signature for a computer program |
US5586186A (en) * | 1994-07-15 | 1996-12-17 | Microsoft Corporation | Method and system for controlling unauthorized access to information distributed to users |
US5586304A (en) * | 1994-09-08 | 1996-12-17 | Compaq Computer Corporation | Automatic computer upgrading |
EP0717337B1 (en) * | 1994-12-13 | 2001-08-01 | International Business Machines Corporation | Method and system for the secured distribution of programs |
US5825877A (en) * | 1996-06-11 | 1998-10-20 | International Business Machines Corporation | Support for portable trusted software |
-
1997
- 1997-04-10 US US08/831,696 patent/US6108420A/en not_active Expired - Fee Related
-
1998
- 1998-03-18 WO PCT/CA1998/000241 patent/WO1998045768A1/en not_active Application Discontinuation
- 1998-03-18 JP JP54216898A patent/JP2002503365A/ja active Pending
- 1998-03-18 CA CA002285392A patent/CA2285392A1/en not_active Abandoned
- 1998-03-18 EP EP98910552A patent/EP0974084A1/en not_active Withdrawn
- 1998-03-18 AU AU64921/98A patent/AU6492198A/en not_active Abandoned
- 1998-03-18 CN CN98804864A patent/CN1255209A/zh active Pending
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN100428256C (zh) * | 2002-07-23 | 2008-10-22 | 索尼株式会社 | 信息处理设备和信息处理方法 |
CN101238470B (zh) * | 2005-08-10 | 2010-08-18 | 诺基亚公司 | 操作计算设备的方法、制造软件的方法 |
CN1946222B (zh) * | 2005-10-04 | 2011-08-31 | 乐金电子(中国)研究开发中心有限公司 | 移动通信终端的软件认证装置及其方法 |
CN100396012C (zh) * | 2006-02-23 | 2008-06-18 | 华为技术有限公司 | 基于设备管理协议的软件合法性验证系统及验证方法 |
CN107924304A (zh) * | 2015-05-06 | 2018-04-17 | 迈克菲有限公司 | 在安装过程中对捆绑软件的存在进行警告 |
Also Published As
Publication number | Publication date |
---|---|
AU6492198A (en) | 1998-10-30 |
WO1998045768A1 (en) | 1998-10-15 |
EP0974084A1 (en) | 2000-01-26 |
US6108420A (en) | 2000-08-22 |
CA2285392A1 (en) | 1998-10-15 |
JP2002503365A (ja) | 2002-01-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1255209A (zh) | 对唯一定制的、合法的和可跟踪的软件应用进行网上安装的方法和系统 | |
US6889209B1 (en) | Method and apparatus for protecting information and privacy | |
CN1220121C (zh) | 程序分发设备、客户设备、程序分发系统和程序分发方法 | |
US9628447B2 (en) | Methods and apparatus for protected distribution of applications and media content | |
CN100401271C (zh) | 用于控制网络上的数据存取的方法和装置 | |
US7991995B2 (en) | Method and apparatus for protecting information and privacy | |
JP4746233B2 (ja) | データの使用を制限するトラステッドコンピューティングプラットフォーム | |
US7734921B2 (en) | System and method for guaranteeing software integrity via combined hardware and software authentication | |
US10992480B2 (en) | Method and system for performing a transaction and for performing a verification of legitimate access to, or use of digital data | |
CN1326629A (zh) | 鉴定及利用计算机系统安全资源的方法和系统 | |
US6920563B2 (en) | System and method to securely store information in a recoverable manner on an untrusted system | |
US11063766B2 (en) | Method and system for performing a transaction and for performing a verification of legitimate access to, or use of digital data | |
CN1333610A (zh) | 验证用户的方法 | |
EP3731127B1 (en) | Control system and method thereof for secure manufacturing | |
US11455379B2 (en) | Control system and method thereof for secure manufacturing | |
US7197144B1 (en) | Method and apparatus to authenticate a user's system to prevent unauthorized use of software products distributed to users | |
JP2002352146A (ja) | コンテンツ部分課金方法及びシステム及びコンテンツ部分課金プログラム及びコンテンツ部分課金プログラムを格納した記憶媒体 | |
CN116167020A (zh) | 一种软件授权方法及系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
C53 | Correction of patent of invention or patent application | ||
CB02 | Change of applicant information |
Applicant after: Network Action Corp. Applicant before: Charnaiwer Co., Ltd. |
|
COR | Change of bibliographic data |
Free format text: CORRECT: APPLICANT; FROM: CHARNAIWER CO., LTD. TO: NETWORKS ACTIVITY CO.,LTD. |
|
SE01 | Entry into force of request for substantive examination | ||
C02 | Deemed withdrawal of patent application after publication (patent law 2001) | ||
WD01 | Invention patent application deemed withdrawn after publication | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: WD Ref document number: 1027178 Country of ref document: HK |