CN101263489B - 阻止批量许可环境中的盗版的方法 - Google Patents

阻止批量许可环境中的盗版的方法 Download PDF

Info

Publication number
CN101263489B
CN101263489B CN2006800337644A CN200680033764A CN101263489B CN 101263489 B CN101263489 B CN 101263489B CN 2006800337644 A CN2006800337644 A CN 2006800337644A CN 200680033764 A CN200680033764 A CN 200680033764A CN 101263489 B CN101263489 B CN 101263489B
Authority
CN
China
Prior art keywords
message
machine
activation
identifier
software
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.)
Expired - Fee Related
Application number
CN2006800337644A
Other languages
English (en)
Other versions
CN101263489A (zh
Inventor
C·格恩亚克蒂
R·W·米勒
X·(M·)谭
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Microsoft Technology Licensing LLC
Original Assignee
Microsoft Corp
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
Family has litigation
First worldwide family litigation filed litigation Critical https://patents.darts-ip.com/?family=37889129&utm_source=google_patent&utm_medium=platform_link&utm_campaign=public_patent_search&patent=CN101263489(B) "Global patent litigation dataset” by Darts-ip is licensed under a Creative Commons Attribution 4.0 International License.
Application filed by Microsoft Corp filed Critical Microsoft Corp
Publication of CN101263489A publication Critical patent/CN101263489A/zh
Application granted granted Critical
Publication of CN101263489B publication Critical patent/CN101263489B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • G06F21/101Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM] by binding digital rights to specific entities
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2135Metering
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2151Time stamp

Abstract

一种用于阻止批量许可环境中的软件盗版的方法和计算机可读介质。生成并发送激活旁路消息。将包含在激活旁路消息中的信息与机器标识符列表进行比较。绑定服务信息包含该列表中的机器标识符的计数。一旦该计数到达预定阈值,则可进行软件激活旁路。

Description

