CN103189876B - 基于第一和第二授权项来确定软件产品的授权 - Google Patents

基于第一和第二授权项来确定软件产品的授权 Download PDF

Info

Publication number
CN103189876B
CN103189876B CN201080070102.0A CN201080070102A CN103189876B CN 103189876 B CN103189876 B CN 103189876B CN 201080070102 A CN201080070102 A CN 201080070102A CN 103189876 B CN103189876 B CN 103189876B
Authority
CN
China
Prior art keywords
grant item
software product
key
processor
grant
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
CN201080070102.0A
Other languages
English (en)
Other versions
CN103189876A (zh
Inventor
C.L.塞利格
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.)
Antite Software Co., Ltd.
Original Assignee
Hewlett Packard Development Co LP
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 Hewlett Packard Development Co LP filed Critical Hewlett Packard Development Co LP
Publication of CN103189876A publication Critical patent/CN103189876A/zh
Application granted granted Critical
Publication of CN103189876B publication Critical patent/CN103189876B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/44Program or device authentication
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/10Network architectures or network communication protocols for network security for controlling access to devices or network resources
    • H04L63/108Network architectures or network communication protocols for network security for controlling access to devices or network resources when the policy decisions are valid for a limited amount of time
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2463/00Additional details relating to network architectures or network communication protocols for network security covered by H04L63/00
    • H04L2463/101Additional details relating to network architectures or network communication protocols for network security covered by H04L63/00 applying security measures for digital rights management
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload

Abstract

本文中所公开的实施例涉及基于第一授权项和第二授权项来确定软件产品的授权。每个授权项都可以为文件或注册表键。处理器(104)可以通过将第一授权项与第二授权项相比较来确定所述软件产品的使用在特定的时间段是否被授权。

Description

