CN101681403A - 刷新软件许可证 - Google Patents

刷新软件许可证 Download PDF

Info

Publication number
CN101681403A
CN101681403A CN200880008826A CN200880008826A CN101681403A CN 101681403 A CN101681403 A CN 101681403A CN 200880008826 A CN200880008826 A CN 200880008826A CN 200880008826 A CN200880008826 A CN 200880008826A CN 101681403 A CN101681403 A CN 101681403A
Authority
CN
China
Prior art keywords
license
client
server
key
session
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
CN200880008826A
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.)
S Aqua Semiconductor LLC
Original Assignee
Dmvich Software LLC
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 Dmvich Software LLC filed Critical Dmvich Software LLC
Publication of CN101681403A publication Critical patent/CN101681403A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • G06F21/12Protecting executable software
    • G06F21/121Restricting unauthorised execution of programs
    • 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
    • G06F21/60Protecting data
    • G06F21/604Tools and structures for managing or administering access control systems

Abstract

本发明提供了一种许可证访问代理,其被配置为在客户端计算机上执行。该许可证访问代理包括:许可证管理器,被配置为在请求授权受保护的软件产品时接收软件许可证,以使得允许在客户端计算机上运行受保护的软件产品的一个或多个功能。该许可证管理器被配置为,在软件许可证期满时禁用受保护的软件产品,除非许可证管理器获得刷新的软件许可证。

Description