阻止批量许可环境中的盗版的方法
技术领域
本发明涉及软件防盗版,尤其涉及用于阻止批量许可环境中的盗版的方法。
背景技术
软件盗版是使软件厂商每年流失大量金钱的全球性问题。一种称为临时拷贝的盗版形式是在多个计算机上共享和安装软件,这违反了终端用户许可协议。产品激活是减少这类盗版的一种方法。
产品激活通常依赖于向软件厂商提交安装标识代码和/或硬件标识符。作为响应,软件厂商返回激活确认代码。在典型的零售应用程序的产品激活中,为每个盒装软件封装提供唯一产品密钥。通常,在某一试用期(软件安装之后在无需激活的情况下运行的时间段)之后或期间,顾客必须联系软件厂商以激活他或她的软件副本。未能激活的后果通常是软件的停用或者软件功能的降级。通常,使用唯一产品密钥来生成唯一产品标识代码,该代码可与散列的硬件相关值组合以生成运行该软件的机器专用的安装标识代码。通常将允许该软件运行的激活确认返回给客户。在这方面,激活确认也可以是许可文件,或者表示许可的二进制文件。在每次登陆时,获许可软件都进行校验以查看它实际上是运行在其被激活的同一硬件上。如果校验失败,则在软件再次运行之前需要再次激活。
公司客户一般购买批量许可,因为对于公司客户—在其域中可能具有成百或上千台机器—而言对每个已安装软件副本联系软件厂商以获得机器专用激活代码并不可行。因此通常,批量许可的持有者无需联系软件厂商来激活其软件,因为当检测到批量许可密钥时,软件会绕过激活要求。这就是公知的“产品激活旁路”。因此,同一批量许可密钥能够在许多不同计算机上使用,而无需在试用期满之前或之后进行激活以便运行该软件。虽然该特征使批量许可密钥对公司客户安装软件而言更加方便,但是它同样是吸引力的盗版目标。例如,盗版者获得合法的批量许可介质并购买或盗取有效的批量许可产品密钥。可在称为“商家对消费者”盗版通道的方案中将该介质和产品密钥重新目的化并向不知情客户出售。
因此,需要一种用于在网络化计算环境中阻止盗版而不会使合法客户过度承担繁琐的反盗版要求的机制。本发明满足这一需要。
发明内容
针对以上缺点和不足,一实施方式将一种软件激活旁路机制纳入到批量许可环境中。根据这一实施方式,向软件应用程序提供一种指定需要在客户网络上出现以便进行软件应用程序的正确激活旁路的最少机器数的策略。将网络内的一台计算机指定为绑定服务机,而要安装软件应用程序的其它计算机作为客户机。在某一时刻,每一客户机尝试执行该软件的激活旁路。为此,该客户机生成含有机器标识符、时间戳以及与该软件应用程序相关的信息的激活旁路消息,并将该信息发送给绑定服务机。
在收到激活旁路消息时,绑定服务机对照所有这些已收到的机器标识符的列表检验该机器标识符。如果该机器标识符并未出现在信任存储中,则对其进行添加。绑定服务机对列表中的唯一机器标识符的数量进行计数,并将该计数输入到发送给客户机的绑定服务消息中。在收到绑定服务消息时,客户机判定该计数是否满足策略,如果是,则该机器能够激活这一软件。
提供本概述是为了以简化形式引入在以下详细描述中将进一步描述的概念精选。本概述不旨在标识要求保护主题的关键特征和本质特征,也不只在用于帮助确定要求保护主题的范围。
附图说明
结合附图进行阅读,能够更好地理解以上概述以及以下对较佳实施方式的详细描述。出于对本发明进行说明的目的,附图中示出本发明的示例结构;然而,本发明并不限于附图中所公开的具体方法和设备:
图1是其中可实现本发明诸方面的示例计算环境;
图2A是示出根据一实施方式的其中软件盗版可被阻止的示例网络的框图;
图2B是可根据一实施方式使用的示例激活旁路消息的框图;
图2C是可根据一实施方式使用的示例绑定服务消息的框图;
图3是示出根据一实施方式的允许软件激活旁路的示例客户机方法的流程图;以及
图4是示出根据一实施方式的激活软件的示例绑定服务方法的流程图。
具体实施方式
总览
一实施方式将软件激活旁路机制纳入到批量许可环境中。激活旁路机制无需客户联系软件厂商。根据这一实施方式,向软件应用程序提供一种策略。该策略指定需要出现在客户网络上以便进行该软件应用程序的正确激活旁路的最少机器数。将网络内的一台计算机指定为绑定服务机。要安装软件应用程序的其它计算机作为客户机。将该软件应用程序的副本安装在每台计算机(即,例如绑定服务机和客户机)上,并且在某一时刻(例如登陆时),每一客户机尝试执行该软件的激活旁路。为此,该客户机生成含有机器标识符、时间戳和与该软件应用程序相关的信息的激活旁路消息,并将这一消息发送给绑定服务机。
在收到激活旁路消息时,绑定服务机对照含有所有这些已收到的机器标识符的列表的信任存储来校验该机器标识符。如果该机器标识符未在信任存储中出现,则对其进行添加。绑定服务机对信任存储中的唯一机器标识符的数量进行计数,并将该计数输入到发送给客户机的绑定服务消息中。在收到该绑定服务消息时,客户机判定该计数是否满足策略(即是否达到最少机器数)。如果是,则该机器能够启用该软件的激活旁路。否则,该软件保持未激活,并且在适用时继续在“试用”期内操作。
使用满足法定要求的特性对本发明的主题进行描述。然而,描述本身并不旨在限制本专利的范围。相反,发明人已经想到,结合其它现有或未来的技术,要求保护的主题也可通过其它方式实施,以包含不同与本申请中所述的类似的不同步骤或元素。此外,虽然在本文中,属于“步骤”可用于标识所使用方法的不同方面,但是该属于不应被解释为暗示本文所公开的各个步骤之间的任何特定次序,除非明示了各个步骤的次序。
示例计算环境
图1示出其上可实现本发明的合适计算系统环境100的示例。计算系统环境100只是合适计算环境的一个示例,并不旨在对本发明的使用范围或功能提出任何限制。计算系统环境100不应被解释为具有与在示例计算系统环境100中描述的组件中任一个或组合相关的任何依赖或要求。
本发明可在许多其它通用或专用计算系统环境或配置中操作。适用于本发明的公知计算系统、环境和/或配置的示例包括,但不局限于:个人计算机、服务器计算机、手持式或膝上型设备、多处理器系统、基于微处理器的系统、机顶盒、可编程消费电子设备、网络PC、小型计算机、大型计算机、包括以上系统或设备中任一个的分布式计算环境等。
本发明可在由计算机执行的诸如程序模块的计算机可执行指令的通用上下文中描述。通常,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等。通常可按照各个实施方式中所述的,对程序模块的功能进行组合或分布。本发明还可以在其中由通过通信网络链接的远程处理设备执行任务的分布式计算环境中实施。在分布式计算环境中,程序模块位于包括存储器存储设备的本地和远程计算机存储介质中。
参照图1,用于实现本发明的示例系统包括计算机110形式的通用计算设备。计算机110的组件可包括,但不局限于:处理单元120、系统存储器130以及将包括系统存储器在内的各种系统组件耦合到处理单元120的系统总线121。系统总线121可以是若干类型总线结构中的任一种,包括存储器总线或存储器控制器、外围总线和使用各种总线架构中任一种的局域总线。作为示例而非限制,这些架构包括工业标准架构(ISA)总线、微信道架构(MCA)总线、增强的ISA(EISA)总线、视频电子技术标准协会(VESA)局域总线以及也被称为Mezzanine(夹层)总线的外围组件互连(PCI)总线。
计算机110通常包括各种计算机可读介质。计算机可读介质可以是可由计算机110访问的任何可用介质,并且包括易失性和非易失性介质、可移动和不可移动介质。作为示例而非限制,计算机可读介质包括计算机存储介质和通信介质。计算机存储介质包括以任何方法或技术实现的用于存储诸如计算机可读指令、数据结构、程序模块或其它数据的信息的易失性和非易失性、可移动和不可移动介质。计算机存储介质包括,但不局限于:RAM、ROM、EEPROM、闪存或其它存储技术、CD-ROM、数字多功能盘(DVD)或其它光盘存储、盒式磁带、磁带、磁盘存储或其它磁性存储设备、或可用于存储所需信息并可由计算机110访问的任何其它介质。通信介质通常具体化为诸如载波或其它传输机制的调制数据信号中的计算机可读指令、数据结构、程序模块或其它数据,并可包括任何信息传输介质。术语“调制数据信号”表示以在信号中编码信息的方式设置或改变其一个或多个特征的信号。作为示例而非限制,通信介质包括诸如有线网络或直接接线连接的有线介质,以及诸如声学、RF、红外线的无线介质和其它无线介质。以上中任一种的组合也应包含在计算机可读介质的范围内。
系统存储器130包括诸如只读存储器(ROM)131和随机存取存储器(RAM)132的易失性和/或非易失性存储器形式的存储介质。包含在诸如启动期间帮助在计算机110内元件之间传递信息的基本例程的基本输入/输出系统133(BIOS)通常存储在ROM 131中。RAM 132通常包含可由处理单元120即时访问和/或正在其上操作的数据和/或程序模块。作为示例而非限制,图1示出操作系统134、应用程序135、其它程序模块136和程序数据137。
计算机110还可包括其它可移动/不可移动、易失性/非易失性计算机存储介质。仅作为示例,图1示出从不可移动、非易失性磁性介质读取或向其写入的硬盘驱动器141、从可移动、非易失性磁盘152读取或向其写入的磁盘驱动器151、和从诸如CD ROM或其它光学介质的可移动、非易失性光盘156读取或向其写入的光盘驱动器155。可用于示例性操作环境的其它可移动/不可移动、易失性/非易失性计算机存储介质包括,但不局限于:磁带盒、闪存卡、数字多功能盘、数字录像带、固态RAM、固态ROM等。硬盘驱动器141通常由诸如接口140的不可移动存储器接口连接到系统总线121,而磁盘驱动器151和光盘驱动器155则通常由诸如接口150的可移动存储器接口连接到系统总线121。
以上描述和图1中示出的驱动器及其关联计算机存储介质为计算机110提供计算机可读指令、数据结构、程序模块和其它数据的存储。例如在图1中,硬盘驱动器141被示为存储操作系统144、应用程序145、其它程序模块146和程序数据147。注意,这些组件可与操作系统134、应用程序135、其它程序模块136和程序数据137相同或不同。在此对操作系统144、应用程序145、其它程序模块146和程序数据147给出不同的附图标记至少说明它们是不同的副本。用户可通过诸如键盘162和定点设备161(通常指的是鼠标、跟踪球或触摸垫)的输入设备向计算机110输入命令和信息。其它输入设备(未示出)可包括话筒、操纵杆、游戏垫、圆盘式卫星天线、扫描仪等。这些和其它输入设备通常由耦合到系统总线的用户输入接口160连接到处理单元120,但是也可由诸如并行端口、游戏端口或通用串行总线(USB)之类的其它接口和总线结构连接。监视器191或其它类型的显示设备也可经由诸如视频接口190的接口连接到系统总线121。除了监视器之外,计算机还可包括可以通过输出外围接口195连接的诸如扬声器197和打印机196的其它外围输出设备。
计算机110可在使用到诸如远程计算机180的一个或多个远程计算机的逻辑连接的网络化环境中操作。远程计算机180可以是个人计算机、服务器、路由器、网络PC、对等设备或其它公共网络节点,并且通常包括以上相关于计算机110描述的元件中的多个或全部,但在图1中仅仅示出了存储器存储设备181。在图1中所描绘的逻辑连接包括局域网(LAN)171和广域网(WAN)173,但是也可以包括其它网络。这种网络环境在办公室、企业内部计算机网络、内联网和因特网中十分常见。
当在LAN网络环境中使用时,计算机110通过网络接口或适配器170连接到LAN 171。当在WAN网络环境中使用时,计算机110通常包括调制解调器172或用于在诸如因特网的WAN 173上建立通信的任何装置。或为内置或为外置的调制解调器172可经由用户输入接口160或其它适当机制连接到系统总线121。在网络化环境中,相关于计算机110描述的程序模块或其部分可存储在远程存储器存储设备中。作为示例而非限制,图1示出驻留在存储器设备181上的远程应用程序185。应该理解,所示网络连接是示例性的,且可以使用在计算机之间建立通信链路的其它装置。
示例分布式计算框架或体系结构
由于个人计算技术和因特网的结合,已经和正在开发各种分布式计算框架。向个人和企业用户提供应用程序和计算设备的可无缝共同操作和启用web的接口,从而使计算活动日益面向web浏览器或面向网络。
例如,MICROSOFT
Figure GA20176479200680033764401D00071
的.NET平台包括服务器、诸如基于web的数据存储的构建块服务以及可下载设备软件。一般而言,.NET平台提供(1)使计算设备的全体一起工作并自动更新和同步全部设备上的用户信息的能力,(2)通过更多地使用XML而非HTML实现web站点交互能力增加,(3)以定制访问以及从管理诸如电子邮件的各种应用程序或诸如Office.NET的软件的中央起始点到用户的产品和服务传送为特色的在线服务,(4)集中式数据存储,增加访问信息的效率和便捷以及用户和设备之间的信息同步,(5)集成诸如电子邮件、传真和电话的各种通信媒介的能力,(6)对于开发者,创建可再使用的模块的能力,从而增加生产率并减少编程差错的数量,以及(7)许多其它交叉平台集成特征。
虽然在本文中相关于驻留在计算设备上的软件来描述示例实施方式,但是本发明的一个或多个部分也可通过操作系统、API或协处理器与请求对象之间的中间软件来实现,使得可由.NET语言和服务的全部以及其它分布式计算框架来执行、支持或经由其访问服务。
示例实施方式
在以下讨论中,假设与在软件激活上下文中在计算机网络中的计算机之间实现安全通信相关的细节是本领域技术人员已知的。因此,为简洁起见,在此省略这些细节。
在一实施方式中,提供具有关联策略的批量许可软件。该策略指定需要在客户网络上出现以便进行软件的正确激活旁路的机器数目。该策略数据可被写进例如可由客户网络中的机器进行认证的已签名的可扩展权限标记语言(XrML)文件。将网络中的一台计算机指定为绑定服务机。这一指定可由例如客户、软件厂商、软件应用程序自身等作出。要安装软件应用程序的其它计算机作为客户机。将该软件应用程序的副本安装在每台计算机(即例如绑定服务机和客户机)上,并且在某一时刻(例如登陆时),每一客户机尝试激活该软件。
除了任何其它安全措施之外,可将诸如处理器标识符之类的唯一机器属性用作机器标识符,以保护寻求软件激活旁路的计算机与提供启用这种激活旁路的绑定服务的计算机之间的通信路径。寻求激活其软件副本的客户机生成包含其机器标识符、时间戳、与该软件应用程序相关的信息以及机器认证码(MAC)的激活旁路信息,并将该消息发送给绑定服务机。通过使用MAC,一实施方式使客户机和绑定服务的消息(以下详细描述)能够通过消息自身而得到认证。以这种方式,这些消息的认证可以是自备的,而不需要依赖于客户机与绑定服务之间的通信层。一旦消息被传输到绑定服务,绑定服务就检查该消息以确保时间戳和MAC有效。
在收到并验证该消息的真实性时,绑定服务对照已知机器队列校验该机器标识符,并且如果未发现该机器标识符则将其添加到该队列。随后,绑定服务对队列中的唯一机器标识符的数量进行计数,并向该客户机发送包含计数的已认证回复消息。该客户机判定该计数是否满足策略(即是否已达到最少机器数)。如果是,则该机器能够启用软件激活旁路。否则,该软件保持未激活,并且在适用时继续在“试用”期中操作。
因此,应该意识到,一实施方式在允许进行批量许可软件应用程序的激活旁路之前要求客户有效地验证该软件应用程序实际上是在计算机网络中使用。一实施方式要求网络具有特定的最少机器数(软件在这些机器上进行激活旁路),并使用机器专用标识符来获取准确计数。虽然一实施方式并不要求软件安装在特定一组机器上,但是在网络上出现特定数量的机器的要求有效地阻止了大多数软件盗版者的企图。即,软件盗版者不大可能只是为了非法运行软件应用程序的目的就建立具有所要求机器数的网络,特别是在所要求机器数相当多的情况下。这对不知情或其它购买盗版的软件应用程序副本的任何个人尤其有效。应该意识到,如果将最少机器数被设置为固定数字,则需要在安全和用户友好性之间作出某种折衷。例如,该数字设置得过小则不大可能会实现有益的安全效果,而如果该数字设置得过大则对合法客户造成麻烦。
通过使用绑定服务机生成机器计数,客户机无法伪造计数来绕过激活要求。此外,计数的使用是判定软件应用程序是否按需在计算机网络中使用的轻便和可靠方法。如上所述,一实施方式简单地校验目标网络内有特定数量的不同计算机。结果,软件厂商可向不同客户销售同一软件,而无需更新或修改该软件,如同将该软件针对特定网络进行了剪裁的情形一样。因此,在一实施方式中,在高安全性和阻止盗版与在合法客户部分上安装和激活的简易性上达到可感知的平衡。应该意识到,该平衡可根据厂商和/或客户需要而更改。
图2A是根据一实施方式的其中软件盗版可被阻止的示例网络的框图。网络内的客户机220a-c可以是任何类型的计算设备。每个客户机220a-c包括软件230的副本以及各自的机器属性222a-c。软件厂商可在诸如但不限于CD-ROM的某种介质上或者直接通过诸如以上相关于图1所描述的网络向批量许可持有者提供软件230的副本。软件230所附带的可以是企业专用或者批量许可持有者专用的批量许可密匙(VLK)(未示出)。在一实施方式中,可将VLK嵌入到称为许可文件的相对较大的文件中。相应客户机220a-c的机器属性222a-c可以是标识与客户机220a-c相关联的硬件设备的任何类型的数据。例如,机器属性222a可以是客户机220a的处理器标识符等等。在一实施方式中,对每个客户机220a-c使用的机器属性222a-c的类型相同(例如每个客户机220a-c使用其处理器标识符作为其机器属性222a-c)。在其它实施方式中,每个客户机220a-c可使用不同的机器属性222a-c。
如上所述,可将网络内的一台计算机指定为绑定服务机210。绑定服务机210可以是独立的机器,或者还可以是客户机220。换言之,诸如客户机220a的客户机与绑定服务机210可以主宿在同一机器中,或者可以在不同机器上。绑定服务机210包含绑定服务212,该服务可以是例如在绑定服务机210内运行以执行软件激活旁路的进程。此外绑定服务机210包含策略216,该策略指定必须在网络中存在以进行软件激活旁路的最少唯一机器数。术语“机器”可以指代网络中要安装软件230的任何设备。虽然“机器”通常指某种类型(例如台式、膝上型等)的计算机,但是“机器”还可以指服务器、诸如PDA的设备等。此外,这一机器无需一直连接到网络(例如膝上型设备)。
策略216中设置的数字可被任意设置、在逐个情况的基础上变化、根据特定客户类型(例如公司客户)设置、根据网络大小设置等。例如,可将该策略设置成要求在允许软件激活旁路之前在网络中存在25个唯一机器。信任存储214包含已尝试激活软件的全部机器的队列。该队列可将机器表示成机器标识符(如以下所述),或者例如表示成包括机器标识符和附加信息的条目。这种附加信息可以是例如时间戳等。信任存储214可以是信任存储文件,该文件是包含一个或多个加密密匙的密匙数据库文件。密匙可作为签名人证书存储并且可用于各种目的,诸如使包含其中的数据生效。因此,信任存储214可以是机器标识符和任何附加信息的安全“可信”位置。
如上所述,为了激活其软件230的副本,客户机220a-c向绑定服务机210发送激活旁路消息。任何类型的活动都可触发这种激活旁路,诸如事件发生(例如登陆、启动软件230等)、用户引导、时间流逝之后等。在成功完成软件230的激活旁路之前,软件230可在“试用”期中操作,其中在软件230的激活旁路之前全部或部分功能将对用户可用。在一实施方式中,使用试用期是有用的,因为在客户机激活旁路的数量尝试将信任存储214中的队列填充到所需机器数之前可能需要一段时间。因此,在将队列构建到所需机器数期间,客户的用户仍然能够使用软件230。因为在一实施方式中激活旁路进程可完全自动化,所以试用期的使用可将激活旁路进程有效地呈现为对客户机220a-c之一的用户不可见。
图2B是可根据一实施方式使用的示例激活旁路消息240的框图。可根据任何适当安全消息收发格式对激活旁路消息240进行格式化。激活旁路消息240包括指定需要激活旁路的软件的软件标识符242。在一实施方式中,软件标识符242可包含软件标识符、版本号等。因此,如果多个软件应用程序根据一实施方式执行激活旁路,则可将每个应用程序的激活旁路进程保持独立,以避免与其它激活旁路进程干扰。
激活旁路消息240还可包括机器标识符244,例如,该标识符可从如上参照图2A所述的机器属性222a-c形成。例如,机器属性222a-c可以是散列的、加密的等,以形成机器标识符224。或者,机器标识符244可简单地包括机器属性222a-c而不作进一步处理或更改。激活旁路消息240还可包括时间戳246。时间戳246可用于保护软件免受“重放”攻击等,因为由机器标识符244推进的软件绑定很流行。最后,激活旁路消息240可包括可以例如通过消息认证码(MAC)等执行的认证248。虽然为清楚起见在图2B中未示出,但是激活旁路消息240还可包括诸如与策略216相关的信息的附加字段。
图2C是可根据一实施方式使用的示例绑定服务消息250的框图。与以上参照图2B所述的激活旁路消息240类似,绑定服务消息250包含软件标识符242、机器标识符244(标识客户机)、时间戳246(例如在激活旁路消息240中使用的时间戳)和认证248。认证248可以与激活旁路消息240的认证248相同的方式执行,或者可根据不同的协议执行。此外,绑定服务消息250包括计数252,如上参照图2A所述,该计数对应于在信任存储214的队列中列出的唯一机器标识符的数量。虽然为清楚起见在图2C中未示出,但是绑定服务消息250可包括其它字段,诸如与策略216相关的信息。
图3是示出根据一实施方式的激活软件的示例客户机方法的流程图。应该意识到,方法300在安装过程中启动和/或执行,或者可在后来(例如登陆)执行。方法300可在例如无人照管文件的帮助下进行。无人照管文件是与软件安装例程结合使用以绕过正常安装提示(以执行无人照管安装)的文本文件。例如,无人照管文件可自动输入VLK,配置代理设置以及代表终端用户通过目标机器的局域网(LAN)或经由因特网等来自动激活系统。激活旁路还可以在安装之后使用命令行脚本执行。
在步骤301,由客户机生成客户机激活旁路消息,诸如以上参照图2B所述的激活旁路消息240。在软件最初安装时,或者在客户机判定已安装软件应用程序的当前批量许可不再有效时等等,可生成客户机激活旁路消息。在步骤302,将激活旁路消息发送到绑定服务机。步骤302可在步骤301之后立即进行,或者一段延时之后进行。例如,如果客户机是当前从网络断开的膝上型计算机,则可在用户启动该计算机时生成激活旁路消息。一旦用户将客户端膝上型计算机重新连接到网络,则激活旁路消息可被发送到绑定服务机。因此,以上参照图2B所述的时间戳可对应于例如生成或发送激活旁路消息的时刻。在步骤303,由客户端机器接收绑定服务消息,诸如以上参照图2C所述的绑定服务消息250。以下参照图4讨论涉及绑定服务消息创建的示例方法。
在步骤305,在任何必要的消息认证处理之后,从绑定服务消息提取计数(诸如计数252),并将其与关联于客户端的软件应用程序副本的预定计数进行比较。应该意识到,预定计数可对应于以上参照图2A所述的策略216。在步骤307,对所收到的计数是否等于或大于预定计数作出判定。应该意识到,该策略可以指定需要匹配还是超过预定计数。
如果所收到的计数并不适当地大于或等于预定计数,则在步骤309,方法300结束。应该意识到,没有进行客户机软件副本的激活旁路,因为绑定服务还未收到软件策略所要求的最少数量的唯一机器标识符。如果例如该软件包括允许在给定时段中使用该软件而无需激活旁路的“试用期”,则用户仍然可以使用该软件。
如果收到的计数大于或等于预定计数,则在步骤311,软件允许使用与绑定机制协作的旁路标记而进行的激活旁路。该绑定机制确保激活旁路标记无法被简单地拷贝并在另一机器上使用。在一实施方式中,绑定机制专用于每个单独计算机。在一实施方式中,一旦步骤311完成,则客户机就无需再为认证软件应用程序的目的而联系绑定服务机。在一替换实施方式中,方法300还能够以设定或可变的间隔重复。例如,如果包含在信任存储队列中的机器标识符可以具有指定的使用期限,在该期限之后就将机器标识符从队列中删除。在这一实施方式中,方法300可以以某一间隔重复以保持队列(及其相应计数)是当前的。
应该意识到,当第一次安装该软件时,在信任存储的队列中可能没有所列出机器。例如,当第一客户机尝试执行其软件副本的激活旁路时,绑定服务会访问信任存储以判定该客户机是否被列在包含其中的队列内。因为先前没有客户机尝试对其软件副本执行激活旁路,所以在信任存储中没有列出客户机直到第一客户机被添加。如果预定计数未达到,则客户端机器可继续在试用期中工作。超过试用期,客户端机器可在功能减少的模式下工作,或者终端用户可以向软件厂商请求延长。
图4是示出根据一实施方式的执行软件激活旁路的示例绑定服务方法400的流程图。在步骤401,接收激活旁路消息,诸如以上参照图2B所述的激活旁路消息240。在任何适当的消息认证处理完成之后,在步骤403,将包含在激活旁路消息内的机器标识符与包含在绑定服务机器的信任存储的队列内的任何机器标识符进行比较,以查看在该队列中是否存在该机器标识符。如果该机器标识符已经存在,则方法400进行到步骤407,随后马上描述。或者,在使用时间戳的实施方式中,在进行到步骤407之前,可用刚收到的机器标识符替换存储在列表中的机器标识符。以这种方式,列表将包含最近收到的机器标识符。如果机器标识符并未存在,则在步骤405,将该机器标识符添加到该队列。在某些实例中,可将附加信息连同机器标识符一起存储在队列中。例如,可以存储时间戳以避免来自潜在软件盗版者的重放攻击。
在步骤407,对队列中的机器标识符的数目进行计数。应该意识到,因为方法400只在机器标识符并未存在的情况下将该机器标识符置于队列中,所以队列持有唯一的机器标识符(即每个机器标识符被存储一次,不管特定客户机已发送多少次激活旁路消息)。在步骤409,向发送在步骤401接收的激活旁路消息的客户机发送包含计数的消息。在一实施方式中,可在预定时间之后将机器标识符从队列中删除(未在图4中示出)。例如,软件应用程序的策略可以规定,与一次性启用软件激活旁路不同,该软件应该周期性地重复激活旁路进程以确保该用户仍然是客户网络的一部分。因此,通过周期性地删除机器标识符,计数值可能会落到策略所要求的机器标识符数之下,除非网络上仍然存在足够数量的客户机(并发送激活旁路消息)。
应该意识到,在这一实施方式中,客户端机器应当被配置成周期性地尝试重复激活旁路进程以确保机器标识符计数保持足够高。此外,如果客户机从不尝试重复激活旁路进程,则即使机器标识符计数落到阈值以下该软件也可保持激活。
注意,以上示例仅为说明目的而提供,完全不能被解读为对本发明的限制。同样注意,存在根据本发明使应用程序和服务能够获取许可信息的各种实现本发明的方式,例如适当的API、工具箱、驱动代码、动态链接库(DLL)、操作系统、控件、独立或可下载软件对象等。本发明的各个实施方式从API(或其它软件对象)的角度、以及从结合本文所述的VLK许可技术进行通信的软件或硬件对象的角度构想本发明的使用。因此,本文所述的本发明的各种实现可能具有完全硬件、部分硬件和部分软件以及软件的多个方面。
如上所述,虽然结合各种计算设备和网络架构描述了示例实施方式,但是根本概念可应用于期望阻止盗版的任何计算设备或系统。因此,根据一实施方式编码/解码数据的技术可用于各种应用程序和设备。例如,一实施方式的算法和硬件实现可应用于计算设备的操作系统,作为该设备上的独立对象、另一对象的一部分、可重新使用的控件、可从服务器下载的对象、设备或对象与网络之间的“中间人”、分布式对象、硬件、在存储器中、上述任一种的组合而提供。虽然本文中选择示例编程语言、名称和示例作为各种选择的代表,但是这些语言、名称和示例并不旨在作为限制。对于涉及使用控件实现本发明的实施方式,本发明不限于提供.NET控件,相反,应该在根据本发明实现盗版阻止目的的任何一个软件(和/或硬件)的更宽泛上下文中考虑。本领域技术人员应该意识到,存在提供实现由本发明的各个实施方式实现的相同、类似或等效功能的对象代码和命名的许多方法。实施方式可结合在线拍卖或投标站点实现。
如上所述,本文所述的各种技术可结合硬件或软件或者在适当时结合两者的组合来实现。因此,本发明的各个实施方式的方法和设备或其某些方面或部分可采用在诸如软盘、CD-ROM、硬盘驱动器或任何其它机器可读存储介质的有形介质上具体化的程序代码的形式,其中当将程序代码加载到诸如计算机的机器中并由其执行时,该机器变成用于实施本发明的设备。在可编程计算机上执行程序代码的情形中,计算设备通常包括处理器、处理器可读的存储介质(包括易失性和非易失性存储器和/或存储元件)、至少一个输入设备和至少一个输出设备。可例如通过使用数据处理API、可重用控件等使用本发明的盗版阻止技术的一个或多个程序较佳地采用高级过程或面向对象编程语言实现,以与计算机系统通信。然而,程序可以按需采用汇编或机器语言实现。在任一情形中,语言可以是已编译或已解释语言,并与硬件实现相结合。
本发明的各个实施方式的方法和设备还可经由以通过某种传输介质(诸如通过电配线或敷设缆线、通过光纤、或经由任何其它形式的传输)发送的程序代码形式具体化的通信来实施,其中当该程序代码被接收并加载到机器(诸如EPROM、门阵列、可编程逻辑设备(PLD)、客户端计算机、摄像机等)中并由其执行时,具有如上在示例实施方式中描述的信号处理能力的接收机器变成用于实现本发明的设备。当在通用处理器上实现时,该程序代码与该处理器结合以提供用于调用本发明的功能的独特设备。此外,结合本发明使用的任何存储技术可以始终是硬件和软件的组合。
虽然结合各个附图的较佳实施方式对本发明进行描述,但是应该理解,可使用其它类似的实施方式,或者可对所述实施方式进行添加以执行本发明的相同功能而不与其相背离。例如,虽然在诸如对等网络化环境的网络化环境中对本发明的示例网络环境进行了描述,但是本领域技术人员应该认识到,本发明并不限于此,并且在本发明中描述的方法可应用于无线的或有线的任何计算设备或环境,诸如游戏操纵台、手持式计算机、便携式计算机等,并且可用于经由通信网络连接并在网络上交互的任何数量的这种计算设备。此外,要强调的是,包括手持式设备操作系统和其它应用程序专用操作系统的各种计算机平台都是可以预期的,尤其是随着无线网络化设备的数量不断激增。此外,本发明还可以跨多个处理芯片或设备或者在其中实现,并且存储可类似地跨多个设备实施。因此,本发明不应局限于任何单个实施方式,相反应该以根据所附权利要求书的宽度和范围来解读。