基于第一和第二授权项来确定软件产品的授权
背景技术
软件产品可以被授权持续特定的时间段。例如,用户可以被授予软件产品的使用持续试用期,诸如持续三十天。试用期可以被免费或者以比软件产品的充分使用更低的成本来提供以使用户熟悉该软件产品。介绍性的试用期然后可以鼓励用户在试用期的结束时为软件产品的持续使用付费。
附图说明
在附图中,相同的附图标记指代相同的部件或块。图示出了示例实施方式。图中的一些描述了以示例次序发生的方法步骤,但是方法步骤可以以任何次序来执行。以下具体描述参考图,其中:
图1是图示了计算系统的一个示例的方框图。
图2A是图示了计算系统的一个示例的方框图。
图2B是图示了计算系统的一个示例的方框图。
图2C是图示了计算系统的一个示例的方框图。
图3是图示了用来基于第一和第二授权项来确定软件产品的授权的方法的一个示例的流程图。
图4是图示了用来创建第二授权项的方法的一个示例的流程图。
图5是图示了用来将第一授权项与第二授权项相比较的方法的一个示例的流程图。
图6是图示了确定软件产品的使用是否被授权的一个示例的流程图。
图7是图示了确定软件产品的使用被授权的一个示例的方框图。
图8是图示了确定软件产品的使用未被授权的一个示例的方框图。
图9是图示了用于延长软件产品的授权周期的方法的一个示例的流程图。
图10是图示了用来延长软件产品的授权周期的方法的一个示例的流程图。
图11是图示了计算系统的一个示例的方框图。
具体实施方式
软件产品可以被授权持续特定的时间段。例如,软件厂商可以提供用来在试用的基础上使用软件产品诸如持续三十天或者直到特定的一天为止的用户授权。试用在时间上可能是有限的,诸如因为其是免费的或者比软件产品的正规价格更便宜。
将软件产品的使用限制到特定的时间段可以涉及使用户键入授权码。然而,在一些情况下,用户可以共享授权码或者可以改变授权码以延长授权的使用的量。在一些情况下,与试用期有关的授权信息可以被从远程设备检索。例如,软件产品可以包括用来经由网络检查远程数据库以检查软件产品的使用是否被授权的指令。然而,在一些情况下,授权信息被本地地存储在执行该软件产品的电子设备上可能是令人期望的。软件产品可以创建在电子设备上本地地存储的授权文件,诸如当软件产品被安装时。用户可以发现文件并且尝试延长软件产品的授权的使用的周期,诸如通过删除或改变文件。
在一个实施例中,软件产品的授权被通过创建在运行软件产品的电子设备上存储的两个授权项来实施,其中每个授权项在不同的时间被创建。例如,一个授权项可以在软件产品被安装时被创建,而另一授权项可以在软件产品首次被执行时被创建。授权项可以为单独的项。例如,一个授权项可以为文件而另一个可以为注册表键,或者授权项可以为单独的文件或注册表键。两个授权项可以被协调使得在它们之间的不一致可以指示软件产品的使用未被授权。
使用在不同的时间所创建的两个授权项可以使得用户更难以发现该两个授权项。如果用户发现授权项中的一个并且改变或者删除它,则因为结果得到的两个授权项之间的不一致性而篡改可能是明显的。因此,用户更难以延长用于软件产品的授权周期。
图1是图示了计算系统100的一个示例的方框图。计算系统100可以包括电子设备110。电子设备110可以为任何适当的电子设备,诸如个人计算机或移动电话。电子设备110可以例如包括处理器104、机器可读存储介质102、第一授权项106、以及第二授权项108。
处理器104可以为任何适当的处理器,诸如中央处理单元(CPU)、基于半导体的微处理器、或适合于指令的检索和执行的任何其他设备。在一个实施例中,计算系统100包括代替或除了处理器104之外的逻辑。作为替换或除了取得、解码、以及执行指令之外,处理器104可以包括一个或多个集成电路(IC)或其他电子电路,所述其他电子电路包括用于执行下文中所描述的功能的多个电子部件。在一个实施方式中,计算系统100包括多个处理器。例如,一个处理器可以执行一些功能而另一处理器可以执行其他功能。
在一个实施方式中,处理器104执行在机器可读存储介质102中存储的指令。机器可读存储介质102可以为任何适当的机器可读介质,诸如电子的、磁性的、光学的或存储可执行指令或其他数据的其他物理存储设备(例如,硬盘驱动器、随机存取存储器、闪速存储器等)。机器可读存储介质102可以例如为计算机可读非暂时性介质。机器可读存储介质102可以包括可由处理器104执行的指令。
机器可读存储介质102可以包括与软件产品112相关联的指令。软件产品112可以为任何适当的软件产品。软件产品112可以被授权以在特定的时间段(诸如六天试用期)期间在处理器104上执行。
第一授权项106和第二授权项108可以为用于指示软件产品112的使用是否被授权的任何适当的项。例如,第一授权项106和第二授权项108可以为文件或注册表键。第一授权项106和第二授权项108可以包括指示软件产品的授权的使用的时间段的信息。第一授权项106和第二授权项108可以包括指示其他授权项的属性的信息。例如,第一授权项106可以包括指示第二授权项108是否已经被创建的信息。
软件产品112可以包括与控制软件产品112是否可以在特定的时间在处理器104上执行有关的指令。例如,软件产品112可以包括用来当软件产品112被安装时生成诸如第一授权项106的第一授权令牌的指令,和当软件产品112首次被运行时生成诸如第二授权项108的第二授权令牌的指令,其中每个授权项是在储存器中存储的文件或在注册表中存储的注册表键。软件产品112可以包括用来基于第一授权项106和第二授权项108的比较来确定软件产品112的使用在特定的时间是否被授权,并且如果确定软件产品112的使用未被授权则禁止软件产品112的使用的指令。
图2A、2B以及2C示出了第一授权项和第二授权项的示例组合,其中两个授权项中的每一个都可以为注册表键或文件。图2A是图示了计算系统200的一个示例的方框图。计算系统200示出了作为在储存器218中存储的授权文件202的第一授权项和作为在注册表220中存储的授权键204的第二授权项。储存器218可以为任何适当的储存器,诸如硬盘驱动器或闪速驱动器。储存器218可以存储用于存储与对软件产品进行授权有关的信息的文件。注册表220可以为任何适当的注册表,诸如存储与操作系统有关的设定的数据库。注册表220可以包括具有与对软件产品进行授权有关的属性的注册表键。处理器104可以在软件产品112被安装时创建授权项中的一个,并且可以在软件产品112的第一执行期间创建另一授权项。图2B是图示了计算系统206的一个示例的方框图。计算系统206包括第一授权文件208和第二授权文件210。图2C是图示了计算系统212的一个示例的方框图。计算系统212包括第一授权密钥214和第二授权密钥216。
图3是图示了用来基于诸如第一授权项106和第二授权项108的第一和第二授权项来确定软件112产品的授权的方法300的一个示例的流程图。例如,第一授权项可以在软件产品112被安装时被创建,而第二授权项可以在软件产品112首次被执行时被创建。信息可以被存储在与软件产品112的授权的使用的时间段有关的第一授权项和第二授权项中。在第一授权项和第二授权项中的信息可以被与当前日期或日期和时间进行比较以确定授权周期是否已经期满。在一些情况下,在第一授权项和第二授权项中的信息可以被相互相比较以确定二者中任何一个授权项是否已经被篡改。
在302处开始并且移动到304,处理器104,诸如通过执行在机器可读存储介质102中存储的指令,在软件产品112被安装时创建第一授权项。例如,软件产品112可以包括用于安装的指令,所述指令包括用来生成授权令牌的指令。第一授权项可以例如为授权文件或授权密钥。
可以以任何适当的方式来创建授权项。处理器104可以在授权项被创建时将信息写入到授权项,诸如通过更新授权密钥属性或者将信息存储在授权文件中。例如,处理器104可以包括关于安装日期或安装时间的信息,诸如通过在安装发生时从系统或互联网时钟接收或检索关于当前日期的信息。信息可以包括基于安装日期所计算的期满日期,诸如从安装起的期满日期九十天。信息可以包括可以被用来检测篡改授权项的标识信息。例如,如果用户在没有标识信息的情况下创建新的授权项,则处理器104可以识别到授权项被用户创建并且不是在软件产品112的安装期间。处理器104可以存储授权项。授权项可以被存储在特定的位置或者使用特定的名称来存储。例如,软件产品112可以包括用于在哪里存储授权项的指令,诸如文件路径或注册表键名称。
继续到306,处理器104,诸如通过执行在机器可读存储介质102中存储的指令来在软件产品112首次被执行时创建第二授权项。第二授权项可以例如为授权文件或授权密钥。第二授权项可以为与第一授权项相比相同类型的或不同类型的项。例如,第一授权项和第二授权项两者都可以为文件或注册表键,或者第一授权项和第二授权项中的一个可以为文件而另一个可以为注册表键。
可以以任何适当的方式来创建第二授权项。第二授权项可以被存储在任何适当的位置中。在一个实施例中,信息被包括在第二授权项中,诸如软件产品112首次被执行的日期或时间。第二授权项可以包括基于第一执行所计算的期满日期,诸如从第一执行起的期满日期三十天。在一个实施例中,处理器104确定是否创建第二授权项。例如,处理器104可以分析第一授权项以确定软件产品112的当前执行是否是软件产品112的第一执行。
在一个实施方式中,关于第二授权项的信息被存储在第一授权项。例如,关于软件的第一执行的日期的信息可以被存储在第一和第二授权项两者中。处理器104可以从第一授权项中检索信息以写入到第二授权项。例如,安装日期或与安装日期有关的期满日期可以从第一授权项中读取并且存储在第二授权项中。
移动到308,处理器104,诸如通过执行在机器可读存储介质102中存储的指令,来基于第一授权项和第二授权项的比较确定软件产品112的使用在特定的时间是否被授权,诸如在特定的日期或日期和时间。例如,用户可以尝试执行软件产品112,并且处理器104可以确定软件产品112的使用在该时间是否被授权。处理器104可以以任何适当的方式将第一授权项和第二授权项相比较。例如,处理器104可以将当前日期与期满日期相比较,所述期满日期诸如在第一授权项和第二授权项中的期满日期或通过将时间段加到第一授权项和第二授权项中的安装日期或第一执行日期所计算的期满日期。期满日期可以被与从互联网时钟所检索到的当前日期相比较,以阻止用户通过改变电子设备110上的系统时钟来延长授权周期。在一个实施方式中,处理器比较软件产品112已经被执行的次数。例如,授权项中的每一个都可以包括指示软件产品112已经执行的次数的数目。数目可以被与允许的最大次数相比较。
在一个实施例中,处理器104比较第一授权项和第二授权项中的信息以确认授权项中的信息是一致的。例如,如果授权项包括不同的第一执行日期、安装日期或期满日期,则其可以指示用户通过改变授权项中的一个或者通过删除和重新创建授权项中的一个篡改了授权项中的一个。
继续到310,如果确定软件产品112的使用未被授权,则处理器104,诸如通过执行在机器可读存储介质102中存储的指令,来阻止软件产品112的使用。处理器104可以以任何适当的方式来禁止软件产品112的使用。例如,处理器104可以停止执行与软件产品112有关的指令。如果确定软件产品112的使用被授权,则处理器104可以继续执行与软件产品112相关联的指令以允许用户使用软件产品112。方法300继续到312并且结束。
图4是图示了与图3的306相对应的、用来创建第二授权项的方法的一个示例的流程图。例如,处理器104可以基于第一授权项中的信息来确定第二授权项是否应该被创建。处理器104可以确定用户是否已经篡改了授权项。例如,如果第二项存在并且第一授权项指示第二项不应该存在,则可以阻止软件产品112的使用。用户可以不正确地相信一个授权项控制软件产品112的授权。检查以确定第二授权项是否应该被创建可以阻止用户能够通过删除第二授权项来避开系统。
在402处开始并且移动到404,处理器104确定第一授权项是否指示第二授权项应该存在。处理器104可以检索第一授权项。例如,处理器104可以从储存器218或从注册表220中检索第一授权项。处理器104可以通过使用文件路径或注册表键名称检索第一授权项。这可以例如响应于执行软件产品112来完成。
第一授权项可以包括关于第二授权项是否已经被创建的任何适当的指示。例如,第一授权项可以在安装时间被创建,而不用在第二授权项被创建时可以被添加的附加的信息,或来自第一授权项的信息可以在第二授权项被创建时被移除。处理器104可以检查第一授权项以查看其是否包含指示第二授权项已经被先前创建的信息或该信息的缺乏。在一个实施例中,处理器在第一授权项被创建时将已知的值写入到第一授权项,并且处理器检查这些已知的值以验证正被分析的文件或注册表键是第一授权项。指示第二授权项何时被创建的第一执行日期可以被存储在第一授权项中。如果第一执行日期不被包括在第一授权项中,则处理器104可以确定第二授权项尚未被创建。
在一些情况下,当软件产品112被卸载时,处理器104可以留下第一授权项和第二授权项,而不删除它们。这可以阻止用户通过卸载并且重新安装软件产品112来避开试用期。例如,如果软件被重新安装,则第一授权项仍然可以是可用的并且指示第二授权项已经被创建。
继续到406,处理器104确定第二授权项是否存在。例如,处理器104可以检查储存器218或注册表220以确定第二授权项是否存在。处理器104可以知道检查特定的位置,诸如特定的文件路径或注册表键名称。可以以任何次序来执行方法400的步骤。例如,在一些情况下,处理器104可以在分析第一授权项以确定第二授权项是否应该存在之前检查第二授权项是否存在。
继续到408,如果确定第二授权项不应该存在并且确定第二授权项存在,则处理器104阻止软件产品112的使用。例如,如果第一授权项指示第二授权尚未被创建,但是第二授权项存在,则其可以指示用户更改或删除了第一授权项,而没有删除第二授权项。可以以任何适当的方式来阻止软件产品112的使用。
如果第一授权项指示第二授权项尚未被创建并且第二授权项不存在,则处理器104可以创建第二授权项。例如,其可能是软件产品112被执行的第一次。方法400继续到410以结束。
图5是图示了与图3的308相对应的、用来将第一授权项与第二授权项相比较的方法的一个示例的流程图。当将第一授权和第二授权项相比较以确定是否允许软件产品112的使用时,处理器104可以确定即使第一授权项指示第二授权项已经被创建第二授权项也不存在。如果第二授权项在其被先前创建时不存在,则处理器104可以阻止软件产品112的使用。第二授权项可能不再存在,例如,因为用户删除了它,诸如尝试延长试用期。用来在第一授权项指示第二授权项已经被创建的情况下确定第二授权项是否存在的比较可以在任何点处完成。例如,比较可以在当处理器104正在确定第二授权项是否应该被创建时的时间处完成。
在502处开始并且移动到504,处理器104确定第二授权项是否存在。例如,处理器104可以尝试在特定的文件路径或注册表键名称处访问第二授权项以确定第二授权项是否存在。
继续到506,如果确定第二授权项应该存在并且确定第二授权项不存在,则处理器104阻止软件产品112的使用。如果第二授权项被创建并且现在不再存在,则其可以指示第二授权项被删除。处理器104可以不重新创建第二授权项,因为在随后的时间创建它可能允许用户延长授权周期。如果确定第二授权项应该存在并且确实存在,则处理器104可以将第一授权项与第二授权项相比较以确定软件产品112的使用是否应该被允许或阻止。方法500继续508以结束。
图6是图示了确定软件产品的使用是否被授权的一个示例600的流程图。在602处开始,软件产品被安装在电子设备上。安装过程可以例如包括将与软件产品有关的指令存储在电子设备上的机器可读存储介质中。移动到604,诸如授权文件的第一授权项可以在安装过程期间被创建和存储。在一些情况下,期满日期可以被插入在授权文件中。例如,试用期可以为在软件产品的安装之后的特定的天数,并且期满日期可以通过确定当前日期(诸如通过使用系统时钟或互联网时钟)并且将试用期天数加到它来计算。
继续到606,用户执行软件产品以使用它。继续到608,处理器确定授权文件(第一授权项)是否指示诸如授权注册表键的第二授权项应该被创建。处理器可以检查在安装时间期间被写入到授权文件的已知的值以验证正被分析的文件是授权文件。处理器可以检查授权文件以得到指示授权密钥是否已经被创建的信息的存在或缺乏。例如,处理器可以检查以查看授权文件是否包括授权密钥被创建的日期。
移动到610,如果确定授权文件指示授权密钥尚未被创建,则处理器检查查看授权密钥是否存在。如果授权密钥存在,则其可以指示授权文件被重新创建,诸如通过删除它并且重新安装软件而不删除授权密钥。如果授权密钥存在,则过程可以继续到618以阻止软件产品的使用。
继续到612,如果确定其确实已经不存在,则授权密钥被创建。继续到614,软件产品的第一开始日期可以通过从系统时钟或从互联时钟检索当前日期或时间来确定。开始日期可以被写入到授权文件和授权密钥。开始日期可以被写入到授权项两者,使得开始日期可以被稍后比较以检测任一授权项是否被删除或改变。在一个实施例中,软件产品试用的期满日期被基于从开始日期起的时间段,诸如从开始日期起的三十天来计算。如果期满日期被基于软件产品的安装日期来确定,则处理器可以确定当前日期是否超过期满日期。例如,参考620,如果期满尚未通过则处理器可以允许软件产品的使用,并且如果当前日期在期满日期之后则可以阻止软件产品的使用。
往回参考608,处理器可以评估授权文件并且确定授权密钥已经被创建。移动到616,处理器可以确定开始日期和期满日期在授权文件和授权密钥中是否是相同的。如果当确定授权密钥确实不存在尝试评估授权密钥时,处理器可以阻止软件产品的使用。如果授权密钥确实存在,但是开始日期和期满日期在授权文件和授权文件之间是不一致的,则处理器可以阻止软件产品的使用。
继续到620,处理器可以确定当前日期是否在期满日期之后。如果这样,移动到620,软件产品的使用被阻止。如果不是,则移动到622,软件产品的使用被允许。每当软件产品被执行时,过程就继续在606处开始。
图7是图示了确定软件产品的使用被授权的一个示例700的方框图。示例700示出了具有作为一个授权项的授权文件702的储存器218和具有作为另一授权项的授权密钥704的注册表220。授权文件702和授权密钥704两者都包括相同的开始日期和相同的期满日期。授权文件702和授权密钥704两者中所示出的期满日期是07/01/2012。如706处所示出的那样,当软件产品正被运行时的当前日期是06/15/2012,其在期满日期07/01/2012之前。如708处所示出的那样,软件产品的使用被允许。
图8是图示了确定软件产品的使用未被授权的一个示例800的方框图。示例800包括储存器218中的作为一个授权项的授权文件802和注册表220中的作为另一授权项的授权密钥804。授权文件802和授权密钥804包括不同的开始日期和相同的期满日期。授权文件802和授权密钥804中所示出的期满日期07/01/2012在当806处所示的软件正被运行时的当前日期06/15/2012之前。然而,因为授权文件802和授权密钥804中的开始日期之间的不一致,所以808示出了软件产品的使用未被授权。
在一些情况下,初始试用期可以用期满日期来设置,但是延长试用期可能是令人期望的。例如,软件厂商可以从请求试用期被延长的客户端接收电话呼叫。可以提供延长试用期诸如持续多个天数或者直到特定的日期为止的延长密钥。可以评估延长密钥并且可以基于延长密钥来更新第一授权项和第二授权项中的期满日期。
图9是图示了用来延长软件产品112的授权周期的方法900的一个示例的流程图。处理器104可以接收延长密钥。延长密钥可以为任何适当的延长密钥,诸如延长日期持续特定的天数或直到特定的日期为止的延长密钥。在一个实施例中,单独的处理器创建延长密钥。例如,延长密钥可以被创建并且经由网络发送到用户或处理器104。
在一个实施例中,延长密钥是20位密钥。例如,延长密钥可以为具有位数sfee-eeee-eeod-dddd-dddc的密钥,其中s是调整成使得密钥满足检查的位,诸如模数11检查,f是设置成0或1以指示试用是否应该被重置的位,并且c是校验和值。e位可以表示用于应用密钥的期满日期。o位指示延长试用期的周数。如果o被设置成0,则其可以指示试用期应该被延长直到由d位所表示的日期为止。
在902处开始并且移动到904,处理器104接收指示用来延长软件产品112的授权的使用的时间段的时间段的延长密钥。处理器104可以以任何适当的方式来接收延长密钥,诸如从用户输入到与处理器104进行通信的输入设备或经由网络。延长密钥可以以任何适当的方式来更新试用期。例如,延长密钥可以为试用结束提供特定的日期,指示试用应该被延长持续特定的天数或重新开始试用期。密钥可以通过任何适当的增加来延长试用期,诸如按天数,小时或分钟。在一些情况下,处理器104可以实施与密钥有关的规则。例如,如果延长时间将以其他的方式延长原始试用期超过一年,则处理器104可以通过向下调整延长时间来确保原始试用期不会延长到一年以上。
移动到906,处理器104基于延长密钥来调整第一授权项和第二授权项以按照所指示的时间段延长授权的使用的周期。例如,写入到第一授权项和第二授权项的期满日期可以在第一授权项和第二授权项中被更新。方法900继续到908并且结束。
图10是图示了用来延长软件产品的授权周期的方法1000的一个示例的流程图。例如,处理器104可以将延长密钥或延长密钥的一部分存储在第一授权项和第二授权项两者中。在第一授权项和第二授权项中所存储的延长密钥可以被比较以确定延长密钥的列表是否是相同的。这可以被完成例如以阻止用户重新使用延长密钥。用户可以接收用来延长当前的试用期三十天的延长密钥,并且阻止用户重复使用密钥以保持延长试用期三十天可能是令人期望的。处理器104可以在任何适当的时间检查延长密钥,诸如每当软件产品112被执行时。
在1002处开始并且移动到1004,处理器104将延长密钥存储在第一授权项中。处理器104可以存储附加的信息,诸如延长密钥被使用的日期。处理器104可以存储延长密钥的一部分或整个延长密钥。
移动到1006,处理器104将延长密钥存储在第二授权项中。与延长密钥有关的附加的信息可以被存储在第二授权项中,并且可以存储密钥的一部分或整个密钥。
继续到1008,处理器104确定文件中的延长密钥是否与注册表键中的延长密钥相关。例如,处理器104可以确定在第一授权项中找到的任何延长密钥是否也在第二授权项中,并且反之亦然。在一些情况下,处理器104可以检查延长密钥的次序在第一授权项中与在第二授权项中是否是相同的。
在一个实施例中,延长密钥包括指示第一授权项和第二授权项应该被重新设置的信息。例如,即使两个授权项由于篡改而不一致,确定不一致也可能是令人期望的,诸如对于有价值的客户来说,使得软件产品可以被使用。处理器104可以例如更新两个授权项中的开始日期和结束日期两者,使得它们是一致的。在一些情况下,处理器104可以调整或删除关于先前的延长密钥的信息,使得信息在第一授权项和第二授权项之间是一致的。
继续到1010,如果确定延长密钥不相关,则处理器104阻止软件产品112的使用。这可以完成,例如因为试用期已经被无效地延长。如果延长密钥确实相关,则处理器104可以基于所延长的期满日期来确定软件产品112的使用是否被授权。方法1000继续到1012以结束。
图11是图示了计算系统1100的一个示例的方框图。计算系统1100包括处理器104、储存器218、以及注册表220。储存器218包括作为一个授权项的授权文件1104,并且注册表220包括作为另一授权项的授权密钥1110。处理器104可以使用加密密钥1106对授权文件1104进行加密并且可以使用加密密钥1112来对授权密钥1110进行加密。使用两个单独的加密密钥可以使系统更安全,因为能够对授权文件1104和授权密钥1110中的一个进行解密将不允许用户对另一个进行解密。因为这两个授权项被分析以确定它们是否匹配,更新两个授权文件中的一个将不允许用户延长软件产品112的使用。
通过比较在单独的时间所创建的两个授权项来确定软件产品的使用是否被授权可能使得用户更难以检测关于授权周期的信息被存储在哪里。因此,用于软件产品的试用期可能是更难以避开。试用期可以为厂商提供宝贵的销售工具以将产品引入到用于评估的潜在客户。

