CN1255209A - 对唯一定制的、合法的和可跟踪的软件应用进行网上安装的方法和系统 - Google Patents

对唯一定制的、合法的和可跟踪的软件应用进行网上安装的方法和系统 Download PDF

Info

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
Application number
CN98804864A
Other languages
English (en)
Inventor
格尔顿·艾德华·拉罗斯
戴维·伊恩·阿兰
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.)
CHARNAIWER Co Ltd
Original Assignee
CHARNAIWER Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by CHARNAIWER Co Ltd filed Critical CHARNAIWER Co Ltd
Publication of CN1255209A publication Critical patent/CN1255209A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/61Installation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • G06F21/16Program 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.用于在所述安装计算机存储部件中安装所述软件应用的装置。
CN98804864A 1997-04-10 1998-03-18 对唯一定制的、合法的和可跟踪的软件应用进行网上安装的方法和系统 Pending CN1255209A (zh)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

Cited By (5)

* Cited by examiner, † Cited by third party
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