刷新软件许可证
相关申请的交叉引用
本申请要求2007年3月20日提交的美国临时申请No.60/918,898的优先权,其全部内容通过引用合并于此。
背景技术
软件产生器实施软件许可证所做的努力迄今尚未完全令人满意。未授权用户或“盗版者”对软件市场带来巨大的损害,其中开发软件方面重要的经济投资没有带来足够的授权用户。
附图说明
结合附图,参照以下详细描述,可以更容易地认识到并同样更好地理解所公开的主旨的上述方面和许多附带优点,其中:
图1是示出了根据本公开各个实施例的示例许可证访问代理和用于刷新软件许可证的示例许可证服务器的框图;
图2是示出了根据本公开的各个实施例的示例许可证系统产生器、示例供应器,以及用于获取软件许可证的示例客户端计算机的框图;以及
图3A-3F是根据本公开的各个实施例的用于刷新软件许可证使得禁止未授权用户的示例方法的过程图。
具体实施方式
本公开的实施例包括系统、方法、以及计算机可读介质,适合于:首先提供一种使得能够执行受保护的软件产品的软件许可证,从而允许访问其功能,并且随后可以周期性地或非周期性地刷新软件许可证(如果被正确授权的话)。在本公开的实施例中,许可证系统产生器帮助产生许可证验证程序。该许可证验证程序由供应器合并在受保护的软件产品中。供应器然后可以将该受保护的软件产品分发至客户端。如果被正确授权,代表客户的该许可证验证程序接触并验证许可证服务器,该服务器能够验证或刷新该软件许可证并启用该受保护的软件产品的功能。
本公开的实施例中,软件许可证包含启用该受保护的软件产品的功能的数据。在一个实施例中,软件许可证中的数据实现一些程序功能,并且在其他实施例中,软件许可证中的数据实现所有程序功能。在另一个实施例中,该受保护的软件产品包括多个特征,这些特征中的一些可以没有软件许可证也能操作,其中这些特征中的一些需要软件许可证才能操作。在实施例中,软件许可证中的数据提供除不需要软件许可证就能操作的特征之外的附加特征。
在一个实施例中,软件许可证与包含信息的许可证分组相关联。这些信息可以包括软件许可证序号、数字签名、与软件许可证相关联的用户标识符、由软件许可证启用的程序特征的列表、等等。在一些实施例中,这些附加的信息可以包括不需要用户干预就能够识别客户端计算机的信息,例如唯一表征客户端计算机硬件配置的电子序列号、网卡地址等等。在许可证分组中包括各种信息的实施例中,许可证服务器可以储存一个或多个信息从而减少了对受保护的软件产品的未授权使用。例如,使用附加的信息,确定与特定的电子序号相关联的软件许可证是否已被安装在不止一个计算机上,或由不止一个用户进行安装。识别受保护软件产品的安装的信息还包括安装日期或在安装的时产生的随机数。在一些实施例中,对比于软件许可证和附加的信息,在产生许可证分组之前许可证服务器将没有附加信息的软件许可证进行存储,其有利地节省了存储空间。
图1示出了客户端计算机100和许可证服务器102。该客户端计算机100可以采用各种形式。例如,客户端计算机100的一个适合的形式可以是一种通用台式计算机,而客户端计算机100的其他适合形式可以是移动电话、膝上型计算机、PDA、电子游戏机控制台等等。客户端计算机100已经安装有许可证访问代理104,该代理用于启用受保护软件产品116中的功能。
本公开的实施例便于对客户端计算机100和许可证服务器102进行验证,从而防止盗版者通过伪造来自客户端计算机100的请求或来自许可证服务器102的响应,不正当地获取软件许可证的。为此,许可证访问代理104包括配置为对许可证服务器102身份进行验证的许可证服务器验证器106。
许可证服务器102还包括客户端验证器120,其用于在接收到许可证请求时对客户端计算机100进行验证。该客户端验证器120可以在接收到许可证请求时,通过以下操作来对客户端计算机100进行验证:使用客户端标识符和初始密钥,并将它们与在通信耦合至客户端验证器120的数据库中存储的信息进行匹配。在许可证访问代理104的一些实施例中,初始化器108建立与许可证服务器102的初始连接并提交许可证请求。
本公开的实施例除了验证之外还便于客户端计算机100和许可证服务器102的认证。但是之前描述的验证特征允许客户端计算机100和许可证服务器102确定是否授权相应的客户端计算机100和许可证服务器102执行尝试执行的任务,客户端认证器110和服务器认证器124还允许一些实施例通常利用密码系统技术至少实质上确保客户端计算机100和许可证服务器102是它们要求的参与者。
许可证访问代理104还包括客户端密钥管理器112,该密钥管理器112被配置为存储至少两个代理会话密钥,包括先前会话密钥和当前会话密钥。在一个实施例中,这些密钥在每次通信时被更新至许可证服务器102,但是在其他实施例中,这些密钥不经常被更新。以这种方式,客户端计算机100能够记住与许可证服务器102的多个不同的通信会话,来以安全的方式刷新软件许可证。先前会话密钥的储存还提供可靠性。例如,即使许可证访问代理104和许可证服务器102之间的通信循环之一中存在错误(例如不能正确更新密钥),许可证访问代理104和许可证服务器102能够安全地通信。
许可证访问代理104还包括客户端许可证管理器114,该客户端许可证管理器114被配置为在从许可证服务器102接收到软件许可证时,在客户端的计算机上安装或启用受保护的软件产品116。当许可证时间间隔期满时,客户端许可证管理器114的一些实施例被配置为使初始化器108使用在客户端计算机100中储存的更新的会话密钥和更新的会话标识符来与许可证服务器102进行通信,从而刷新许可证。由客户端许可证管理器114接收的软件许可证是在接收到来自客户端计算机100、已接收到会话密钥的的确认时由服务器许可证管理器126产生的。
许可证服务器102还包括服务器密钥管理器122和服务器许可证管理器126。会话意味着包括许可证服务器102和客户端计算机100之间以其他方式单独通信的逻辑分组。服务器密钥管理器122被配置为在每个当前会话期间产生新会话密钥用于在下个会话期间使用。在一个实施例中,服务器密钥管理器122还可操作于对客户端标识符和当前会话密钥之间的关联进行存储,以在未来的会话中使用。服务器许可证管理器126被配置为,响应于来自客户端计算机100的许可证请求来产生软件许可证和许可证分组。
图2示出了一种系统实施例,其允许许可证系统产生器200作为客户端计算机204和供应器202之间可信任的第三方,其中该供应器202尝试分发受保护的软件产品。客户端计算机204代表计算机,如客户端计算机100。从一开始,尝试为他们的软件设计有效的许可方案的软件供应器过去所面临的问题就是构建该计划的复杂性。如图2中所示,供应器202,使用本公开的实施例,不需要创建他们自己的许可方案,而是合并由许可证系统产生器200产生的许可证验证程序来保护它们的软件产品。许可证验证程序的一个实施例包括许可证访问代理104,供应器202的一个实施例包括许可证服务器102。
许可证系统产生器200包括产生器密钥发生器210、证书发布器214、以及许可证验证程序发生器212。许可证系统产生器200创建证书和要由供应器202使用的许可证访问代理208。供应器202的一个实施例包括许可证合并器216、供应器密钥发生器220、许可证分组发生器222、以及软件分发器224。许可证系统产生器200使用这些组件来将证书和许可证访问代理208合并到受保护的软件产品中,并产生证书、许可证访问代理、以及用于许可该受保护软件产品和随后刷新软件许可证的许可证226。
为了允许客户端计算机204验证供应器202的身份,供应器密钥发生器220,产生包括供应器的公共密钥和供应器的私有密钥在内的公共/私有密钥对、将供应器的私有密钥存储到供应器数据库中,并将供应器的公共密钥发送至要进行注册的许可证系统产生器200。作为响应,许可证系统产生器200的证书发布器214发出包括供应器的公共密钥和供应器标识符在内的供应器证书。许可证系统产生器200利用许可证系统产生器的私有主密钥来签署证书,并使用该许可证验证程序发生器212来生成许可证访问代理208。
将证书及许可证访问代理208发送至供应器202。供应器202将由许可证系统产生器200创建的证书和许可证访问代理208与他们希望保护的软件产品合并。为了实现这种组合,供应器202添加由许可证分组发生器222产生的许可证分组。供应器202然后将分发这种证书的组合、许可证访问代理、以及许可证分组226的组合与受保护的软件产品一起分发至客户端计算机204。受保护的软件产品至少部分禁用,直到客户端计算机204使用许可证访问代理208来启用许可证和受保护的软件产品。同样,许可证和受保护的软件产品被启用之后,在给定时间段后停止其功能,除非由客户端计算机204进行刷新。
本领域技术人员将认识到,尽管已分别描述了这些系统的各个组件但是在不背离要求权利的主旨的范围的前提下,可以将多个组件合并到单一的组件中。同样,尽管可以将各种组件描绘成驻留在相同的物理硬件上,但是这些组件也可以驻留在分离的物理硬件上,或可以经由网络相连接。本领域技术人员同样也将认识到,当对如密钥、许可证之类的数据,或其他数据进行储存时,可以以各种方式对这些数据进行储存,包括存储在易失性或非易失性存储器中,存储在可拆卸或不可拆卸介质中,或者存储在本地或远程数据库中。
图3A-3F示出了用于刷新软件许可证以使得禁止未授权使用的方法300。从开始框,方法300继续至在继续端点(“端点A”)和退出端点(“端点B”)之间定义的一组方法集合304。该方法步骤集合304描述了由供应器202产生的许可软件的方法。在该方法步骤集合304中,供应器202与许可证系统产生器200进行通信以便创建要被合并到受保护的软件产品116中的证书、许可证访问代理、以及许可证226。该方法步骤集合304还执行软件使用特征的初步启用。从端点A(图3B),方法300前进至框312,在框312中,供应器密钥发生器220产生私有/公共密钥对。由私有供应器密钥和公共供应器密钥组成的该密钥对可以通过密码算法来产生。同样在框312中,将公共供应器密钥和供应器标识符发送至许可证系统产生器200。方法300继续至框314,在框314中,将私有供应器密钥储存在供应器的数据库中。
在框316,产生器密钥发生器210产生由私有主密钥和公共主密钥组成的私有/公共密钥对。可选地,私有主密钥和公共主密钥可以预先由许可证系统产生器200产生并储存。一旦已经获得私有主密钥和公共主密钥,方法300继续至框318,在框318中,许可证验证程序发生器212产生许可证访问代理104。然后将许可证访问代理104和公共主密钥发送至供应器202。方法300继续至框320,在框320中,证书发布器214使用公共供应器密钥和供应器标识符,来发出由私有主密钥签署的证书,并将该发出的证书发送至供应器202。可选地,将许可证访问代理和证书208组合并且一起发送至供应器202。
私有主密钥签署的证书允许证书的接受方使用公共主密钥,来验证证书的源和证书的内容(即,公共供应器密钥和供应器标识符)是真实的。以这种方式,客户端计算机204验证供应器202的身份,许可证访问代理104至少实质上确保:与其进行通信的供应器202是其所创建的相同的供应器202,且不是恶意第三方。
方法300然后前进至框322,在框322中,许可证合并器216将许可证访问代理104与要被分发给客户端计算机204的软件产品相合并。一旦合并,软件产品变成受保护的软件产品116。在框324,软件分发器224将受保护的软件产品116和证书分发至客户端计算机204。这种分发可以经由许多介质媒介进行,包括,例如,经由通过互联网的直接下载、经由诸如光盘或闪存的可拆卸的存储介质、或经由无线传输。此外,许可证访问代理104和受保护的软件产品116可以包括在相同的计算机可读介质上,或可以分别获得。然而,获得后,许可证访问代理104的成功执行启用受保护的软件产品116的功能。方法300继续至框326,在框326中,将受保护的软件产品116安装在客户端计算机204上,并然后继续至另一继续端点(“端点A1”)。
从端点A1(图3C),方法300前进至框328。在该点,还没有启用受保护的软件产品116。然而在一些实施例中,受保护的软件产品116包含软件许可证,该软件许可证还没有被启用。在框328,该受保护的软件产品116调用许可证访问代理104,许可证访问代理104向供应器202请求许可证分组。方法300继续至框330,在框330中,许可证分组发生器222开始产生由私有供应器密钥签署的许可证分组。针对签名使用私有供应器密钥允许受保护的软件产品116验证从供应器202接收到许可数据包,并允许方法300将许可证分组安全传输到许可证访问代理104。方法300继续至框332,在框332中,许可证分组发生器222为受保护的软件的产生序列号并产生激活密钥。方法300然后继续至框334,在框334中,许可证分组发生器222将序列号与激活密钥进行组合以为对受保护的软件产品116的初始访问形成初始密钥。接着,在框336,供应器202将许可证分组发送至客户端计算机204。
客户端计算机204解开许可证分组并适于预先发送的证书和公共供应器密钥来验证其来源。已接收到许可证分组后,方法300继续至框338,在框338中,客户端许可证管理器114结束安装过程,在该安装过程期间,对客户端标识符进行处理,并将初始密钥发送至许可证服务器102。根据特定应用和软件配置,可以手动或自动地将客户端标识符和初始密钥传送至客户端计算机204。在一个实施例中,在没有用户干涉或知晓的情况下,自动传送客户端标识符和初始密钥,。在另一实施例中,自动传送客户端标识符和初始密钥,但是通知用户正在进行处理。在又一实施例中,手动输入客户端标识符和初始密钥。方法300然后继续至端点B。
从端点B(图3A),方法300前进至在继续端点(“端点C”)和退出端点(“端点D”)之间定义的方法步骤集合306。该方法步骤集合306描述了用于客户端使用的许可软件的方法。从端点C(图3C),方法300继续至框340。客户端计算机204使用客户端会话ID和当前客户端密钥与许可证服器102进行通信。同样地方法300描述用于许可最新安装的受保护软件产品116的方法,在框340,许可证访问代理104将客户端会话ID设置为初始值,并将当前客户端密钥设置为初始密钥。方法300然后继续至另一继续端点(“端点C1”)。
从端点C1(图3D),方法300前进至框342,在框342中,许可证访问代理104调用初始化器108。初始化器108与许可证服务器102连接以进行许可证请求。从初始化器108至许可证服务器102的通信包含客户端标识符和初始密钥。许可证服务器102使用该信息,来验证提交了许可证请求的客户端计算机204被授权获得软件许可证。方法300继续至框344,在框344中,已接收到许可证请求后,客户端验证器120搜索许可数据库来验证客户端标识符。方法300继续至判定框346,在判定框346中,执行测试来确定在许可数据库中否是找到客户端标识符。如果判定框346的测试答案为否,则方法300前进至退出端点(“端点F”)并结束。否则,如果判定框346的测试答案为是,则方法300前进至框348。
在框348中,客户端验证器120将与客户端标识符相对应的服务器会话ID转发至许可证服务器验证器106。由于这是新的安装,方法300继续至框350,在框350中,许可证服务器验证器106将客户端会话ID设置为服务器会话ID,并启用受保护的软件产品。在一个实施例中,许可证服务器102将服务器会话ID传送至客户端计算机204以允许这种同步。在另一实施例中,服务器会话ID与客户端会话ID的初始值相同,且没有其他的同步是适合的。在又一实施例中,服务器会话ID和客户端会话ID不是预置值,而是通过使用保证为许可证服务器102和客户端计算机204均产生相同的结果的顺序算法,对其中的每一个进行计算来同步的。
方法300然后继续至另一继续端点(“端点E”),然后继续至另一继续端点(“端点C2”)。端点C2代表用于在安装时首先启用受保护的软件产品的方法步骤集合的结束,端点E代表用于刷新新的或失去时效的软件许可证以继续启用受保护的软件产品116的方法步骤集合的开始。
许可证请求的第一部分涉及验证,与许可证访问代理104通信的许可证服务器事实上是正确的许可证服务器102。这可以通过将由许可证服务器102存储的的服务器会话ID与由客户端计算机204存储的客户端会话ID相匹配来执行(冒名者许可证服务器将不能提供匹配服务器会话ID)。方法300从端点C2前进至框352,在框352中,客户端许可证管理器114使初始化器108通过将客户端标识符发送至客户端验证器120来进行许可证请求。客户端验证器120获取与客户端标识符相关联的服务器会话ID,并将其传输回至初始化器108。方法300然后继续至另一继续端点(“端点C3”)。
从端点C3(图3E),方法300从端点C3前进至框352,在框352,许可证服务器验证器106和客户端密钥管理器112一起,将服务器会话ID与客户端会话ID进行比较。在一个实施例中,方法300前进至判定框354,在判定框354,执行测试来确定服务器会话ID是否等于客户端会话ID。如果判定框354的测试答案为是,方法前进至框356,在框356中,客户端密钥管理器112为客户端会话密钥分配存储为当前客户端密钥的值,对许可证服务器102进行验证,方法300前进至另一继续端点(“端点C4”)。否则,如果判定框354的测试答案为否,方法300前进至另一判定框358,在判定框358,执行测试来确定服务器会话ID是否等于先前客户端会话ID(相对于最近的客户端会话ID而言)。如果判定框358的测试答案为是,方法300前进至框360,在框360中,客户端密钥管理器112为客户端会话密钥分配存储为先前客户端密钥的值,对许可证服务器进行验证,方法300前进至端点C4。否则,如果判定框358的测试答案为否,则对许可证服务器102的验证失败,方法300前进至端点F并结束。
从端点C4(图3F),方法300继续至框352,其中,客户端认证器110和服务器认证器124使用密码认证方法来对客户端计算机204和许可证服务器102进行认证。在一个实施例中,客户端认证器110和服务器认证器124均对随机数进行加密,并将产生的加密数据进行比较以验证彼此。
一旦认证了客户端计算机204和许可证服务器102,方法300前进至框354,在框354中,服务器密钥管理器122产生新服务器会话密钥并将其传输至客户端计算机204。接着,在框356,已接收到新服务器会话密钥的客户端密钥管理器112将该客户端会话密钥存储为先前客户端密钥,并将新服务器会话密钥存储为当前客户端密钥。将客户端会话密钥存储为先前客户端密钥而简单将客户端会话密钥替换为新服务器会话密钥允许增加的可靠性。如果由于通信或其他故障导致客户端计算机204和许可证服务器102不能完成方法306,则客户端计算机204和许可证服务器102将能够使用先前客户端密钥在未来进行通信。
方法300然后前进至框358,在框358中,许可证服务器验证器106产生新客户端会话ID,并将接收确认传输到服务器密钥管理器122。接着,在框360,已接收到确认后,服务器密钥管理器122产生与客户端标识符相对应的新服务器会话ID。在一个实施例中,客户端会话ID和服务器会话ID匹配,使得下次执行方法300时,客户端会话ID和服务器会话ID将匹配。在一个实施例中,这是可以通过使许可证服务器102将产生的服务器会话ID传送至客户端计算机204来实现,然后更新客户端会话ID以进行匹配。在另一实施例中,新服务器会话ID和新客户端会话ID是基于通过相同的算法改变之前匹配的服务器会话ID和客户端会话ID来产生的,使得新产生的服务器会话ID和客户端会话ID将匹配而不需要许可证服务器102和客户端计算机204之间的进一步通信。在又一实施例中,客户端计算机204产生新客户端会话ID并将其传输至许可证服务器102,然后更新该新服务器会话ID来进行匹配。在又一实施例中,服务器会话ID和客户端会话ID不需要完全相同的值,而是以适合的方式彼此相对应,以使得指示一种匹配。
已更新了客户端会话ID和服务器会话ID之后,方法300前进至框362,在框362中,服务器许可证管理器126产生许可证分组并安全将其传输至客户端许可证管理器114。方法300然后前进至框364,在框364中,已接收到许可证分组后,客户端许可证管理器114安装软件许可证,从而启用如软件许可证所指示的特定受保护的程序功能。方法300然后前进至另一继续端点(“端点D”)。
从端点(图3A),方法300前进至在端点E和端点F中定义的方法步骤集合308。该方法步骤集合308描述了在软件许可证失去时效之后对其进行刷新的方法。从端点E(图3F),方法300前进至框366,在框366中,已确定软件许可证已失去时效后,客户端许可证管理器114上述从端点C2(图3D)至端点D(图3F)的方法步骤集合306以从许可证服务器102获取更新的软件许可证。软件许可证会以许多不同的方式失去时效。在一个实施例中,软件许可证在特定的时间段过去之后失去时效。在另一实施例中,许可证服务器102或供应器202采用的前摄操作可能使客户端计算机204上的软件许可证变得失去时效。在又一实施例中,用户操作(例如重复使用该受保护的软件产品)可能使软件许可证变得失去时效。
失去时效的软件许可证的功能在特定实施例中也可以是不同的。在一个实施例中,失去时效的软件许可证不允许连续的程序功能,直到许可证服务器102对其进行刷新。在另一实施例中,失去时效的软件许可证允许连续的程序功能,直到另一时间段或另一使用次数过去。在又一实施例中,失去时效的软件许可证引起相用户呈现通知,来指示该软件许可证需要刷新。
从框366,已执行从端点C2到端点D的方法步骤集合308之后,方法300前进至端点F并结束。
虽然已示意和描述了示例实施例,但将理解的是,在不背离权利要求的主旨的精神和范围的前提下可以作出各种改变。