Claims (10)

1.一种用来基于第一和第二授权项来确定软件产品的授权的计算系统,包括:
电子设备,其包括:
用来进行以下的处理器104:
当软件产品被安装时,创建第一授权项;
当所述软件产品首次被执行时,创建第二授权项;
其中,每个授权项都包括在储存器106中存储的文件或在注册表108中存储的注册表键;
基于所述第一授权项和所述第二授权项的比较来确定所述软件产品的使用在特定的时间是否被授权;
如果确定所述软件产品的使用未被授权,则阻止所述软件产品的使用;以及
接收指示用来延长所述软件产品的授权的使用的时间段的时间段的延长密钥;并且
基于所述延长密钥来调整所述第一授权项和所述第二授权项以按照所述指示的时间段延长授权的使用的所述时间段;
其中所述处理器还用来将所述延长密钥存储在所述第一授权项和第二授权项二者中;
用来确定所述第一授权项中的所述延长密钥是否与所述第二授权项中的所述延长密钥相关;以及
如果确定所述延长密钥不相关,则阻止所述软件产品的使用。
2.根据权利要求1所述的计算系统,其中,创建所述第二授权项包括:
确定所述第一授权项是否指示所述第二授权项应该存在;
确定所述第二授权项是否存在;
如果确定所述第二授权项不应该存在并且确定所述第二授权项存在,则阻止所述软件产品的使用;以及
如果确定所述第二授权项不应该存在并且确定所述第二授权项不存在,则创建所述第二授权项。
3.根据权利要求1所述的计算系统,其中,将所述第一授权项与所述第二授权项相比较包括:
确定所述第二授权项是否存在;以及
如果确定所述第二授权项不存在,则阻止所述软件产品的使用。
4.根据权利要求1所述的计算系统,其中所述处理器进一步:
使用第一加密密钥来对所述第一授权项进行加密;并且
使用第二加密密钥来对所述第二授权项进行加密。
5.一种用来基于第一和第二授权项来确定软件产品的授权的方法,包括:
当软件产品被安装时,通过处理器创建第一授权项;
当所述软件产品首次被执行时,通过所述处理器创建第二授权项,
其中,每个授权项都包括文件或注册表键;
基于所述第一授权项和所述第二授权项的比较,通过所述处理器确定所述软件产品的使用在特定的时间是否被授权;
如果确定所述软件产品的使用未被授权,则通过所述处理器阻止所述软件产品的使用;以及
通过所述处理器接收指示用来延长所述软件产品的授权的使用的时间段的时间段的延长密钥;并且
通过所述处理器基于所述延长密钥来调整所述第一授权项和所述第二授权项以按照所述指示的时间段延长授权的使用的所述时间段;
通过所述处理器将所述延长密钥存储在所述第一授权项中;
通过所述处理器将所述延长密钥存储在所述第二授权项中;
通过所述处理器确定所述第一授权项中的所述延长密钥是否与所述第二授权项中的所述延长密钥相关;以及
如果确定所述延长密钥不相关,则通过所述处理器阻止所述软件产品的使用。
6.根据权利要求5所述的方法,进一步包括:
通过所述处理器来确定所述第一授权项是否指示所述第二授权项应该存在;
通过所述处理器来确定所述第二授权项是否存在;
如果确定所述第二授权项不应该存在并且确定所述第二授权项存在,则通过所述处理器来阻止所述软件产品的使用;以及
如果确定所述第二授权项应该存在并且确定所述第二授权项不存在,则通过所述处理器来阻止所述软件产品的使用。
7.根据权利要求5所述的方法,进一步包括:
通过所述处理器使用第一加密密钥对所述第一授权项进行加密;以及
通过所述处理器使用第二加密密钥对所述第二授权项进行加密。
8.一种用来基于第一和第二授权项来确定软件产品的授权的设备,包括:
用于当软件产品被安装时,生成第一授权令牌的装置;
用于当所述软件产品首次被运行时,生成第二授权令牌的装置,
其中,每个授权令牌都包括文件或注册表键;
用于基于所述第一授权令牌和所述第二授权令牌的比较确定所述软件产品的使用在特定的时间是否被授权的装置;
用于如果确定所述软件产品的使用未被授权,则禁止所述软件产品的使用的装置;以及
用于接收指示用来延长所述软件产品的授权的使用的时间段的时间段的延长密钥的装置;以及
用于基于所述延长密钥来更新所述第一授权令牌和所述第二授权令牌以按照所述指示的时间段延长授权的使用的所述时间段的装置;
用于将所述延长密钥存储在所述第一授权令牌中的装置;
用于将所述延长密钥存储在所述第二授权令牌中的装置;
用于确定在所述第一授权令牌中存储的所述延长密钥是否与在所述第二授权令牌中存储的所述延长密钥相关的装置;以及
用于如果确定所述延长密钥不相关,则禁止所述软件产品的使用的装置。
9.根据权利要求8所述的设备,进一步包括:
用于确定所述第一授权令牌是否指示所述第二授权令牌应该存在的装置;
用于确定所述第二授权令牌是否存在的装置;
用于如果确定所述第二授权令牌不应该存在并且确定所述第二授权令牌存在,则禁止所述软件产品的使用的装置;以及
用于如果确定所述第二授权令牌应该存在并且确定所述第二授权令牌不存在,则禁止所述软件产品的使用的装置。
10.根据权利要求8所述的设备,进一步包括:
用于使用第一加密密钥对所述第一授权令牌进行加密的装置;以及
用于使用第二加密密钥对所述第二授权令牌进行加密的装置。
CN201080070102.0A 2010-11-12 2010-11-12 基于第一和第二授权项来确定软件产品的授权 Expired - Fee Related CN103189876B (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/US2010/056445 WO2012064331A1 (en) 2010-11-12 2010-11-12 Determine authorization of a software product based on a first and second authorization item

Publications (2)

Publication Number Publication Date
CN103189876A CN103189876A (zh) 2013-07-03
CN103189876B true CN103189876B (zh) 2016-09-14

Family

ID=46051222

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201080070102.0A Expired - Fee Related CN103189876B (zh) 2010-11-12 2010-11-12 基于第一和第二授权项来确定软件产品的授权

Country Status (4)

Country Link
US (1) US9684781B2 (zh)
EP (1) EP2638502A4 (zh)
CN (1) CN103189876B (zh)
WO (1) WO2012064331A1 (zh)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9210155B2 (en) * 2013-03-08 2015-12-08 Stocktree Inc. System and method of extending a host website
JP6904721B2 (ja) * 2017-02-14 2021-07-21 キヤノン株式会社 情報処理装置、情報処理方法、およびプログラム
CN108259170A (zh) * 2018-01-10 2018-07-06 广州江南科友科技股份有限公司 一种远程在线授权密码机指令的方法
CN110990863B (zh) * 2019-11-27 2021-10-08 山东新潮信息技术有限公司 一种通过时间戳与加密算法实现文件访问控制的方法
CN111488593A (zh) * 2019-11-28 2020-08-04 杭州海康威视系统技术有限公司 一种服务授权方法、装置、电子设备及存储介质
CN114626067A (zh) * 2021-06-25 2022-06-14 江苏航天龙梦信息技术有限公司 一种临时固件管控方法

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0679980A1 (en) * 1994-04-25 1995-11-02 International Business Machines Corporation Method and apparatus enabling software trial with computer-dependent identification
FR2779543A1 (fr) * 1998-06-04 1999-12-10 Eastman Kodak Co Procede de protection de logiciel
US6243692B1 (en) * 1998-05-22 2001-06-05 Preview Software Secure electronic software packaging using setup-external unlocking module
US6889212B1 (en) * 2000-07-11 2005-05-03 Motorola, Inc. Method for enforcing a time limited software license in a mobile communication device
EP2068565A1 (fr) * 2007-12-07 2009-06-10 Gemplus Module d'identité d'abonné et serveur de diffusion associé, adaptés pour gérer des programmes d'une durée non déterminée

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
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
US6986063B2 (en) * 1998-06-04 2006-01-10 Z4 Technologies, Inc. Method for monitoring software using encryption including digital signatures/certificates
US6654888B1 (en) 1999-12-31 2003-11-25 International Business Machines Corporation Installing and controlling trial software
JP2002006970A (ja) 2000-06-19 2002-01-11 Takasaki Kyodo Keisan Center:Kk アプリケーションソフトウェア試用システム
JP3347128B2 (ja) 2000-08-09 2002-11-20 日本電気株式会社 試用ソフトウェアの管理システムおよび管理方法、および記録媒体
US6978374B1 (en) * 2000-09-29 2005-12-20 Unisys Corporation Authorization key system for selectively controlling the performance of a data processing system
US7418500B1 (en) * 2002-03-25 2008-08-26 Network Appliance, Inc. Mechanism for controlled sharing of files in a clustered application environment
US20040025033A1 (en) * 2002-08-02 2004-02-05 Todd Luke B. System and method for preventing unauthorized installation, use and reproduction of software
US7331063B2 (en) * 2004-04-30 2008-02-12 Microsoft Corporation Method and system for limiting software updates
JP2007041678A (ja) 2005-08-01 2007-02-15 Olympus Imaging Corp ソフトウエア使用管理サーバ装置、ソフトウエア使用管理システム、ソフトウエア使用管理方法及びプログラム
EP1796000A1 (en) 2005-12-06 2007-06-13 International Business Machines Corporation Method, system and computer program for distributing software products in trial mode
US8620818B2 (en) * 2007-06-25 2013-12-31 Microsoft Corporation Activation system architecture
US20090253414A1 (en) 2008-04-03 2009-10-08 Cequint, Inc. Systems and methods for deployment and sale of advanced calling features
US9355224B1 (en) * 2008-05-16 2016-05-31 Kaspersky Lab, Zao System and method for dynamic adjustment of expiration date for authorization key for antivirus products
US20090327091A1 (en) 2008-06-26 2009-12-31 Microsoft Corporation License management for software products
TWI420339B (zh) * 2010-11-10 2013-12-21 Ind Tech Res Inst 軟體授權系統及方法
US8775797B2 (en) * 2010-11-19 2014-07-08 Microsoft Corporation Reliable software product validation and activation with redundant security

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0679980A1 (en) * 1994-04-25 1995-11-02 International Business Machines Corporation Method and apparatus enabling software trial with computer-dependent identification
US6243692B1 (en) * 1998-05-22 2001-06-05 Preview Software Secure electronic software packaging using setup-external unlocking module
FR2779543A1 (fr) * 1998-06-04 1999-12-10 Eastman Kodak Co Procede de protection de logiciel
US6889212B1 (en) * 2000-07-11 2005-05-03 Motorola, Inc. Method for enforcing a time limited software license in a mobile communication device
EP2068565A1 (fr) * 2007-12-07 2009-06-10 Gemplus Module d'identité d'abonné et serveur de diffusion associé, adaptés pour gérer des programmes d'une durée non déterminée

Also Published As

Publication number Publication date
US20130219190A1 (en) 2013-08-22
WO2012064331A1 (en) 2012-05-18
US9684781B2 (en) 2017-06-20
EP2638502A4 (en) 2014-11-12
CN103189876A (zh) 2013-07-03
EP2638502A1 (en) 2013-09-18

Similar Documents

Publication Publication Date Title
CN103189876B (zh) 基于第一和第二授权项来确定软件产品的授权
CN102438013B (zh) 基于硬件的证书分发
CN108337239A (zh) 电子设备的事件证明
CN105453103B (zh) 按照参考平台清单和数据封装的安全操作系统启动
US9311470B2 (en) Method and system for authenticating a user
CN102508791B (zh) 一种对硬盘分区进行加密的方法及装置
US8844049B2 (en) Method for generating a cryptographic key for a protected digital data object on the basis of current components of a computer
CN1735012B (zh) 认证系统及卡和认证方法
US10693870B2 (en) Authentication system
KR20130084671A (ko) 애플리케이션 사용 정책 시행
CN108846263B (zh) 软件授权处理及运行方法和装置、电子设备
CN102622559B (zh) 一种导航软件用户授权方法及系统
CN106878009A (zh) 密钥更新方法及系统
CN108062461A (zh) 一种软件授权方法、装置及系统
US20060282393A1 (en) Systems and methods for providing access to product license information
US8418171B2 (en) Software option selection and validation system
CN108140074A (zh) 管理应用特定的特征权限
CN104504308B (zh) 一种禁止虚拟机使用软件的许可证验证方法
US9311474B2 (en) Information processing apparatus, information processing method, program, storage medium, and information processing system
CN107133499B (zh) 一种软件版权保护方法、客户端、服务端以及系统
JP4678217B2 (ja) 数値制御装置の管理方法及びその装置
CN105653932B (zh) 软件升级验证的方法和装置
CN106355051A (zh) 一种软件保护装置的时钟校准方法
JP2008158778A (ja) 個人認証プログラム、個人認証方法および個人認証システム
US8352647B2 (en) Method and system for controlling information accessibility based on user location

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
C41 Transfer of patent application or patent right or utility model
TR01 Transfer of patent right

Effective date of registration: 20170204

Address after: American Texas

Patentee after: HEWLETT PACKARD ENTERPRISE DEVELOPMENT LP

Address before: American Texas

Patentee before: Hewlett-Packard Development Company, L.P.

TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20180619

Address after: American California

Patentee after: Antite Software Co., Ltd.

Address before: American Texas

Patentee before: HEWLETT PACKARD ENTERPRISE DEVELOPMENT LP

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

Granted publication date: 20160914

Termination date: 20191112