Claims (20)

1.一种阻止批量许可环境中的盗版的方法,包括:
在客户机生成激活旁路消息,其中所述激活旁路消息包括机器标识符和与要进行激活旁路的软件应用程序相关联的软件标识符;
将所述激活旁路消息发送到绑定服务机;
从所述绑定服务机接收包括机器计数的绑定服务消息,所述机器计数对应于在所述计算机网络上存在的已经向所述绑定服务机发送了至少一个激活旁路消息的机器的数量;
将所述机器计数与预定计数进行比较;以及
如果所述机器计数大于或等于所述预定计数,则允许所述软件应用程序的激活旁路。
2.如权利要求1所述的方法,其特征在于,所述激活旁路消息还包括表明生成所述激活旁路消息的时刻的时间戳。
3.如权利要求1所述的方法,其特征在于,所述激活旁路消息通过所述计算机网络发送。
4.如权利要求3所述的方法,其特征在于,所述激活旁路消息在要绕过所述软件应用程序的激活的机器登陆到所述计算机网络时被发送。
5.如权利要求4所述的方法,其特征在于,所述机器标识符是从要绕过所述软件应用程序的激活的机器的硬件属性导出的。
6.如权利要求1所述的方法,其特征在于,所述预定计数由与所述软件应用程序相关联的策略来定义。
7.如权利要求6所述的方法,其特征在于,所述激活旁路消息还包括所述策略。
8.如权利要求6所述的方法,其特征在于,所述策略作为与所述软件应用程序相关联的已签名可扩展权限标记语言文件的一部分被存储。
9.如权利要求8所述的方法,其特征在于,所述生成激活旁路消息的步骤和将所述激活旁路消息发送到绑定服务机的步骤以预定间隔重复。
10.如权利要求1所述的方法,其特征在于,所述激活旁路消息还包括第一消息认证码,并且所述绑定服务消息还包括第二消息认证码,所述方法还包括使用所述第二消息认证码认证所述绑定服务消息。
11.一种阻止批量许可环境中的盗版的方法,包括:
从客户机接收激活旁路消息,其中所述激活旁路消息包括客户机标识符和与具有要绕过的激活要求的软件应用程序相关联的软件标识符;
判定所接收到的客户机标识符是否在客户机标识符列表中;
如果所接收到的客户机标识符不在所述客户机标识符列表中,则将所接收到的客户机标识符添加到所述客户机标识符列表中;
确定所述客户机标识符列表内客户机标识符的数量;以及
发送绑定服务消息,其中所述绑定服务消息包括所述客户机标识符的数量,
其中,所述客户机标识符的数量要在所述客户机与一预定计数进行比较,如果所述客户机标识符的数量等于或大于所述预定计数,则在所述客户机允许所述软件应用程序的激活旁路。
12.如权利要求11所述的方法,其特征在于,所述激活旁路消息还包括第一消息认证码,且所述绑定服务消息还包括第二消息认证码,并且所述方法还包括使用所述第二消息认证码认证所述激活旁路消息。
13.如权利要求11所述的方法,其特征在于,还包括在预定时间之后从所述客户机标识符列表删除所接收到的客户机标识符。
14.如权利要求11所述的方法,其特征在于,所述客户机标识符是从所述客户机的硬件属性导出的。
15.如权利要求11所述的方法,其特征在于,所述激活旁路消息还包括表明由所述客户机生成所述激活旁路消息的时刻的时间戳。
16.如权利要求15所述的方法,其特征在于,所述客户机标识符列表中的每个客户机标识符被表示成包括该客户机标识符和相关联的时间戳的条目。
17.如权利要求16所述的方法,其特征在于,还包括:如果所接收到的客户机标识符在客户机标识符条目列表中,则用对应于与最近的时间戳相关联的客户机标识符的条目代替所述条目。
18.一种阻止批量许可环境中的盗版的方法,包括:
在客户机处生成激活旁路消息,其中所述激活旁路消息包括客户机标识符和与要绕过其激活的软件应用程序相关联的软件标识符;
将所述激活旁路消息发送到绑定服务机;
在所述绑定服务机处,判定所接收到的客户机标识符是否在机器标识符列表中;
如果所接收到的客户机标识符不在所述机器标识符列表中,则在所述绑定服务机处将所接收到的客户机标识符添加到所述机器标识符列表;
在所述绑定服务机处,确定所述机器标识符列表内唯一机器标识符的数量;
向所述客户机发送绑定服务消息,其中所述绑定服务消息包括所述唯一机器标识符的数量;
在所述客户机处,将所述唯一机器标识符的数量与预定计数进行比较;以及
如果所述唯一机器标识符的数量大于或等于所述预定计数,则允许所述软件应用程序的激活旁路。
19.如权利要求18所述的方法,还包括在所述绑定服务机处,在预定时间之后从所述机器标识符列表删除所接收到的客户机标识符,并且在所述客户机处,以预定间隔重复所述生成激活旁路消息的步骤和将所述激活旁路消息发送到绑定服务机的步骤。
20.如权利要求18所述的方法,其特征在于,所述激活旁路消息还包括第一消息认证码,且所述绑定服务消息还包括第二消息认证码,并且所述方法还包括在所述绑定服务机处,使用所述第一消息认证码认证所述激活旁路消息,并且在所述客户机处,使用所述第二消息认证码认证所述绑定服务消息。
CN2006800337644A 2005-09-15 2006-09-06 阻止批量许可环境中的盗版的方法 Expired - Fee Related CN101263489B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US11/227,528 US8181265B2 (en) 2003-01-31 2005-09-15 Secure machine counting
US11/227,528 2005-09-15
PCT/US2006/034631 WO2007035258A1 (en) 2005-09-15 2006-09-06 Secure machine counting