Claims (20)

1、一种系统,包括:
许可证访问代理,被配置为在客户端计算机上执行,所述许可证访问代理包括:许可证管理器,被配置为在请求授权使用受保护的软件产品时接收软件许可证,以使得允许在客户端计算机上运行受保护的软件产品的一个或多个功能,所述许可证管理器配置为:在软件许可证期满时禁用所述受保护的软件产品,除非所述许可证管理器获得刷新的软件许可证。
2、根据权利要求1所述的系统,许可证访问代理还包括:初始化器,被配置为建立与许可证服务器的连接,并还被配置为经由所述连接发送针对软件许可证的请求,所述请求包括在许可证分组中提供的客户端标识符和初始密钥。
3、根据权利要求1所述的系统,许可证访问代理还包括:许可证服务器验证器,被配置为通过接收服务器会话标识符并将所述服务器会话标识符与在客户端计算机上存储的客户端会话标识符进行比较来验证许可证服务器。
4、根据权利要求1所述的系统,许可证访问代理还包括:客户端密钥管理器,被配置为存储包括先前会话密钥和当前会话密钥在内的至少两个客户端会话密钥,所述先前会话密钥和当前会话密钥在与许可证服务器进行通信时被更新。
5、根据权利要求1所述的系统,许可证访问代理还包括:客户端认证器,被配置为向许可证服务器认证在客户端计算机上执行的许可证访问代理。
6、根据权利要求1所述的系统,还包括:许可证服务器,被配置为当在客户端计算机上执行许可证访问代理时在服务器计算机上执行,所述许可证服务器包括:服务器许可证管理器,被配置为在从许可证访问代理接收到更新了会话密钥的确认时在许可证分组中产生软件许可证。
7、根据权利要求6所述的系统,许可证服务器还包括:客户端验证器,被配置为在接收到针对软件许可证的请求时建立与客户端计算机的连接,所述客户端验证器被配置为,通过客户端标识符来验证客户端计算机,并将与客户端标识符相对应的会话标识符转发至客户端计算机,所述客户端验证器被配置为:对定义当前会话的会话标识符进行更新。
8、根据权利要求7所述的系统,许可证服务器还包括:服务器认证器,被配置为对客户端计算机进行认证。
9、根据权利要求8所述的系统,许可证服务器还包括:服务器密钥管理器,被配置为在当前会话期间产生新会话密钥以便由服务器认证器在下个会话期间使用,服务器密钥管理器被配置为:将新会话密钥转发至客户端计算机。
10、一种方法,包括:
在软件许可证期满之后,禁用受保护的软件产品,除非通过进行针对许可证分组的请求获得了刷新的软件许可证;以及
如果在许可数据库中找到客户端计算机的客户端标识符并且服务器会话标识符与客户端会话标识符或先前会话标识符相等,则接受包含所述刷新的软件许可证在内的许可证分组,以便允许在客户端计算机上运行受保护的软件产品的一个或多个功能。
11、根据权利要求10所述的方法,还包括:通过许可证系统产生器来产生许可证访问代理
12、根据权利要求11所述的方法,还包括:将许可证访问代理与将要被分发至客户端计算机的软件产品合并,以形成受保护的软件产品。
13、根据权利要求12所述的方法,还包括:受保护的软件产品在执行时调用许可证访问代理,从而使许可证访问代理向供应器请求许可证数据包。
14、根据权利要求10所述的方法,还包括:如果服务器会话标识符与客户端会话标识符相等,则向客户端会话密钥分配储存为当前客户端密钥的值,并且如果服务器会话标识符与先前客户端会话标识符相等,则向客户端会话密钥分配储存为先前客户端密钥的值。
15、根据权利要求14所述的方法,还包括:
服务器密钥管理器产生新服务器会话密钥,并将新服务器会话密钥传输至客户端计算机;
许可证服务器验证器分配新客户端会话密钥,并将接收确认发送至服务器密钥管理器;
响应于接收到所述接收确认,服务器密钥管理器产生与客户端标识符相对应的新服务器会话标识符;以及
服务器许可证管理器产生许可证分组。
16、一种其上存储有计算机可执行指令的计算机可读介质,所述计算机可执行指令用于执行禁止未授权软件使用的方法,所述方法包括:
在软件许可证期满时,禁用受保护的软件产品;
进行针对许可证分组的请求;
如果在许可数据库中找到客户端计算机的客户端标识符并且服务器会话标识符与客户端会话标识符或先前会话标识符相等,则接收包含刷新的软件许可证在内的许可证分组,以使得允许在客户端计算机上运行受保护的软件产品的一个或多个功能;以及
启用受保护的软件产品的一个或多个功能。
17、根据权利要求16所述的计算机可读介质,还包括:通过许可证系统产生器来产生许可证访问代理。
18、根据权利要求17所述的计算机可读介质,还包括:将许可证访问代理与要被分发至客户端计算机的软件产品合并,以形成受保护的软件产品。
19、根据权利要求16所述的计算机可读介质,还包括:如果服务器会话标识符与客户端会话标识符相等,则向客户端会话密钥分配储存为当前客户端密钥的值,并且如果服务器会话标识符与先前客户端会话标识符相等,则向客户端会话密钥分配储存为先前客户端密钥的值。
20、根据权利要求19所述的计算机可读介质,还包括:在服务器密钥管理器产生新服务器会话密钥之后并将新服务器会话密钥传输至客户端计算机之后、在由许可证服务器验证器分配新客户端会话密钥之后、在将接收确认发送至服务器密钥管理器之后、以及在服务器密钥管理器响应于接收到所述接收确认而产生与客户端标识符相对应的新服务器会话标识符之后,通过服务器许可证管理器来产生许可证分组。
CN200880008826A 2007-03-20 2008-03-20 刷新软件许可证 Pending CN101681403A (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US91889807P 2007-03-20 2007-03-20
US60/918,898 2007-03-20
PCT/US2008/057693 WO2008116087A1 (en) 2007-03-20 2008-03-20 Refreshing software licenses

Publications (1)

Publication Number Publication Date
CN101681403A true CN101681403A (zh) 2010-03-24

Family

ID=39531353

Family Applications (1)

Application Number Title Priority Date Filing Date
CN200880008826A Pending CN101681403A (zh) 2007-03-20 2008-03-20 刷新软件许可证

Country Status (5)

Country Link
US (1) US8127367B2 (zh)
EP (1) EP2140393A1 (zh)
JP (1) JP5284989B2 (zh)
CN (1) CN101681403A (zh)
WO (1) WO2008116087A1 (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102737179A (zh) * 2011-03-29 2012-10-17 微软公司 软件应用许可漫游
CN105191293A (zh) * 2013-03-15 2015-12-23 高通股份有限公司 广告下载验证
CN104125239B (zh) * 2014-08-14 2017-08-25 北京锐安科技有限公司 一种基于数据链路加密传输的网络认证方法和系统
CN110381078A (zh) * 2019-07-29 2019-10-25 迈普通信技术股份有限公司 令牌续期的确定方法、装置、电子设备及存储介质
CN110832479A (zh) * 2017-05-22 2020-02-21 Macpaw软件开发公司 用于软件激活和许可证跟踪的系统和方法

Families Citing this family (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8347109B2 (en) * 2008-02-28 2013-01-01 Red Hat, Inc. Secure serial number generation
US8612749B2 (en) * 2008-05-08 2013-12-17 Health Hero Network, Inc. Medical device rights and recall management system
US20100057703A1 (en) * 2008-08-29 2010-03-04 Brandt Matthew K Systems and Methods for Automating Software Updates/Maintenance
US20100179980A1 (en) * 2009-01-14 2010-07-15 Movidilo S.L. Cache system for mobile communications devices
US9129097B2 (en) * 2009-06-24 2015-09-08 Uniloc Luxembourg S.A. Systems and methods for auditing software usage using a covert key
CN105760716B (zh) * 2010-05-19 2018-12-14 谷歌有限责任公司 电子证书管理
ES2628224T3 (es) * 2010-05-21 2017-08-02 Sfnt Germany Gmbh Método para controlar la ejecución de una aplicación en un sistema informático
US8863241B2 (en) * 2011-02-08 2014-10-14 Michael Ratiner System and method for managing usage rights of software applications
US8931056B2 (en) 2011-03-31 2015-01-06 Microsoft Corporation Establishing privileges through claims of valuable assets
US9135409B2 (en) * 2011-05-18 2015-09-15 Hewlett-Packard Development Company, L.P. Distributing update information based on validated license information
US9152771B2 (en) 2011-05-31 2015-10-06 Qualcomm Incorporated Apparatus and method of managing a licensable item
EP2600244A1 (de) * 2011-12-02 2013-06-05 Siemens Aktiengesellschaft Computer-implementiertes Verfahren zur standortbasierten Kontrolle eines Standorts eines Downloads und/oder eines Betriebs einer Software
US9165332B2 (en) 2012-01-27 2015-10-20 Microsoft Technology Licensing, Llc Application licensing using multiple forms of licensing
DE102012201431A1 (de) * 2012-02-01 2013-08-01 Robert Bosch Gmbh System und Verfahren zum Lizenzieren einer Vielzahl von Softwarekomponenten
US20150095237A1 (en) * 2013-09-30 2015-04-02 Infinera Corp. License Management System
CN105590056B (zh) * 2014-10-22 2019-01-18 中国银联股份有限公司 基于环境检测的动态应用功能控制方法
CN104539634B (zh) * 2015-01-22 2017-08-29 北京成众志科技有限公司 一种移动应用安全增强授权与认证的方法
US10469346B2 (en) * 2015-01-30 2019-11-05 Splunk Inc. Correlating performance data of client and host to identify performance issue of a third device

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20010011253A1 (en) * 1998-08-04 2001-08-02 Christopher D. Coley Automated system for management of licensed software
JP2002297255A (ja) * 2001-03-30 2002-10-11 Ntt Comware Corp ソフトウェア管理方法、そのシステム、そのプログラム及びそのプログラムが記録された記録媒体
US20030110375A1 (en) * 1998-06-04 2003-06-12 Z4 Technologies, Inc. Method for monitoring software using encryption including digital signatures/certificates
US20050060569A1 (en) * 2003-09-12 2005-03-17 Konica Minolta Photo Imaging, Inc. Method of managing the information on the release of restriction on use

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH1078867A (ja) * 1996-09-03 1998-03-24 Hitachi Ltd ソフトウェア流通システム
JP2001517822A (ja) * 1997-09-19 2001-10-09 パク,ヒョ,ジョーン 独立的ソフトウェア登録サーバを利用したソフトウェア使用権管理システム
US7376835B2 (en) 2000-04-25 2008-05-20 Secure Data In Motion, Inc. Implementing nonrepudiation and audit using authentication assertions and key servers
US7146009B2 (en) * 2002-02-05 2006-12-05 Surety, Llc Secure electronic messaging system requiring key retrieval for deriving decryption keys
WO2003079607A1 (en) * 2002-03-18 2003-09-25 Colin Martin Schmidt Session key distribution methods using a hierarchy of key servers
GB0327278D0 (en) 2003-11-24 2003-12-24 Freeman Simon Secure message model
JP2006059164A (ja) * 2004-08-20 2006-03-02 Fujitsu Support & Service Kk ライセンス管理端末、ライセンス管理システム、ライセンス管理プログラム、およびライセンス管理方法
US20060064388A1 (en) * 2004-09-22 2006-03-23 Nokia Corporation Method and system for the total decoupling of licenses from associated license protected configuration
EP1865656A1 (en) 2006-06-08 2007-12-12 BRITISH TELECOMMUNICATIONS public limited company Provision of secure communications connection using third party authentication

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050251489A1 (en) * 1996-02-26 2005-11-10 Coley Christopher D Method for evaluating software freely distributed over the internet
US20030110375A1 (en) * 1998-06-04 2003-06-12 Z4 Technologies, Inc. Method for monitoring software using encryption including digital signatures/certificates
US20010011253A1 (en) * 1998-08-04 2001-08-02 Christopher D. Coley Automated system for management of licensed software
JP2002297255A (ja) * 2001-03-30 2002-10-11 Ntt Comware Corp ソフトウェア管理方法、そのシステム、そのプログラム及びそのプログラムが記録された記録媒体
US20050060569A1 (en) * 2003-09-12 2005-03-17 Konica Minolta Photo Imaging, Inc. Method of managing the information on the release of restriction on use

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102737179A (zh) * 2011-03-29 2012-10-17 微软公司 软件应用许可漫游
CN102737179B (zh) * 2011-03-29 2017-03-01 微软技术许可有限责任公司 软件应用许可漫游
CN105191293A (zh) * 2013-03-15 2015-12-23 高通股份有限公司 广告下载验证
CN104125239B (zh) * 2014-08-14 2017-08-25 北京锐安科技有限公司 一种基于数据链路加密传输的网络认证方法和系统
CN110832479A (zh) * 2017-05-22 2020-02-21 Macpaw软件开发公司 用于软件激活和许可证跟踪的系统和方法
CN110381078A (zh) * 2019-07-29 2019-10-25 迈普通信技术股份有限公司 令牌续期的确定方法、装置、电子设备及存储介质

Also Published As

Publication number Publication date
US20080285758A1 (en) 2008-11-20
EP2140393A1 (en) 2010-01-06
US8127367B2 (en) 2012-02-28
WO2008116087A1 (en) 2008-09-25
JP2010522382A (ja) 2010-07-01
JP5284989B2 (ja) 2013-09-11

Similar Documents

Publication Publication Date Title
CN101681403A (zh) 刷新软件许可证
EP3726865B1 (en) Method and system for generating and using virtual key of vehicle
US8788836B1 (en) Method and apparatus for providing identity claim validation
US8522361B2 (en) Tokenized resource access
US10355868B2 (en) Method of providing security for controller using encryption and apparatus therefor
US7870273B2 (en) Method and system for indentifying a device implementing a digital rights management protocol
US20110197077A1 (en) Software feature authorization through delegated agents
WO2017083294A1 (en) Vehicle access systems and methods
JPH0581204A (ja) 分散型コンピユータシステムにおけるアクセス制御
CN101872399A (zh) 基于双重身份认证的动态数字版权保护方法
CN110768938A (zh) 一种车辆安全通信方法及装置
KR20200138059A (ko) 차량 공유를 위한 이동통신 단말의 디지털 키를 관리하는 방법 및 이를 이용한 키 서버
CN108141444B (zh) 经改善的认证方法和认证装置
US20100017888A1 (en) Method, device and system for transferring license
WO2011069460A1 (zh) 充值卡生成、充值、查询方法及系统
CN110401613A (zh) 一种认证管理方法和相关设备
CN106027464A (zh) 一种安全信息控制方法及身份证读卡终端
CN113411311B (zh) Ecu诊断授权验证方法、存储介质和系统
CN115051871A (zh) 一种鉴权方法及设备、存储介质
US20170311158A1 (en) Technique for connecting a mobile device to a vehicle-based system
JP2020005064A (ja) 利用者権限認証システム
CN115859389B (zh) 一种基于私有化部署的软件序列号授权方法及系统
CN114221769B (zh) 一种基于容器的软件授权许可控制方法及装置
CN115567314B (zh) 一种基于硬件可信信任链的License安全代理方法和平台
CN116248280B (zh) 免密钥发行的安全模组防盗用方法、安全模组及装置

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C05 Deemed withdrawal (patent law before 1993)
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20100324