CN101939748A - 通过信任委托的激活 - Google Patents
通过信任委托的激活 Download PDFInfo
- Publication number
- CN101939748A CN101939748A CN2009801046014A CN200980104601A CN101939748A CN 101939748 A CN101939748 A CN 101939748A CN 2009801046014 A CN2009801046014 A CN 2009801046014A CN 200980104601 A CN200980104601 A CN 200980104601A CN 101939748 A CN101939748 A CN 101939748A
- Authority
- CN
- China
- Prior art keywords
- computer program
- authentication
- client
- action
- activation
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 230000004913 activation Effects 0.000 title claims description 78
- 230000007246 mechanism Effects 0.000 claims abstract description 48
- 238000000034 method Methods 0.000 claims abstract description 43
- 230000003213 activating effect Effects 0.000 claims abstract description 32
- 238000004590 computer program Methods 0.000 claims description 98
- 230000009471 action Effects 0.000 claims description 63
- 239000012190 activator Substances 0.000 claims description 37
- 238000003860 storage Methods 0.000 claims description 13
- 239000003795 chemical substances by application Substances 0.000 claims description 8
- 230000014509 gene expression Effects 0.000 claims description 7
- 238000001514 detection method Methods 0.000 claims description 3
- 238000001994 activation Methods 0.000 abstract 1
- 230000008569 process Effects 0.000 description 18
- 238000010586 diagram Methods 0.000 description 7
- 230000006870 function Effects 0.000 description 7
- 238000004891 communication Methods 0.000 description 6
- 230000008520 organization Effects 0.000 description 6
- 239000000203 mixture Substances 0.000 description 3
- 230000008901 benefit Effects 0.000 description 2
- VBMOHECZZWVLFJ-GXTUVTBFSA-N (2s)-2-[[(2s)-6-amino-2-[[(2s)-6-amino-2-[[(2s,3r)-2-[[(2s,3r)-2-[[(2s)-6-amino-2-[[(2s)-2-[[(2s)-6-amino-2-[[(2s)-2-[[(2s)-2-[[(2s)-2,6-diaminohexanoyl]amino]-5-(diaminomethylideneamino)pentanoyl]amino]propanoyl]amino]hexanoyl]amino]propanoyl]amino]hexan Chemical compound NC(N)=NCCC[C@@H](C(O)=O)NC(=O)[C@H](CCCCN)NC(=O)[C@H](CCCCN)NC(=O)[C@H]([C@@H](C)O)NC(=O)[C@H]([C@H](O)C)NC(=O)[C@H](CCCCN)NC(=O)[C@H](C)NC(=O)[C@H](CCCCN)NC(=O)[C@H](C)NC(=O)[C@H](CCCN=C(N)N)NC(=O)[C@@H](N)CCCCN VBMOHECZZWVLFJ-GXTUVTBFSA-N 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 230000008878 coupling Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 238000009472 formulation Methods 0.000 description 1
- 230000000977 initiatory effect Effects 0.000 description 1
- 238000009434 installation Methods 0.000 description 1
- 108010068904 lysyl-arginyl-alanyl-lysyl-alanyl-lysyl-threonyl-threonyl-lysyl-lysyl-arginine Proteins 0.000 description 1
- 230000014759 maintenance of location Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 230000009291 secondary effect Effects 0.000 description 1
- 230000002195 synergetic effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/10—Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/10—Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
- G06F21/12—Protecting executable software
- G06F21/121—Restricting unauthorised execution of programs
- G06F21/125—Restricting unauthorised execution of programs by manipulating the program code, e.g. source code, compiled code, interpreted code, machine code
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/06—Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
- G06Q10/063—Operations research, analysis or management
- G06Q10/0637—Strategic management or analysis, e.g. setting a goal or target of an organisation; Planning actions based on goals; Analysis or evaluation of effectiveness of goals
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2221/00—Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/21—Indexing 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/2135—Metering
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Business, Economics & Management (AREA)
- Theoretical Computer Science (AREA)
- Human Resources & Organizations (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Economics (AREA)
- Entrepreneurship & Innovation (AREA)
- Multimedia (AREA)
- Educational Administration (AREA)
- General Engineering & Computer Science (AREA)
- Strategic Management (AREA)
- Computer Hardware Design (AREA)
- Technology Law (AREA)
- Game Theory and Decision Science (AREA)
- Development Economics (AREA)
- Marketing (AREA)
- Operations Research (AREA)
- Quality & Reliability (AREA)
- Tourism & Hospitality (AREA)
- General Business, Economics & Management (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
一种用于使用发放许可证将激活目标程序的信任从厂商(或其中介)委托给客户(或其中介)的机制。客户随后可以使用其自己的认证实现来激活。同样,一种用于制定准许该委托的发放许可证的方法。此外,一种用于依照允许客户在客户外部的实体不首先标识激活实体的情况下标识该激活实体的事实,外部实体从激活过程中收集跟踪信息的方法。
Description
背景
软件厂商通常许可他们专有的计算机软件程序。这些程序的非许可副本的安装通常被称为“软件盗版”。产品激活是被设计成防止软件盗版的许可证确认过程。产品激活可允许用户获得或继续对如许可证所准许的产品的功能的完全或更完整的访问。
产品激活不是总是也要经常涉及通过因特网或电话直接地或经由代理间接地与软件厂商通信。激活代理的使用最常与批量许可证一起发生,其中厂商向客户大批量地授予大量的许可证,这与对每一机器一个许可证协定相反。
在断开连接的环境中,与软件厂商通信是不可能的。在高安全性环境中,可能在与软件厂商通信的能力方面有严格的限制。因此,在这些以及其中与软件厂商通信的能力受到限制的其他任何环境中,部署产品即使不是不可能的也是相当困难的。
简要概述
描述了本文所描述的至少部分实施例涉及用于激活目标程序的激活机制。激活涉及证明该客户被正确地许可使用该目标程序。在成功激活后,该目标程序的特征随后可被解锁,或可能使用该程序的能力被扩展到与许可证一致。在常规激活中,厂商批准或拒绝激活请求。相反,本文所描述的原理准许完全不同的激活范例。具体地,厂商将激活目标程序的信任委托给客户(或至少给客户所使用的信任授权机构)。该委托是以厂商向客户发放的发放许可证的形式来表示的。
本概述不旨在标识所要求保护的主题的关键特征或必要特征,也不旨在用于帮助确定所要求保护的主题的范围。
附图简述
为了描述能够获得上述和其它优点和特征的方式,各实施例的更具体的描述将通过参考附图来呈现。可以理解,这些附图仅描述各样本实施例,从而不被认为是对本发明的范围的限制,将通过使用附图用附加特征和细节来描述和解释这些实施例,附图中:
图1示出了可用于采用此处所描述的实施例的示例计算系统;
图2示意性地示出了在其中可在客户激活目标计算机程序的过程中评估发放许可证的环境。
图3示出了用于将对目标计算机程序的激活的信任委托给客户的方法的流程图。
图4示出了可用来将信任委托给客户或其代理的发放许可证数据结构的示意图。
图5示出了激活器计算机程序激活目标计算机程序的方法的流程图;以及
图6示出了用于允许客户机密地使用来自激活的跟踪信息以标识发起激活的激活实体的方法的流程图。
详细描述
根据此处所描述的实施例,描述了一种用于激活目标程序的激活机制。激活涉及证明该客户被正确地许可使用该目标程序。在成功激活后,该目标程序的特征随后可被解锁,或可能使用该程序的能力被扩展到与许可证一致。在常规激活中,厂商批准或拒绝激活请求。相反,本文所描述的原理准许完全不同的激活范例。具体地,厂商将激活目标程序的信任委托给客户(或至少给客户所使用的信任授权机构)。该委托是以厂商向客户发放的发放许可证的形式来表示的。
厂商可标识多个可能的厂商认为可信的认证机制。客户随后可选择对于该客户可用的认证机制,并且随后将所选认证机制连同一个或多个对应的信任点一起向厂商标识。
如果所标识的认证实现对厂商在激活目标程序时的使用是可接受的,那么厂商构造发放许可证并且将该发放许可证提供给客户。该发放许可证可指定,例如要被激活的目标程序,以及要用来认证驱动激活过程的任何激活实体的认证实现,以及可能在激活期间要施加的一个或多个准则(或由客户提出,或由厂商要求)。
激活程序在激活目标程序时查阅该发放许可证。具体地,激活程序使用在发放许可证中指定的认证实现来使得对激活实体的认证发生。如果在发放许可证中指定有一个或多个附加激活准则,则还要检查那些准则。如果认证是使用所指定的认证实现来执行的,并且满足该一个或多个准则(如果有的话),那么激活程序允许激活发生。
在一实施例中,该激活过程使得客户之外的实体生成并收集跟踪信息。该跟踪信息足以使外部实体标识客户,但是在不在客户的认证实现的上下文之内的情况下无法标识该激活实体。如果外部实体检测到许可证的滥用,那么跟踪信息可被提供给客户。该客户可结合之前用来激活的认证实现使用该跟踪信息以标识其组织中的导致可疑激活发生的实体。该客户随后可采取适当的动作来校正该滥用,和/或校正可能在该滥用中蕴含的任何安全性违背,而不将关于导致激活的实体的信息给到外部实体。
首先,关于消息处理器的某些介绍性讨论将参考图1来描述。随后,消息分派引擎的各种实施例将参考图2至6来描述。
消息处理器可用硬件、或软件、或其组合来实现。图1示出了可用软件来实现消息处理器的计算系统。计算系统现在越来越多地采取各种各样的形式。计算系统可以是例如手持式设备、电器、膝上型计算机、台式计算机、大型机、分布式计算系统或甚至常规上不被认为是计算系统的设备。在本说明书以及权利要求书中,术语“计算系统”被广义地定义为包括包含至少一个处理器以及其上能含有可由处理器执行的计算机可执行指令的存储器的任何设备或系统(或其组合)。存储器可采取任何形式,且可取决于计算系统的本质和形式。计算系统可分布在网络环境上,且可包括多个组成计算系统。即,“消息处理器”甚至根本不限于在计算系统中使用。
如图1中所示,在其最基本的配置中,计算系统100通常包括至少一个处理单元102和存储器104。存储器104可以是物理系统存储器,它可以是易失性、非易失性或两者的某种组合。术语“存储器”在此也可用来指诸如物理存储介质等非易失性大容量存储。如果计算系统是分布式的,则处理、存储器、和/或存储能力也可以是分布式的。如此处所使用的,术语“模块”或“组件”可以指在计算系统上执行的软件对象或例程。此处描述的不同的组件、模块、引擎和服务可被实现为在计算系统上执行的对象或进程(例如,作为单独的线程)。
在以下描述中,参考由一个或多个计算系统执行的动作描述各实施例。如果这样的动作用软件实现,则相关联计算系统中执行该动作的一个或多个处理器响应于执行了计算机可执行指令而引导计算系统的操作。这样的操作的示例涉及对数据的操纵。计算机可执行指令(和所操纵的数据)可被存储在计算系统100的存储器104中。
计算系统100还可包含允许计算系统100例如通过网络110与其他消息处理器通信的通信信道108。通信信道108是通信介质的示例。通信介质一般用诸如载波或其他传输机制等已调制数据信号来体现计算机可读指令、数据结构、程序模块或其他数据,并且包括任何信息传递介质。作为示例而非限制,通信介质包括诸如有线网络和直接线连接等有线介质,以及诸如声学、无线电、红外线和其他无线介质等无线介质。如此处所用的术语“计算机可读介质”既包括存储介质又包括通信介质。
本发明的范围内的实施例也包括用于承载或其上存储有计算机可执行指令或数据结构的计算机可读介质。这样的计算机可读介质可以是可由通用或专用计算机访问的任何可用介质。作为示例而非限制,这样的计算机可读介质可包括物理存储和/或存储器介质,诸如RAM、ROM、EEPROM、CD-ROM或其他光盘存储、磁盘存储或其他磁存储设备、或可用于承载或存储计算机可执行指令或数据结构形式的所需程序代码装置且可由通用或专用计算机访问的任何其他介质。当信息通过网络或另一通信连接(硬连线、无线、或硬连线或无线的组合)传输或提供给计算机时,计算机将该连接完全视为计算机可读介质。因此,任何这样的连接被适当地称为计算机可读介质。上述的组合也应被包括在计算机可读介质的范围内。
计算机可执行指令包括,例如使通用计算机、专用计算机、或专用处理设备执行某一功能或某组功能的指令和数据。尽管用对结构特征和/或方法动作专用的语言描述了本主题,但可以理解,所附权利要求书中定义的主题不必限于此处所描述的具体特征或动作。相反,此处所描述的具体特征和动作是作为实现权利要求的示例形式公开的。
图2示出了在其中使用发放许可证将信任从厂商(或其代理)委托给客户(或其代理)的环境200。环境200包括厂商210和客户220。
厂商210可以是人或组织,且包括被授权来许可要被激活的目标计算机程序的任何实体。在一示例中,尽管不是必需的,但厂商210可以是创作了目标计算机程序的实体。厂商210可以拥有目标计算机程序的许可权。在另一方面,厂商210可以仅仅是拥有许可权的实体的代理商。
客户220也可以是人或组织,且包括要激活目标计算机程序的任何实体。客户220可包括最终将使用目标计算机程序的最终用户。另选地,客户220可以是销售目标计算机程序并且方便最终用户组织或个人的激活的零售商。因此,如此处所使用的术语,术语“厂商”和“客户”应被宽泛地解释。
客户220能够访问要被激活的目标程序221。在单次使用许可证协定中,只有目标程序221的一个副本将在单个机器上激活。例如,可能目标程序221要安装在图1的计算系统100上。另一方面,在批量许可证协定中,根据批量许可证协定,目标程序221的多个副本可在多个机器上被激活。此处所描述的原理可不管该许可证协定是单次使用还是批量,以及不管该许可证协定的其他各种条款而应用。
客户220包括激活实体222。激活实体可以是,例如人类或可以是与客户220相关联的计算机程序或实体(诸如对象、组件、模块、设备等等)。激活实体还可包括将作为激活过程的一部分来认证的信息(诸如用户名和口令,或证书)。如果目标计算机程序222的许多副本要激活,则可能存在许多激活实体,且激活的过程可重复多次。
客户220还包括驱动激活过程的激活计算机程序223。激活计算机程序223可以是单独的程序或可以是执行其他功能的更全面的程序的一部分。激活计算机程序223实际上可以是正被激活的目标计算机程序221的一部分。激活计算机程序223可以在诸如参考图1所描述的计算系统上安装并运行。
客户220还包括可用于认证请求激活目标计算机程序221的激活实体的认证实现224。认证实现224包括认证机制225和对应的信任点226。尽管对此处所描述的原理并不重要,但认证实现224也可能用于出于其他目的的认证。客户所使用的精确的认证实现224、认证机制225或信任点226对此处所描述的较宽泛的原理而言并不重要。甚至存在客户所使用的多种类型的认证机制,每一种可能带有适于该认证机制的不同的信任点。将描述可根据此处所描述的原理来使用的各种类型的认证机制。然而,本领域的普通技术人员在阅读本说明书之后将认识到,此处所描述的原理可与任何认证机制一起使用。
例如,认证机制可以是企业认证服务。这样的企业认证服务的示例包括ACTIVE DIRECTORY、Kerberos、服务器侧遵守简单验证和安全层(SASL)的认证机制、公钥构架(PKI)等等。认证机制还可以是或使用因特网身份服务。此类示例包括WINDOWS LIVETM和安全断言标记语言(SAML)。认证机制还可以基于激活实体可访问的物理设备的存在。例如,该设备可以是硬件安全模块(HSM)或可信平台模块(TPM)。
由于PKI通常是客户广泛使用的认证基础结构,尤其是在批量许可的情况下,所以以下所描述的过程流程有时将参考其中PKI被用作客户侧的认证机制的具体示例。然而,该示例(在下文中称为“PKI示例”)仅是出于说明性目的而使用的,并非用于将发明性原理限于该特定认证机制。有无限数量的可根据本发明的原理来使用的认证机制。任何认证机制,无论是现在现有的还是在将来开发的,都可根据此处所描述的较宽泛的原理来使用。
客户220内的这各种组件协同操作,并且客户220和厂商210合作以方便激活目标计算机程序221。在本说明书和权利要求书中,术语“激活”(名词)和“激活”(动词)旨在被宽泛地解释。在一实施例中,目标计算机程序可能在激活之前本质上是不可操作的,而激活导致该目标计算机程序的特征中的一个、部分或全部变得可运作。另选地,可能在激活之前有某种级别的功能可用,而激活解锁该目标计算机程序的一个或多个进一步的功能。同样,可能在激活之前目标计算机程序是完全可操作的(例如,在试用期间,或在有限期限许可证期间),但激活延长功能的时间段(可能,但不一定无限)。另选地,可有若干级别的激活,每一级别的激活解锁该目标计算机程序的另外特征和/或延长某些特征的使用时间段。
已经描述了厂商210和客户220及其各种组件,现在将参考后续附图描述可在图2的环境200中发生的并且在图2中示出的各种过程流程。具体地,图3示出了在其中厂商210可发放准许客户使用对于客户可用的认证实现来激活目标计算机程序的发放许可证的过程流程。图5示出了其中客户使用发放许可证来激活目标计算机程序的过程流程。图6示出了其中外部实体可收集跟踪信息来帮助客户标识其组织内的激活实体,同时在客户所使用的认证机制的上下文之外确保激活实体的机密性的过程流程。
首先,将参考图2来描述图3。图3示出用于将激活目标计算机程序的信任委托给该目标计算机程序的客户所使用的认证实现的方法300的流程图。具体地,在图2中,厂商210正将激活目标计算机程序221的信任委托给客户220(或更具体地,认证实现224)。注意,尽管认证实现224在图2中被示为在客户220内部,但是认证实现224可涉及与可在客户组织外部的认证机制225的交互(如在基于因特网的认证的情况下)。即,认证机制225也可以是客户组织内部的,如诸如ACTIVE DIRECTORY等基于企业的认证机制的情形。
参考图3,厂商210接收将目标计算机程序许可给客户的请求(动作301)。该请求可以图2中的箭头231所表示的那样来自客户220。然而,该请求还可来自某些其他方。该请求可以是电子请求。例如,请求231可以是经由诸如因特网等计算机网络做出的电子激活请求。然而,请求231还可以在社会环境中发自与厂商的相应代表接口的人类或人类集合,并且可能是扩展协商和考虑的结果。在一实施例中,厂商可呈现可接受的认证机制的选择。客户随后可以评估该选择来与对于客户可用的认证机制进行匹配。客户随后可选择一个或多个匹配认证机制,并且提供该客户对于所选认证机制中的每一个实现的对应的信任点。
回头参考图3,厂商还标识对于客户可用的认证实现(动作302)。例如,在图2中,客户220可选择认证机制225并且提供与该认证机制225相关联的信任点226。这可与来自客户的请求231包括在一起。然而,如果该请求是在人类讨论中做出的,那么该认证实现可在该讨论的过程期间被知晓。在PKI示例中,客户将标识PKI是对于客户可用的认证机制,并且将标识与该PKI认证机制相关联的信任点。例如,该PKI信任点可包括客户所使用的一个或多个证书授权机构(例如,根证书授权机构,以及可能PKI基础结构的一个或多个中间授权机构)。
在电子请求中,这些证书授权机构标识符可存储在令牌内。在本说明书和权利要求书中,“令牌”被定义为在或通过硬件和/或软件在受保护存储中维护的私钥,该受保护存储防止私钥泄漏或遭受未授权使用。与每一令牌相关联的是公钥以及指定令牌的身份、授权的使用、以及发放者的公共证书。令牌的示例包括:智能卡、TPM、和PKCS 12文件。
在该认证机制与实现和其他认证机制与实现中,将向厂商提供足够的信息以使得厂商能够决定该认证出于激活的目的是否能被信任。认证实现的标识可包括对于客户可用的多个认证实现(不管使用相同的认证机制还是不同的认证机制)的标识。认证实现的标识(动作302)以与激活请求的接收(动作301)并行地示出,因为在这两个动作之间不要求存在时序关系。一个动作可在另一个动作之前、之后、和/或同时地发生。
方法300还可任选地包括标识一个或多个附加激活准则的动作(动作303)。该激活准则可由客户220提出,或可由厂商210施加。在一实施例中,准则中的一个、部分或全部可作为激活请求中的激活条件来提出。在人类协商中,该准则可在协商期间指定。动作303在图3中与动作301和302并行地示出以再一次强调标识激活准则的时间与接受激活请求的标识(动作301)以及认证实现的标识(动作302)相比在时间上不要求存在时序关系。
在厂商标识了对于客户可用的认证实现之后,厂商确定该认证实现对于在客户激活目标程序时使用是否是可接受的(动作304)。在该上下文中,厂商可决定如果满足一个或多个附加激活准则,那么该认证实现是合适的。如果准则是由客户提出的,那么可以考虑那些准则。然而,即使客户没有提出准则,厂商也可施加附加准则。该准则可取决于许可证协定。例如,可能在客户内只有某些被授权来激活目标程序的授权实体。例如,可能客户的IT专业人士可以激活,但别人不能;或可能员工可以激活,但合同工不能;或者可能只有在某一时间段内或者在某一区域内完成的情况下激活才发生。可能的准则是无限的,但是可取决于许可证条款,以及厂商和客户想要作为激活过程的一部分施加的任何条款。该确定(动作304)可以是人类决策制定过程,或者可以是完全地或部分地由计算机自动化。
当然,如果认证实现和准则对于厂商是不可接受的,那么如果激活过程要发生,则可在客户和厂商之间执行进一步交互。在确定出于激活目标程序的目的客户的认证实现(连同可能的其他激活准则一起)是可接受的(动作304)之后,厂商随后可以制定发放许可证(动作305)。尽管并非所需,但该发放许可证可被制定成计算机可读形式。
图4示意性示出了发放许可证400的结构。如果计算机可读,那么该发放许可证400可示意性表示一数据结构,其中每一示出的成分表示该数据结构的一个或多个字段。发放许可证400被编写成将由激活器计算机程序来解释从而指示在满足一个或多个准则时客户被委托激活该目标计算机程序的信任。
发放许可证400包括标识要被激活的目标计算机程序的目标程序标识符401。目标程序标识符401可通过程序名称并可能通过该程序的版本号来标识要被激活的程序。在图2的上下文中,目标程序标识符401所标识的是目标计算机程序221。另选地,程序标识符可通过发放许可证400的总体上下文来解释,或者另外可以是隐式的而不标识要被激活的目标计算机程序。发放许可证400可指定多个程序的激活正被委托给客户。在这种情况下,可能该发放许可证可标识在激活其他程序时使用的另选的认证实现或其他准则。
发放许可证400还包括表示在激活过程期间应该被客户使用的认证实现的认证实现标识符402。例如,在PKI示例中,发放许可证可指定在激活时,客户应该使用该客户向厂商标识的根证书授权机构和任何中间授权机构来使用其PKI认证基础结构。例如,在PKI示例中,发放许可证可包括以下信息:PKI认证机制的标识符、根证书授权机构标识符、以及任选地一个或多个中间证书授权机构。作为副事件,该信息可由厂商签署从而确保该发放许可证确实地由厂商发放,并且未被篡改。
发放许可证400还可任选地包括一个或多个激活准则403。在图4中,这些准则403被示为包括两个准则403A和403B。然而,水平省略号403C表示可能存在任何数量的这样的准则,甚至比示出的更少(可能零个或只有一个这样的准则)。在一实施例中,要满足这些准则403以使激活成功。然而,准则还可在其中指定某些级别的可选性,或可能激活器计算机程序可用来确定是否充分满足该准则的另选准则。
在制定发放许可证(动作305)之后,发放许可证可被提供给客户(动作306)。例如,在图2中,箭头232示出发放许可证241正由厂商210提供给客户220。发放许可证241随后可变得可由客户220处的激活器计算机程序223访问。例如,如果在客户220处只有一个激活器计算机程序223,那么发放许可证241可被存储在激活程序223已知的、与激活程序相同的机器中的位置中。
在批量许可证的情况下,其中可能在客户220中存在要激活目标计算机程序221的各种网络节点,在这几个网络节点中的每一个上可以有一激活器程序。此外,发放许可证可被存储在若干节点中的每一个处,或至少在可能经由网络可访问的位置处。
图5示出了激活器计算机程序激活目标程序的方法500的流程图。例如,在图2中,激活器计算机程序223可激活目标计算机程序221。激活可以在从激活实体接收到激活目标计算机程序的请求之后启动(动作501)。例如,参考图2,激活实体222请求激活器计算机程序223激活目标计算机程序222。该请求由箭头251表示。激活实体可以是人类、计算实体(例如计算机程序或设备)、或对于人类可用的数据(例如,用户名或口令)、或对于计算实体可用的数据(例如,数字证书)。在ACTIVE DIRECTORY环境中,激活实体可以是机器账户。
激活器计算机程序随后访问之前所描述的发放许可证(动作502)。例如,激活器计算机程序223可将发放许可证的全部或部分读取到计算机存储器中,或可能经由网络访问该发放许可证。
激活器计算机程序随后在激活目标计算机程序时查阅发放许可证(动作503)。在图5中有若干动作被示为在动作503内。这些内部动作表示示出激活器计算机程序可如何使用发放许可证来激活目标计算机程序的示例处理流程。
具体地,激活器计算机程序标识在发放许可证中表示的认证实现(动作511)。在PKI示例中,激活器程序会发现在发放许可证内有PKI认证机制,标识在发放许可证中提到的证书授权机构,并且可能验证该机构是由厂商的公钥签署的。
激活器计算机程序还将访问激活实体的声称的身份。该声称的身份可以在例如从激活实体222接收到的激活请求251中。
同样,如果存在激活准则,那么激活器计算机程序访问要在激活目标程序时使用的一个或多个激活准则(动作513)。该激活准则可包括在发放许可证中指定的所有准则,但还可包括由客户本身施加的一个或多个附加准则。例如,在PKI示例中,准则可被指定为策略对象标识符(OID)。该激活准则可与公钥证书的一个或多个属性有关,但也可指定环境的属性。
激活器计算机程序随后使用在发放许可证中表示的所标识的认证实现来认证声称的激活实体(动作514)。参考图2,激活器计算机程序223与认证机制224交互(由箭头252表示)来认证激活实体222。具体地,认证实现224使用认证机制225相对于所标识的信任点226来认证激活实体222。当然,如果认证失败,那么激活器计算机程序223拒绝激活。
此外,如果存在激活准则,那么激活器计算机程序验证是否充分满足该准则(动作515)。如果不充分满足该准则,那么拒绝激活。然而,如果认证成功,并且满足该准则,那么激活器计算机程序使得目标计算机程序激活(动作516),如箭头253所表示。因此,激活目标计算机程序的授权被委托给客户或至少给对于客户可用的认证实现,而不是由厂商保留。由此,一旦发放许可证对于客户可用,那么客户不需要与厂商接触就能够激活。此外,厂商仍然能够理解并信任该激活过程,因为厂商能够实施关于激活如何发生的条件。
图6示出了用于使用在激活期间所生成的跟踪信息来标识许可证滥用周围的环境的方法600的流程图。客户外部的滥用检测促进实体执行方法600。这样的外部实体的一个示例将是厂商,但也可以是厂商的代理,或甚至是客户的代理。在本说明书的图6的全部其余部分中,其将被描述为厂商以便保持与根据图2的示例环境相一致。
厂商收集在目标计算机程序的激活期间生成的跟踪信息(动作601)。例如,在图2中,激活器程序223向厂商210提供跟踪信息242,如由箭头233表示的。然而,跟踪信息242也可由其他实体生成。例如,跟踪信息收集可离线地、经由打印报告、通过分析激活的日志文件的外部程序、在与厂商或隶属网站的后续客户机器交互期间、等等发生。跟踪信息可与激活同时地收集,或可在激活很久之后发生。例如,跟踪信息可在激活发生很久之后通过激活的法庭(forensic)分析来生成。跟踪信息可被电子地表示,但还可以按任何其他物理形式来表示。
作为一具体示例,跟踪信息可包括,例如,在激活过程期间由激活实体电子地签署的数据。例如,如果基于质询的认证作为激活过程的一部分发生,那么跟踪信息可以是从基于质询的认证中所得的已签署的位集合。描述了这一具体示例,然而,跟踪信息不限于此示例。跟踪信息可以是足以标识客户,但在不访问客户所使用的认证实现的情况下不足以标识与客户相关联的激活实体的任何信息。即使厂商可能能够标识客户的认证实现(如他们在发放许可证中所做的一样),厂商也无法访问使用客户的认证实现。因此,厂商无法使用跟踪信息找出关于激活实体的信息,并且客户的机密信息是保存在客户组织内的。
再次参考图6,厂商随后检测到至少可能目标计算机程序的激活可能表示许可证的滥用(动作602)。厂商可能无法确定存在滥用,但是可能已经出现了滥用的怀疑。例如,如果厂商检测到在客户组织外部的地理位置处发生了多次激活,那么滥用可能已经发生。对可能的滥用的检测甚至可在收集跟踪信息之前发生。
如果检测到可能的许可证滥用(动作602),那么跟踪信息可被提供回给客户(动作603)。客户随后可以使用该跟踪信息来标识激活实体并且随后采取适当动作。这是在厂商不知道激活实体是谁的情况下发生的,因此在允许客户校正可能的安全性违背的同时保护客户的机密。另选地,跟踪信息还可在不需第三方介入的情况下由客户收集。
这对于降低许可证滥用的可能具有二次影响,从而帮助厂商。然而,存在许可证协定的违背表示对于客户的安全威胁的情况。因此,在客户维护高安全性标准是重要的情况下,一个重要的好处是这允许客户检测安全性违背并采取校正动作。例如,如果存在许多使用只预期几次激活的客户安全设备的激活,那么客户可能发现激活实体是已经丢失其安全设备的个体。该安全设备可能不仅用来激活计算机程序,还可能用来执行诸如访问敏感信息或位置、或假扮他人等其他安全性违背。
由此,此处所描述的实施例允许将激活计算机程序的信任委托给客户,同时允许厂商在激活过程中保留机密。此外,可帮助客户检测许可证滥用以及可能的违反其自身内部安全策略的其他安全性违背。
本发明可被具体化为其他具体形式而不背离其精神或本质特征。所描述的实施例在所有方面都应被认为仅是说明性而非限制性的。从而,本发明的范围由所附权利要求书而非前述描述指示。落入权利要求书的等效方案的含义和范围内的所有改变应被权利要求书的范围所涵盖。
Claims (20)
1.一种包括其上含有计算机可执行指令的一个或多个计算机可读介质(104)的激活器计算机程序产品,所述指令在由计算系统(100)的一个或多个处理器(102)执行时使所述计算系统运行一种激活器计算机程序(223),所述激活器计算机程序被配置成执行一种用于激活目标计算机程序(221)的方法(500),所述方法包括:
访问(502)所述激活器计算机程序可用来激活所述目标计算机程序并且表示在激活所述目标计算机程序时使用的认证实现(224)的标识(402)的发放许可证(400)的动作,所述认证实现包括认证机制(225)和至少一个对应的信任点(226);
所述激活器计算系统在激活所述目标计算机程序时通过执行以下动作来查阅(503)所述发放许可证的动作:
标识(511)在所述发放许可证中表示的所述认证实现的动作;
访问请求激活所述目标计算机程序的激活实体的声称的身份(512)的动作;
使用在所述发放许可证中表示的所标识的认证实现来认证(514)所述声称的激活实体的动作;以及
至少部分地基于所述认证的动作,使得(516)所述目标计算机程序被激活的动作。
2.如权利要求1所述的激活器计算机程序产品,其特征在于,所述认证机制使用企业认证服务。
3.如权利要求2所述的激活器计算机程序产品,其特征在于,所述企业认证服务使用公钥构架(PKI)。
4.如权利要求1所述的激活器计算机程序产品,其特征在于,所述认证机制使用因特网身份服务。
5.如权利要求1所述的激活器计算机程序产品,其特征在于,所述认证机制是基于所述激活实体可访问的物理设备的存在。
6.如权利要求1所述的激活器计算机程序产品,其特征在于,所述激活实体是人类。
7.如权利要求1所述的激活器计算机程序产品,其特征在于,所述发放许可证中还具有在激活期间应该满足的一个或多个附加准则的表示,所述方法还包括:
确定是否满足在所述发放许可证中指定的一个或多个准则的动作,其中使得所述目标计算机程序被激活的动作是以所述认证动作以及确定满足在所述发放许可证中指定的所述一个或多个准则的动作的成功完成为条件的。
8.如权利要求7所述的激活器计算机程序产品,其特征在于,所述一个或多个准则中的至少一个与公钥证书的一个或多个属性有关。
9.如权利要求7所述的激活器计算机程序产品,其特征在于,所述一个或多个准则中的至少一个与环境的属性有关。
10.如权利要求1所述的激活器计算机程序产品,其特征在于,所述一个或多个计算机可读介质是物理存储器和/或存储介质。
11.一种用于将激活目标计算机程序(221)的信任委托给所述目标计算机程序的客户(220)的方法(300),所述方法包括:
接收(301)向客户许可所述目标计算机程序的请求(231)的动作;
标识(302)对于所述客户可用的认证实现(224)的动作,所述认证实现包括认证机制(225)以及至少一个对应的信任点(226);
确定(304)对于所述客户可用的所述认证实现是在激活所述目标计算机程序时可接受的认证方式的动作;
制定(305)将至少由激活器计算机程序(223)隐式地解释以指示在满足一个或多个准则时该客户被委托激活所述目标计算机程序的信任的发放许可证(241,400)的动作,所述一个或多个准则(402、403)中的至少一个指定在激活所述目标计算机程序期间要使用所标识的认证实现;以及
将所述发放许可证提供(306)给所述客户的动作。
12.如权利要求11所述的方法,其特征在于,所述请求是电子请求。
13.如权利要求11所述的方法,其特征在于,所述接收、标识、以及确定的动作是由一个或多个人类执行的。
14.如权利要求11所述的方法,其特征在于,所述认证机制是公钥构架(PKI),并且所述信任点包括一个或多个证书授权机构。
15.如权利要求11所述的方法,其特征在于,所标识的认证实现的指定受到保护,从而使得所述激活计算机程序可以证明所述发放许可证是真实的,并且未被更改或以其他方式篡改。
16.如权利要求11所述的方法,其特征在于,还包括:
在制定所述发放许可证之前接收使所述激活以发放许可证中指定的一个或多个准则中的至少一个为条件的请求的动作。
17.一种用于允许被许可由许可证支配的计算机程序(221)的客户(220)检测所述许可证的滥用的方法(600),所述客户具有认证实现(224),所述方法包括:
在所述客户之外的滥用检测促进实体(210)收集(601,233)与所述计算机程序(221)的激活有关的跟踪信息(242)的动作,其中所述跟踪信息足以标识所述客户(220),但在不访问所述客户的所述认证实现(224)的情况下不足以标识与所述客户相关联的激活实体(222);
所述滥用检测促进实体检测(602)至少存在与所述跟踪信息有关的激活可能表示所述许可证的滥用的可能的动作;以及
在所述滥用检测促进实体本身不首先标识与所述计算机程序的激活相关联的激活实体的情况下,将所收集的跟踪信息提供(603)给所述客户以使所述客户可以使用所述认证实现来标识所述激活实体的动作。
18.如权利要求17所述的方法,其特征在于,所述滥用检测促进实体是所述计算机程序的厂商。
19.如权利要求17所述的方法,其特征在于,所述检测的动作是由人类来执行的。
20.如权利要求17所述的方法,其特征在于,所述跟踪信息包括由所述激活实体电子地签署的数据。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US12/028,737 | 2008-02-08 | ||
US12/028,737 US20090204544A1 (en) | 2008-02-08 | 2008-02-08 | Activation by trust delegation |
PCT/US2009/030601 WO2009099708A1 (en) | 2008-02-08 | 2009-01-09 | Activation by trust delegation |
Publications (1)
Publication Number | Publication Date |
---|---|
CN101939748A true CN101939748A (zh) | 2011-01-05 |
Family
ID=40939730
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2009801046014A Pending CN101939748A (zh) | 2008-02-08 | 2009-01-09 | 通过信任委托的激活 |
Country Status (4)
Country | Link |
---|---|
US (1) | US20090204544A1 (zh) |
EP (1) | EP2240880A4 (zh) |
CN (1) | CN101939748A (zh) |
WO (1) | WO2009099708A1 (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103400062A (zh) * | 2013-07-30 | 2013-11-20 | 深圳创维数字技术股份有限公司 | 一种软件授权使用的方法及系统 |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8763158B2 (en) | 2010-12-06 | 2014-06-24 | Microsoft Corporation | Directory service distributed product activation |
WO2014120691A1 (en) | 2013-01-29 | 2014-08-07 | Good Technology Corporation | Methods for activation of an application on a user device |
US11599368B2 (en) | 2019-09-27 | 2023-03-07 | Intel Corporation | Device enhancements for software defined silicon implementations |
US11695762B2 (en) * | 2019-11-01 | 2023-07-04 | Hyundai Motor Company | Heterogeneous device authentication system and heterogeneous device authentication method thereof |
US11977612B2 (en) | 2020-07-07 | 2024-05-07 | Intel Corporation | Software defined silicon guardianship |
Family Cites Families (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5995625A (en) * | 1997-03-24 | 1999-11-30 | Certco, Llc | Electronic cryptographic packing |
US7225333B2 (en) * | 1999-03-27 | 2007-05-29 | Microsoft Corporation | Secure processor architecture for use with a digital rights management (DRM) system on a computing device |
AU5910800A (en) * | 1999-06-30 | 2001-01-31 | Accenture Llp | A system, method and article of manufacture for tracking software sale transactions of an internet-based retailer for reporting to a software publisher |
US7124170B1 (en) * | 1999-08-20 | 2006-10-17 | Intertrust Technologies Corp. | Secure processing unit systems and methods |
US7228427B2 (en) * | 2000-06-16 | 2007-06-05 | Entriq Inc. | Method and system to securely distribute content via a network |
US7203966B2 (en) * | 2001-06-27 | 2007-04-10 | Microsoft Corporation | Enforcement architecture and method for digital rights management system for roaming a license to a plurality of user devices |
US20040039916A1 (en) * | 2002-05-10 | 2004-02-26 | David Aldis | System and method for multi-tiered license management and distribution using networked clearinghouses |
US20070107067A1 (en) * | 2002-08-24 | 2007-05-10 | Ingrian Networks, Inc. | Secure feature activation |
US8181265B2 (en) * | 2003-01-31 | 2012-05-15 | Microsoft Corporation | Secure machine counting |
US7318236B2 (en) * | 2003-02-27 | 2008-01-08 | Microsoft Corporation | Tying a digital license to a user and tying the user to multiple computing devices in a digital rights management (DRM) system |
US8491391B2 (en) * | 2003-03-10 | 2013-07-23 | Igt | Regulated gaming—agile media player for controlling games |
US20050289072A1 (en) * | 2004-06-29 | 2005-12-29 | Vinay Sabharwal | System for automatic, secure and large scale software license management over any computer network |
US7610631B2 (en) * | 2004-11-15 | 2009-10-27 | Alexander Frank | Method and apparatus for provisioning software |
DE102004060784A1 (de) * | 2004-12-17 | 2006-07-06 | Abb Research Ltd. | Verfahren zur Lizenzvergabe und -verwaltung |
US20060200814A1 (en) * | 2005-03-02 | 2006-09-07 | Nokia Corporation | Software distribution with activation control |
US20070043677A1 (en) * | 2005-08-17 | 2007-02-22 | Idt Corporation | Point of sale product authorization |
US7805375B2 (en) * | 2005-08-22 | 2010-09-28 | Microsoft Corporation | Digital license migration from first platform to second platform |
US7788181B2 (en) * | 2005-12-27 | 2010-08-31 | Microsoft Corporation | Software licensing using certificate issued by authorized authority |
US8689287B2 (en) * | 2006-08-17 | 2014-04-01 | Northrop Grumman Systems Corporation | Federated credentialing system and method |
-
2008
- 2008-02-08 US US12/028,737 patent/US20090204544A1/en not_active Abandoned
-
2009
- 2009-01-09 WO PCT/US2009/030601 patent/WO2009099708A1/en active Application Filing
- 2009-01-09 EP EP09707853A patent/EP2240880A4/en not_active Withdrawn
- 2009-01-09 CN CN2009801046014A patent/CN101939748A/zh active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103400062A (zh) * | 2013-07-30 | 2013-11-20 | 深圳创维数字技术股份有限公司 | 一种软件授权使用的方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
US20090204544A1 (en) | 2009-08-13 |
EP2240880A1 (en) | 2010-10-20 |
WO2009099708A1 (en) | 2009-08-13 |
EP2240880A4 (en) | 2012-10-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Andress | The basics of information security: understanding the fundamentals of InfoSec in theory and practice | |
US9824194B2 (en) | Application security framework | |
US20190319944A1 (en) | System and method for electronic credentials | |
Fernández-Alemán et al. | Security and privacy in electronic health records: A systematic literature review | |
Swanson et al. | Generally accepted principles and practices for securing information technology systems | |
JP2686218B2 (ja) | コンピュータシステム上の別名の検出方法、分散型コンピュータシステム及びその作動方法、及び別名の検出を実行する分散型コンピュータシステム | |
RU2602790C2 (ru) | Безопасный доступ к персональным записям о состоянии здоровья в экстренных ситуациях | |
Andress | Foundations of information security: a straightforward introduction | |
EP3510510A1 (en) | Architecture for access management | |
CN108650212A (zh) | 一种物联网认证和访问控制方法及物联网安全网关系统 | |
Eludiora et al. | A user identity management protocol for cloud computing paradigm | |
CN102281286A (zh) | 用于分布式混合企业的灵活端点顺从和强认证 | |
US7251831B2 (en) | Method and system for architecting a secure solution | |
CN102077208A (zh) | 向应用程序集发放受保护内容的许可证 | |
KR101873991B1 (ko) | IoT 기기들 간의 액세스 권한의 위임 방법 | |
US11275865B2 (en) | Privacy friendly decentralized ledger based identity management system and methods | |
CN101939748A (zh) | 通过信任委托的激活 | |
Gordon et al. | The Official (ISC) 2 guide to the SSCP CBK | |
CN103916267A (zh) | 三层结构的网络空间身份管理系统 | |
Collins | Access controls | |
CN109284615A (zh) | 移动设备数字资源安全管理方法 | |
CN117914601B (zh) | 档案机器人的多级安全认证及访问控制系统 | |
Schaffer | Ontology for authentication | |
Sanzi et al. | Identification and Adaptive Trust Negotiation in Interconnected Systems | |
Boyer et al. | Improving multi-tier security using redundant authentication |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
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 |
Application publication date: 20110105 |