Publications (2)

Publication Number Publication Date
CN101263489A CN101263489A (zh) 2008-09-10
CN101263489B true CN101263489B (zh) 2010-12-01

Family

ID=37889129

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2006800337644A Expired - Fee Related CN101263489B (zh) 2005-09-15 2006-09-06 阻止批量许可环境中的盗版的方法

Country Status (7)

Country Link
US (1) US8181265B2 (zh)
EP (1) EP1934810B1 (zh)
JP (1) JP5185820B2 (zh)
KR (1) KR101301332B1 (zh)
CN (1) CN101263489B (zh)
BR (1) BRPI0616033B1 (zh)
WO (1) WO2007035258A1 (zh)

Families Citing this family (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7273415B2 (en) 2000-09-07 2007-09-25 Igt Gaming device having a bonus scheme with multiple selection groups
CN101065743A (zh) 2004-08-03 2007-10-31 威格沃克公司 涉及累进投注的游戏方法和装置
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
JP2008509787A (ja) 2004-08-19 2008-04-03 アイジーティー ボーナス報償を授与する多数のゲーム・マシンを有するゲーム・システム
US7892093B2 (en) 2004-08-19 2011-02-22 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
US8137188B2 (en) 2005-09-09 2012-03-20 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
US8128491B2 (en) * 2005-09-09 2012-03-06 Igt Server based gaming system having multiple progressive awards
US7780520B2 (en) 2006-03-15 2010-08-24 Igt Gaming device having multiple different types of progressive awards
US8070597B2 (en) * 2006-08-03 2011-12-06 Igt Gaming device and method having multiple progressive award levels and a secondary game for advancing through the progressive award levels
US8523665B2 (en) * 2006-10-11 2013-09-03 Igt Gaming system and method having multi-level mystery triggered progressive awards
US7963845B2 (en) 2006-11-08 2011-06-21 Igt Gaming system and method with multiple progressive award levels and a skill based determination of providing one of the progressive award levels
US20080108430A1 (en) 2006-11-08 2008-05-08 Igt Gaming system and method which provides players an opportunity to win a progressive award
US9047733B2 (en) * 2006-11-08 2015-06-02 Igt Gaming system and method for providing multiple level progressive awards with increased odds of winning higher level progressive awards
US8105149B2 (en) 2006-11-10 2012-01-31 Igt Gaming system and method providing venue wide simultaneous player participation based bonus game
US9002745B2 (en) * 2006-12-21 2015-04-07 Igt Secure media distribution in a wager gaming system
US8667604B2 (en) * 2007-09-13 2014-03-04 Microsoft Corporation Protection of software on portable medium
US20090204544A1 (en) * 2008-02-08 2009-08-13 Microsoft Corporation Activation by trust delegation
WO2009105702A2 (en) * 2008-02-22 2009-08-27 Etchegoyen Craig S License auditing for distributed applications
US8376836B2 (en) 2008-11-07 2013-02-19 Igt Server based gaming system and method for providing deferral of bonus events
US8708804B2 (en) 2012-06-22 2014-04-29 Igt Gaming system and method providing a collection game including at least one customizable award collector
CN109933609B (zh) * 2019-01-30 2022-04-01 福建天泉教育科技有限公司 一种批量生成id的方法及终端
JP7180638B2 (ja) 2020-06-08 2022-11-30 トヨタ自動車株式会社 車両の走行状態制御装置及び方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4688169A (en) * 1985-05-30 1987-08-18 Joshi Bhagirath S Computer software security system
US5182770A (en) * 1991-04-19 1993-01-26 Geza Medveczky System and apparatus for protecting computer software
US6067622A (en) * 1996-01-02 2000-05-23 Moore; Steven Jerome Software security system using remove function to restrict unauthorized duplicating and installation of an application program
CN1361882A (zh) * 1999-05-05 2002-07-31 迈克尔·O·罗宾 保护信息的方法和设备

Family Cites Families (70)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3938120A (en) * 1974-05-06 1976-02-10 Baltimore Brushes, Inc. Talking door sentinel
US4323883A (en) * 1980-12-31 1982-04-06 Sowards Lorin F Doorbell for pets
US4400696A (en) * 1981-04-29 1983-08-23 Klingensmith Robert R Animal actuated attention attracting apparatus
US4686504A (en) * 1986-08-07 1987-08-11 German Richard W Pet operable annunciator
DE3815869A1 (de) * 1987-05-08 1988-11-17 Ricoh Kk Verfahren zum extrahieren von merkmalsmengen eines zeichens
CA1258306A (en) * 1988-08-16 1989-08-08 Gordon E.L. Gunoff Doorbell activating device for pets
US5138712A (en) * 1989-10-02 1992-08-11 Sun Microsystems, Inc. Apparatus and method for licensing software on a network of computers
DE69228039T2 (de) * 1991-05-08 1999-08-05 Digital Equipment Corp Lizenz-verwaltungssystem
US5260999A (en) * 1991-06-28 1993-11-09 Digital Equipment Corporation Filters in license management system
US5204897A (en) * 1991-06-28 1993-04-20 Digital Equipment Corporation Management interface for license management system
US6134324A (en) * 1991-07-31 2000-10-17 Lsi Logic Corporation Method and system for distributing a plurality of software products, and limiting access thereto
US5365214A (en) * 1992-08-24 1994-11-15 Dimango Products Corporation Musical wireless alerting system
US5319705A (en) * 1992-10-21 1994-06-07 International Business Machines Corporation Method and system for multimedia access control enablement
US5509070A (en) * 1992-12-15 1996-04-16 Softlock Services Inc. Method for encouraging purchase of executable and non-executable software
US5303677A (en) * 1993-03-31 1994-04-19 Jones George D Pet entrance pager
JPH07110767A (ja) 1993-10-13 1995-04-25 Mitsubishi Electric Corp ソフトウエア使用ライセンス管理制御方法
US5443036A (en) * 1993-11-02 1995-08-22 Amiss; Kevin T. Method of exercising a cat
JPH07219763A (ja) * 1994-02-03 1995-08-18 Canon Inc ソフトウェアの登録/起動方法及びその装置
US5553139A (en) * 1994-04-04 1996-09-03 Novell, Inc. Method and apparatus for electronic license distribution
US5845065A (en) * 1994-11-15 1998-12-01 Wrq, Inc. Network license compliance apparatus and method
US5604478A (en) * 1995-03-06 1997-02-18 Tamara L. Grady Pet operable door chime
US5475369A (en) * 1995-05-24 1995-12-12 Baker; William J. Animal actuating signaling device
JP3688356B2 (ja) * 1995-08-31 2005-08-24 富士通株式会社 ライセンシー通知システム
US20010011253A1 (en) * 1998-08-04 2001-08-02 Christopher D. Coley Automated system for management of licensed software
US5905860A (en) * 1996-03-15 1999-05-18 Novell, Inc. Fault tolerant electronic licensing system
US5742757A (en) * 1996-05-30 1998-04-21 Mitsubishi Semiconductor America, Inc. Automatic software license manager
JP3917687B2 (ja) * 1996-08-22 2007-05-23 富士通株式会社 コンテンツ利用管理装置及びその装置を用いたコンテンツ利用システム
US5754763A (en) * 1996-10-01 1998-05-19 International Business Machines Corporation Software auditing mechanism for a distributed computer enterprise environment
JP3924342B2 (ja) * 1997-02-14 2007-06-06 富士通株式会社 ソフトウェアライセンス管理システムおよびソフトウェアライセンス管理装置
US6108420A (en) * 1997-04-10 2000-08-22 Channelware Inc. Method and system for networked installation of uniquely customized, authenticable, and traceable software application
US6263492B1 (en) * 1997-06-06 2001-07-17 Microsoft Corporation Run time object layout model with object type that differs from the derived object type in the class structure at design time and the ability to store the optimized run time object layout model
US6188995B1 (en) * 1997-07-28 2001-02-13 Apple Computer, Inc. Method and apparatus for enforcing software licenses
US6175298B1 (en) * 1998-08-06 2001-01-16 The Lamson & Sessions Co. CD quality wireless door chime
US6006035A (en) * 1997-12-31 1999-12-21 Network Associates Method and system for custom computer software installation
US6134659A (en) * 1998-01-07 2000-10-17 Sprong; Katherine A. Controlled usage software
JPH11238038A (ja) 1998-02-19 1999-08-31 Iwanami Shoten:Kk ネットワークライセンス管理システムおよび記録媒体
US6324649B1 (en) * 1998-03-02 2001-11-27 Compaq Computer Corporation Modified license key entry for pre-installation of software
US6189146B1 (en) * 1998-03-18 2001-02-13 Microsoft Corporation System and method for software licensing
US6226747B1 (en) * 1998-04-10 2001-05-01 Microsoft Corporation Method for preventing software piracy during installation from a read only storage medium
US6223288B1 (en) * 1998-05-22 2001-04-24 Protexis Inc. System for persistently encrypting critical software file to prevent installation of software program on unauthorized computers
US6044471A (en) * 1998-06-04 2000-03-28 Z4 Technologies, Inc. Method and apparatus for securing software to reduce unauthorized use
US6799277B2 (en) * 1998-06-04 2004-09-28 Z4 Technologies, Inc. System and method for monitoring software
US6169976B1 (en) * 1998-07-02 2001-01-02 Encommerce, Inc. Method and apparatus for regulating the use of licensed products
JP3573624B2 (ja) 1998-07-31 2004-10-06 三菱電機株式会社 ネットワークインストールシステム
US6343280B2 (en) * 1998-12-15 2002-01-29 Jonathan Clark Distributed execution software license server
CA2262830A1 (fr) * 1999-03-05 2000-09-05 Andre Laroche Systeme de deverrouillage securitaire pour porte electrique
US6920567B1 (en) * 1999-04-07 2005-07-19 Viatech Technologies Inc. System and embedded license control mechanism for the creation and distribution of digital content files and enforcement of licensed use of the digital content files
WO2000075760A1 (en) 1999-06-07 2000-12-14 Firepad, Inc. Method and system for preventing the unauthorized use of software
US7035918B1 (en) * 1999-09-03 2006-04-25 Safenet Canada. Inc. License management system and method with multiple license servers
US6842896B1 (en) * 1999-09-03 2005-01-11 Rainbow Technologies, Inc. System and method for selecting a server in a multiple server license management system
JP2001084137A (ja) * 1999-09-14 2001-03-30 Matsushita Electric Ind Co Ltd ライセンス管理装置およびライセンス管理方法
US20030088516A1 (en) * 1999-12-21 2003-05-08 Eric B. Remer Software anti-piracy licensing
US6460140B1 (en) * 1999-12-30 2002-10-01 Starnet Communications Corporation System for controlling the use of licensed software
JP4086445B2 (ja) * 2000-03-09 2008-05-14 インターナショナル・ビジネス・マシーンズ・コーポレーション 情報送信方法、ネットワーク・プロバイダ・サーバ、情報端末及び情報端末における方法
US6948168B1 (en) * 2000-03-30 2005-09-20 International Business Machines Corporation Licensed application installer
US20030050895A1 (en) * 2000-03-31 2003-03-13 Rick Dedrick Automated volume license agreement method and apparatus
US7024696B1 (en) * 2000-06-14 2006-04-04 Reuben Bahar Method and system for prevention of piracy of a given software application via a communications network
US6810389B1 (en) * 2000-11-08 2004-10-26 Synopsys, Inc. System and method for flexible packaging of software application licenses
US6368227B1 (en) * 2000-11-17 2002-04-09 Steven Olson Method of swinging on a swing
JP2002297255A (ja) 2001-03-30 2002-10-11 Ntt Comware Corp ソフトウェア管理方法、そのシステム、そのプログラム及びそのプログラムが記録された記録媒体
JP4194772B2 (ja) 2001-07-05 2008-12-10 ヤフー株式会社 ソフトウェア使用認証方法、ソフトウェア使用認証プログラム、ソフトウェア使用認証プログラムを記録した記録媒体、ソフトウェア使用認証方法で用いられるデータ、このデータを記録した記録媒体
US7111285B2 (en) * 2001-07-17 2006-09-19 Liquid Machines, Inc. Method and system for protecting software applications against static and dynamic software piracy techniques
US7742992B2 (en) * 2002-02-05 2010-06-22 Pace Anti-Piracy Delivery of a secure software license for a software product and a toolset for creating the software product
US7747531B2 (en) * 2002-02-05 2010-06-29 Pace Anti-Piracy Method and system for delivery of secure software license information
US7228567B2 (en) * 2002-08-30 2007-06-05 Avaya Technology Corp. License file serial number tracking
US6859793B1 (en) * 2002-12-19 2005-02-22 Networks Associates Technology, Inc. Software license reporting and control system and method
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
US7356709B2 (en) * 2003-01-31 2008-04-08 Microsoft Corporation Systems and methods for deterring software piracy in a volume license environment
JP4371711B2 (ja) * 2003-06-11 2009-11-25 キヤノン株式会社 情報処理装置およびその制御方法、並びに、コンピュータプログラム
JP4069388B2 (ja) * 2003-09-16 2008-04-02 ソニー株式会社 サーバ装置およびコンテンツサーバ装置

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4688169A (en) * 1985-05-30 1987-08-18 Joshi Bhagirath S Computer software security system
US5182770A (en) * 1991-04-19 1993-01-26 Geza Medveczky System and apparatus for protecting computer software
US6067622A (en) * 1996-01-02 2000-05-23 Moore; Steven Jerome Software security system using remove function to restrict unauthorized duplicating and installation of an application program
CN1361882A (zh) * 1999-05-05 2002-07-31 迈克尔·O·罗宾 保护信息的方法和设备

Also Published As

Publication number Publication date
BRPI0616033B1 (pt) 2018-09-25
CN101263489A (zh) 2008-09-10
US20060036552A1 (en) 2006-02-16
US8181265B2 (en) 2012-05-15
KR20080044297A (ko) 2008-05-20
EP1934810B1 (en) 2018-01-03
JP5185820B2 (ja) 2013-04-17
KR101301332B1 (ko) 2013-08-30
EP1934810A1 (en) 2008-06-25
EP1934810A4 (en) 2016-11-23
WO2007035258A1 (en) 2007-03-29
JP2009509239A (ja) 2009-03-05
BRPI0616033A2 (pt) 2011-06-07

Similar Documents

Publication Publication Date Title
CN101263489B (zh) 阻止批量许可环境中的盗版的方法
CN101156166B (zh) 使用机器属性来制止企业环境中的软件盗版的系统和方法
CN102737200B (zh) 使用数字许可证的软件激活
CN1664742B (zh) 一种对代码的执行进行计量的方法及设备
CN100407087C (zh) 在多用户许可环境中制止软件盗版的系统与方法
CN105760716B (zh) 电子证书管理
CN1333314C (zh) 软件执行控制系统
JP4794217B2 (ja) ソフトウェア製品ライセンスの単一の再アクティブ化のための方法およびシステム
EP2618283B1 (en) Methods and apparatus for protected distribution of applications and media content
EP2628125B1 (en) Method and apparatus for downloading drm module
KR100963089B1 (ko) 복제를 방지하기 위한 소프트웨어 설치 시스템 및 방법
CN102804194A (zh) 用于提供应用安全性的方法、装置和计算机程序
KR20080058173A (ko) 보안 소프트웨어를 인스톨하는 방법 및 디바이스
CN104199654A (zh) 开放平台的调用方法及装置
CN104199657A (zh) 开放平台的调用方法及装置
CN101548284A (zh) 软件许可证中的条件策略
US9858061B2 (en) Tamperproof installation of building control software in approved runtime environments
US20040006700A1 (en) Secure method for system attribute modification
CN104077502A (zh) 一种软加密方式的软件保护方法
JP2007179357A (ja) コンピュータプログラムのインストール方法
CN109522734B (zh) 一种安全应用商店系统
JP2007067890A (ja) データロード方法、プログラム及び端末装置
CN101281573A (zh) 一种基于互联网的软件保护实现方法
Gerrits Implementing a DRM-Preserving Digital Content Redistribution System

Legal Events

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

Owner name: MICROSOFT TECHNOLOGY LICENSING LLC

Free format text: FORMER OWNER: MICROSOFT CORP.

Effective date: 20150513

C41 Transfer of patent application or patent right or utility model
TR01 Transfer of patent right

Effective date of registration: 20150513

Address after: Washington State

Patentee after: Micro soft technique license Co., Ltd

Address before: Washington State

Patentee before: Microsoft Corp.

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

Granted publication date: 20101201

Termination date: 20190906

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