CN101790723A - 使用闪存设备来阻止对软件的未授权使用 - Google Patents

使用闪存设备来阻止对软件的未授权使用 Download PDF

Info

Publication number
CN101790723A
CN101790723A CN200880105079A CN200880105079A CN101790723A CN 101790723 A CN101790723 A CN 101790723A CN 200880105079 A CN200880105079 A CN 200880105079A CN 200880105079 A CN200880105079 A CN 200880105079A CN 101790723 A CN101790723 A CN 101790723A
Authority
CN
China
Prior art keywords
sector
flash memory
memory device
identifier
software application
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.)
Granted
Application number
CN200880105079A
Other languages
English (en)
Other versions
CN101790723B (zh
Inventor
B·艾斯波夫
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
Application filed by Microsoft Corp filed Critical Microsoft Corp
Publication of CN101790723A publication Critical patent/CN101790723A/zh
Application granted granted Critical
Publication of CN101790723B publication Critical patent/CN101790723B/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/12Protecting executable software
    • 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/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • G06F21/105Arrangements for software license management or administration, e.g. for managing licenses at corporate level
    • 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
    • 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/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • 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/107License processing; Key processing
    • G06F21/1077Recurrent authorisation

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Technology Law (AREA)
  • Multimedia (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Databases & Information Systems (AREA)
  • Storage Device Security (AREA)

Abstract

提供了一种闪存设备以及一种用于使用该闪存设备来阻止对软件应用程序的未授权使用的方法。可在闪存设备的特定扇区中编码标识符。标识符中的一位可被编码为特定扇区中的不可用的扇区,而标识符中的零位可被编码为特定扇区中的可用扇区。或者,标识符中的零位可被编码为特定扇区中的不可用的扇区,而标识符中的一位可被编码为特定扇区中的可用扇区。仅在标识符在闪存设备中编码时,才可准许软件应用程序在连接到该闪存设备的处理设备上执行。

Description

使用闪存设备来阻止对软件的未授权使用
背景
一种用于阻止在处理设备上未经授权地使用软件的常规方法需要将诸如例如,通用串行总线(USB)电子狗(dongle)或存储器钥匙等特殊设备连接到处理设备。仅在该特殊设备连接到处理设备时,才可准许软件在该处理设备上执行。
通常,这一特殊设备仅由少数厂商制造,成本相对较高且应当与软件一起分发。此外,对于电子分发的软件,使用这一特殊设备来阻止未经授权地使用软件是有问题的。
概述
提供本概述是为了以简化的形式介绍将在以下详细描述中进一步描述的一些概念。本发明内容并不旨在标识出所要求保护的主题的关键特征或必要特征,也不旨在用于限定所要求保护的主题的范围。
在根据本发明的主题的实施例中,提供了一种用于阻止对软件的未授权使用的闪存设备以及一种用于使用闪存设备来阻止对软件的未授权使用的方法。当试图在连接有闪存设备的处理设备上执行软件时,该处理设备可访问可包括标识符的许可证信息。然后可访问闪存设备的特定扇区以确定其中是否编码标识符。标识符中的一位可被编码为特定扇区中的不可用的扇区,而标识符中的零位可被编码为特定扇区中的可用扇区。或者,标识符中的零位可被编码为特定扇区中的不可用的扇区,而标识符中的一位可被编码为特定扇区中的可用扇区。仅当确定标识符已在闪存设备中编码时,才可准许处理设备全功能地执行软件。否则,可不准许处理设备执行软件,或者可功能受限地执行软件。
在根据本发明的主题的某些实施例中,可在闪存设备中编码计数器以确定是否未超过许可证有效期,诸如例如,对软件的授权使用的预定次数、或者软件的期满日期、以及其他许可证有效期。
附图
为了描述能够获得上述和其它优点和特征的方式,以下将描述并通过参考附图中示出的各具体实施例来呈现更为具体的描述。可以理解,这些附图仅描述各典型实施例,从而不被认为是对其范围的限制,将通过使用附图用附加特征和细节来描述和说明各个实现。
图1示出了用于根据本发明的主题的各实施例的示例性操作环境。
图2是可用于实现图1所示的服务器或处理设备的处理设备的功能框图。
图3和4示出了可被包括在根据本发明的主题的闪存设备中的信息。
图5-14是示出可以在根据本发明主题的各实施例中执行的各示例性过程的流程图。
详细描述
以下详细描述各实施例。尽管讨论各个具体实现,但应当理解,这仅是出于说明的目的。相关领域技术人员将认识到,可以使用其它组件和配置而不背离本发明的主题的精神和范围。
概览
闪存设备能够被容易地复制并且不具有嵌入式处理器或受保护的存储器。然而,闪存设备包括诸如例如,16千位、2千位或另一大小等特定大小的存储块,即扇区。各扇区中的每一个相应扇区在扇区中的该相应扇区变得不可用之前都具有有限数量的可能的写周期。通常,各扇区中的每一个相应扇区在各扇区中的该相应扇区变得不可用之前可被写入大约一百万次。某些闪存设备在相应扇区变得不可用之前可具有不同的有限数量的可能的写周期,诸如100000次写入或另一值。
根据本发明的主题的实施例可通过向闪存设备的特定扇区写入以使得该特定扇区不可用来在闪存设备中编码信息。该信息可通过经由不可用扇区来表示一位并经由可用扇区来表示零位来编码。在某些实施例中,该信息可通过经由不可用扇区来表示零位并经由可用扇区来表示一位来编码。以此方式编码的数据无法通过简单地复制闪存设备来复制。
在根据本发明的主题的实施例中,连接到闪存设备的处理设备可访问可包括标识符的许可证信息。该处理设备可访问闪存设备的特定扇区以确定其中是否编码标识符。如果闪存设备中未编码标识符,则处理设备无法执行软件应用程序,或者只可功能受限地执行软件应用程序。
此外,许可证信息可包括关于一个或多个许可证有效期的信息。例如,该信息可包括期满日期、许可证有效期(例如,一年、六个月或其他时间)或者授权使用的预定次数,在超过这些许可证有效期的情况下,可不准许执行软件应用程序或者只可功能受限地执行软件应用程序。如将在以下更详细地解释的,可以按与标识符相同的方式将关于已过去时间段或者对软件应用程序的使用次数的当前状态编码到闪存设备中,以使得可阻止超过一个或多个许可证有效期的对软件应用程序的未授权执行。
在某些实施例中,标识符可以在执行对软件应用程序的激活的同时被编码到闪存设备中。
示例性操作环境
图1示出了用于根据本发明的主题的各实施例的示例性操作环境100。操作环境100可包括处理设备102、闪存设备104、一个或多个服务器106和网络108。
网络108可以是单个网络或网络的组合,诸如例如,因特网或其他网络。网络108可包括无线网络、有线网络、分组交换网络、公共交换电信网络、光纤网络、其他类型的网络或以上网络的任何组合。
处理设备102可以是用户的处理设备,诸如例如,台式个人计算机(PC)、膝上型PC、手持式处理设备或其他处理设备。
闪存设备104可以是诸如例如,通用串行总线(USB)闪速RAM设备或其他闪存设备等可移动地连接到处理设备102的可重写可移动闪存设备。在其中闪存设备104是USB闪速RAM设备的实施例中,USB闪速RAM设备可经由处理设备102的USB端口来可移动地连接到处理设备102。
服务器106可以是一处理设备或被配置成一起工作的一组处理设备。在其中服务器106包括一组处理设备的实施例中,这些处理设备可被配置成服务器场。
示例性处理设备
图2是示出可用于实现根据本发明的主题的处理设备102和/或服务器106的各实施例的示例性处理设备200的功能框图。
处理设备200可包括总线210、输入设备220、存储器230、只读存储器(ROM)240、输出设备250、处理器260、闪存设备端口270和通信接口280。总线210可以准许处理设备200的各组件之间的通信。
处理器260可以包括解释和执行指令的至少一个常规处理器或微处理器。存储器230可以是随机存取存储器(RAM)或存储供处理器260执行的信息和指令的另一种类型的动态存储设备。存储器230还可以存储在处理器260执行指令期间使用的临时变量或其它中间信息。ROM 240可以包括常规ROM设备或为处理器260存储静态信息和指令的另一种类型的静态存储设备。闪存设备端口270可提供用于将闪存设备104连接到处理设备200的手段。闪存设备104可存储用于诸如例如处理器260的处理器的数据和/或指令。
输入设备220可包括键盘或其他输入设备。输出设备250可包括输出信息的一个或多个常规机制,包括一个或多个显示屏或其它输出设备。
通信接口280可包括用于向网络108发送信息和从网络108接收信息的收发器。通信接口280可经由无线或有线连接来发送和接收信息。
处理设备200可响应于处理器260执行诸如例如存储器230、ROM 240、闪存设备104或其它介质等有形机器可读介质中所包含的指令序列来执行这些功能。这些指令可从另一机器可读介质或经由通信接口280从单独的设备读入存储器230中。
闪存设备
闪存设备104可包括多个块或扇区。每一个扇区都可包括预定数量的位。例如,每一个扇区都可包括16千位、2千位或另一数量的位。通常,闪存设备104最初可具有多个不可用扇区。图3示出了可被包括在闪存设备104的实施例中的关于扇区的信息以及其他信息。闪存设备104可包括坏扇区的扇区阵列302、许可证信息304以及编码信息的扇区阵列306。
坏扇区的扇区阵列302可包括关于闪存设备104中所包括的坏扇区的物理地址的信息。
许可证信息304可包括关于使用软件应用程序的许可证的信息。许可证信息304可包括例如,标识包括软件应用程序的产品的产品标识符和许可证有效期。许可证有效期可包括准许执行软件应用程序的条件。例如,许可证有效期可包括准许执行软件应用程序的预定次数、准许执行软件应用程序的有效期或时间段(例如,一年、六个月或另一时间段)、其后不准执行软件应用程序的期满日期或其他有效期。在某些实施例中,许可证信息304可包括要在闪存设备104中编码的标识符。许可证信息304还可包括使用诸如例如软件厂商、软件分发者或其他可信源等可信源的私钥来在许可证信息304上计算的数字签名。
如上所述,可在闪存设备104的特定扇区中编码诸如包括在许可证信息304中的标识符或另一标识符等标识符以及其他信息。该标识符和其他信息可通过经由特定扇区中的不可用扇区来表示一位并经由特定扇区中的可用扇区来表示零位来编码。在某些实施例中,该标识符和其他信息可通过经由特定扇区中的不可用扇区来表示零位并经由特定扇区中的可用扇区来表示一位来编码。
图4在根据本发明的主题的闪存设备104的一个实施例中更详细地示出了编码信息306的扇区阵列。闪存设备104可包括标识符的扇区阵列402、关于标识符的数字签名的扇区阵列404、用于计数器的扇区阵列406以及用于时间段计数器的扇区阵列408。
标识符的扇区阵列402可包括关于其中可编码诸如例如,来自许可证信息304的标识符或另一标识符等标识符的特定扇区的信息。标识符的数字签名的扇区阵列404可包括关于其中可编码在标识符上计算的数字签名的特定扇区的信息。数字签名可使用诸如例如,可信源的私钥等私钥来在标识符上计算。用于计数器的扇区阵列406和用于时间段计数器的扇区阵列408可包括关于用于编码计数器以使得可跟踪关于许可证有效期的当前状态的特定扇区的信息。对这些计数器的示例性使用以下参考图5-10的流程图来解释。
示例性处理
图5和6示出了在试图在诸如处理设备102等连接有诸如例如闪存设备104等闪存设备的处理设备上执行软件应用程序时的、可在根据本发明的主题的实施例中执行的各示例性过程的流程图。
该过程可开始于处理设备访问许可证信息(动作502)。许可证信息可存储在诸如例如,存储器、ROM或其他组件等处理设备的组件上。或者,许可证信息可存储在闪存设备中,诸如例如,许可证信息304。许可证信息可包括标识包括软件应用程序的产品的数据、标识符(例如,与使用该产品的许可证相关联的标识符)、许可证有效期(例如,使用软件应用程序的预定次数、可使用软件应用程序的时间段(诸如例如,一年、六个月或其他时间段)或者其后无法使用软件应用程序的期满日期)或其他有效期。在某些实施例中,许可证信息可包括由诸如例如,可信源的私钥等私钥签署的数字签名,可信源是诸如例如,软件分发者、软件开发者或其他可信源。
接着,处理设备可验证许可证信息(动作504)。在某些实施例中,处理设备可通过使用对应于可信源的私钥的公钥来验证许可证信息。如验证许可证信息的结果所指示的,处理设备然后可确定许可证信息是否有效(动作506)。如果许可证信息被确定为无效,则处理设备可限制或禁用软件应用程序的功能(动作508)。例如,可不准许处理设备执行软件应用程序,或者处理设备可功能受限地执行软件应用程序。在一个实施例中,当限制软件应用程序的功能时,处理设备可执行该软件应用程序的标准版,而当不限制或禁用软件应用程序的功能时,处理设备可执行该软件应用程序的增强版或专业版。
在动作506期间,如果处理设备确定许可证信息有效,则处理设备可从该许可证信息或另一源获取标识符(动作510)。在某些实施例中,标识符可以是唯一的标识符。处理设备然后可确定标识符和关于该标识符的数字签名是否在闪存设备中编码(动作512)。处理设备可通过参考诸如例如,标识符的示例扇区阵列402(图4)等标识符的扇区阵列以及诸如例如,标识符的数字签名的扇区阵列404(图4)等标识符的数字签名的扇区阵列来作出该判定。
在一替换实施例中,可不编码标识符的数字签名,而可改为将该数字签名存储在闪存设备的存储中。
如果处理设备确定标识符未在闪存设备中编码、或者标识符的有效数字签名未在闪存设备中编码或存储在其中,则处理设备可限制或禁用软件应用程序的功能(动作508),如上所述。否则,处理设备可确定是否对软件应用程序的使用次数进行计数(动作514)。
当许可证有效期指示只可准许预定次数的对软件应用程序的使用时,可对软件应用程序的使用次数进行计数。在一个实施例中,如果要对使用次数进行计数,则可将单个扇区用作计数器并且可执行对该单个扇区的多次写入。写入次数大致可如下计算:
number _ of _ writes ≈ max _ writes counting _ number × ( m arg in + 1 ) , (等式1)
其中max_writes是预期使扇区不可用的写周期数,而counting_number是计数器的最大值,诸如例如,当数到10时的10。
因为扇区可能不在确切的写入次数后变得不可用,所以可包括margin(余量)以更好地保证扇区变得不可用。由此,例如,如果一扇区预期在100000次写入(max_writes)后变得不可用,使用计数器来数到10(counting_number),而margin是30%,则number_of_writes(写入次数)可以是即13000。由此,在该示例中,计数器可通过向该单个扇区写入13000次来递增。在数到counting_number后,扇区应不可用。
在另一实施例中,可使用一组扇区来计数。例如,在数到10时,可将一组10个扇区用作计数器。每一个相应扇区都可在计数时变得不可用。当该组10个扇区变得不可用时,这表明计数器已数到10。
在动作514期间,如果处理设备确定要对软件应用程序的使用次数进行计数,则处理设备可确定是否存在任何剩余准许使用(动作602;图6)。如果不存在剩余的对软件应用程序的准许使用,则处理设备可限制或禁止软件应用程序的功能(动作604),如先前参考动作508所讨论的。否则,处理设备可对使用次数进行计数(动作606)。如先前所讨论的,处理设备可通过向相应扇区写入以使得该相应扇区不可用或者通过执行对单个扇区的多次写入以使得该单个扇区在数到预定使用次数后变得不可用来对使用次数进行计数。
图7是示出用于执行动作606的示例性过程606-1的流程图。该过程可开始于处理设备确定使用哪一个扇区来对使用次数进行计数(动作702)。在一个实施例中,处理设备可访问用于计数器的扇区阵列406(图4),该扇区阵列可包括关于为使用次数计数器预留的扇区以及指向用于下一使用次数计数器的扇区的指针的信息。因此,例如,如果扇区1-20将要用于使用次数计数器而扇区1-6已用于计数且变得不可用,则指针可指向将出于计数目的而使用的扇区7。
在确定要用于计数用途的扇区后,处理设备可执行对该扇区的多次写入以使得该扇区不可用(动作704)。处理设备然后可更新关于指向用于下一使用次数计数器的扇区的指针的信息(动作706)。对于其中扇区1-20可用于使用次数计数器的上述示例,在出于计数目的而使用扇区7之后,可将指针设为指向扇区8,以使得扇区8可以在接下来要执行计数时变得不可用。
图8是示出用于执行动作606的第二示例性过程606-2的流程图。该示例性过程将单个扇区用作计数器并根据等式1来执行计数,如上所述。该过程可开始于处理设备确定要出于计数目的而使用的扇区(动作802)。在一个实施例中,处理设备可访问用于计数器的扇区阵列406(图4),该扇区阵列可包括关于为用作使用次数计数器而保留的扇区的信息。该处理设备还可获取关于要对该扇区执行的多次写入的信息。可将该信息包括在用于计数器的扇区阵列406中或者可将其存储在别处。处理设备然后可执行对扇区的多次写入以使得该扇区在已数到预定使用次数后变得不可用(动作804)。
参考图6,在执行动作606后或者在确定不对软件应用程序的使用次数进行计数(动作514)后,处理设备可确定是否对时间段进行计数(动作608)。在一个实施例中,处理设备可通过访问用于时间段计数器的扇区阵列408(图4)来作出该判定,该扇区阵列可包括关于闪存设备中要用作时间段计数器的扇区的信息。通常,时间段计数器可对诸如例如,天、星期、月、年或其他时间段等时间段的数量进行计数。由此,例如,如果可在诸如例如18个月等特定时间段内使用软件应用程序,则可使用时间段计数器来对月数进行计数。如果处理设备确定不使用时间段计数器,则处理设备可全功能地执行软件应用程序(动作614)。
在动作608期间,如果处理设备确定使用时间段计数器,则处理设备可参考许可证信息来确定是否已数到时间段的最大数量(动作610),诸如例如,在18个月许可证有效期的情况下的18个月。如果不存在剩余时间段(例如,对于18个月许可证有效期已过去18个月),则处理设备可限制或禁用软件应用程序的功能(动作614),如上所述。否则,可对时间段进行计数(动作612)并且处理设备可全功能地执行软件应用程序。
在一个实施例中,可通过向相应扇区写入以使该相应扇区不可用来对时间段进行计数。例如,为了对18个时间段进行计数,可向18个扇区写入直到这些扇区不可用。在其他实施例中,可对单个扇区写入以使得该单个扇区可以在过去预定数量的时间段后变得不可用,诸如例如,18个时间段或某一其他数量的时间段,如以上参考等式1所描述的。
图9是示出根据本发明的主题的一实施例中的用于执行动作612的示例性过程612-1的流程图。该过程可开始于处理设备确定是否已过去一时间段(动作902)。该时间段可以是天、星期、月、年或另一时间间隔。处理设备可通过参考系统时钟并将该系统时钟的当前值与在该时间段开始时的该系统时钟的值进行比较来作出该判定。
如果处理设备确定已过去该时间段,则该处理设备可确定用于对时间段进行计数的扇区(动作904)。在一个实施例中,处理设备可访问用于时间段计数器的扇区阵列408(图4),该扇区阵列可包括关于为时间段计数器预留的扇区以及指向用于下一时间段计数器的扇区的指针的信息。因此,例如,如果扇区1-24将要用于时间段计数器而扇区1-10已用于计数并变得不可用,则指针可指向将出于时间段计数的目的而使用的扇区11。
在确定要用于时间段计数的扇区后,处理设备可执行对该扇区的多次写入以使该扇区不可用(动作906)。处理设备然后可更新关于指向用于下一时间段计数器的扇区的指针的信息(动作908)。对于其中扇区1-24可用作时间段计数器的上述示例,在使用扇区10来进行时间段计数之后,可将指针设为指向扇区11,以使得扇区11可以在接下来要执行时间段计数时变得不可用。
图10是示出用于执行动作612的第二示例性过程612-2的流程图。该示例性过程将单个扇区用作时间段计数器并根据等式1来执行计数,如上所述。该过程可开始于处理设备确定是否已过去一时间段(动作1002)。如果处理设备确定已过去一时间段,则该处理设备可确定要出于时间段计数的目的而使用的扇区(动作1004)。在一个实施例中,处理设备可访问用于时间段计数器的扇区阵列408(图4),该扇区阵列可包括关于为用作时间段计数器而保留的扇区的信息。该处理设备还可获取关于要对该扇区执行的多次写入的信息。可将该信息包括在用于时间段计数器的扇区阵列408中或者可将其存储在别处。处理设备然后可执行对扇区的多次写入以使得该扇区在已数到预定数量的时间段后变得不可用(动作1006)。
返回到图6,处理设备然后可全功能地执行软件应用程序(动作614)。
在某些实施例中,在将软件应用程序安装在处理设备上之后,该处理设备可被准许在不具有用于授权或准许执行该软件应用程序的闪存设备的情况下执行该软件应用程序直到预定次数。因此,例如,用户可电子地将软件应用程序下载到处理设备,可将该软件应用程序安装在处理设备上,并且可以在不具有闪存设备的情况下执行该软件应用程序直到预定次数。
图11示出了可以在这些实施例中执行的示例性过程。该过程可开始于处理设备确定软件应用程序的当前使用次数是否小于该软件应用程序的预定授权使用次数(动作1102)。该预定授权使用次数可通过访问可存储在处理设备上的许可证信息来获取。
如果软件应用程序的当前使用次数不小于预定授权使用次数,则可禁用或限制该软件应用程序的功能(动作1104)。例如,处理设备完全无法执行软件应用程序,或者处理设备只可功能受限地执行软件应用程序。
在动作1102期间,如果处理设备确定当前使用次数小于预定授权使用次数,则该处理设备可递增当前使用次数的计数(动作1106)并且可准许全功能地执行该软件应用程序(动作1108)。
图12-13是示出可以在根据本发明主题的另一实施例中执行的示例性过程的流程图。在该实施例中,可将标识符部分地编码到闪存设备的扇区中。例如,如果所允许的对扇区的写周期的最大数量使该扇区变得不可用,则可通过向闪存设备的特定扇区写入所允许的写周期的最大数量W来将标识符中的“1”位部分地编码到特定扇区中,其中W是大约等于所允许的写周期的最大数量的一百分比的整数,诸如例如50%或另一值。因此,所有这些特定扇区都可处于不可用状态,以使得可隐藏所编码的标识符。为了读取所编码的标识符,可对特定扇区执行多个写周期。例如,可对特定扇区执行W个写周期以使得通过标识符中的“1”位来表示的特定扇区不可用。在一替换实施例中,可将标识符中的“0”位部分地编码到闪存设备的特定扇区中。
该标识符可具有多个部分。每一部分都可对应于一时间段。最初,可隐藏标识符的所有部分(即,表示标识符的各部分的所有扇区可以是可用的)。可通过执行向用于表示对应于当前时间的标识符的一部分的对应的特定扇区的写周期来揭示标识符的该部分。当达到下一时间段时,可通过执行向用于表示标识符的下一部分的对应的特定扇区的写周期来揭示标识符的该下一部分。如果对应于将来时间段的标识符的一部分被揭示(指示可能的黑客攻击),则该标识符可被认为是无效的。
对于图12的流程图,该过程可开始于诸如例如处理设备102等处理设备访问许可证信息(动作1202)。许可证信息可存储在诸如例如,存储器、ROM或其他组件等处理设备的组件上。或者,许可证信息可存储在闪存设备中,诸如例如,许可证信息304。许可证信息可包括标识包括软件应用程序的产品的数据、标识符(例如,与使用该产品的许可证相关联的标识符)以及许可证有效的时间。该标识符可包括多个部分,每一部分对应于组成许可证有效的总时间的每一个时间段。在某些实施例中,许可证信息可包括由诸如例如,可信源的私钥等私钥签署的数字签名,可信源是诸如例如,软件分发者、软件开发者或其他可信源。
接着,处理设备可验证许可证信息(动作1204)。在某些实施例中,处理设备可通过使用对应于可信源的私钥的公钥来验证许可证信息。如验证许可证信息的结果所指示的,处理设备然后可确定许可证信息是否有效(动作1206)。如果许可证信息被确定为无效,则处理设备可限制或禁用软件应用程序的功能(动作1208)。例如,可不准许处理设备执行软件应用程序,或者处理设备可功能受限地执行软件应用程序。在一个实施例中,当限制软件应用程序的功能时,处理设备可执行该软件应用程序的标准版,而当不限制或禁用软件应用程序的功能时,处理设备可执行该软件应用程序的增强版或专业版。
在动作1206期间,如果处理设备确定许可证信息有效,则处理设备可从该许可证信息或另一源获取标识符(动作1210)。在某些实施例中,标识符可以是唯一的标识符。处理设备然后可确定标识符是否在闪存设备中编码(动作1212)。该处理设备可通过参考诸如例如,用于标识符的扇区阵列402(图4)等用于标识符的扇区阵列来作出该判定。
图13示出了一个实施例中的关于动作1212的示例性处理。首先,处理设备可确定新时间段是否开始(动作1302)。如果新时间段开始,则处理设备可确定是否存在标识符的其他部分(动作1304)。如果不存在标识符的其他部分,则处理设备可指示未编码标识符(动作1316)。这可指示做出在超过准许授权执行软件应用程序的时间段执行该应用程序的尝试。否则,处理设备可确定对应于下一时间段的、用于标识符的下一部分的特定扇区(动作1306)。在某些实施例中,可通过参考诸如例如,用于标识符的扇区阵列402等扇区阵列来确定用于标识符的下一部分的特定扇区。处理设备然后可执行对表示标识符的下一部分(现在是当前部分)中的“1”位或者标识符的下一部分中的“0”位的特定扇区的多个写周期(动作1308)。写周期数可能小于所允许的写周期的最大数量,但大于(所允许的写周期的最大数量-W),其中W是整数值。在执行动作1308后,可通过特定扇区中的不可用扇区来揭示标识符的下一部分。
如果在动作1302期间处理设备确定新时间段没有开始或者在动作1308期间已执行向特定扇区的多个写周期,则处理设备可确定标识符的当前部分是否通过不可用扇区来编码(动作1310)。如果处理设备确定未编码标识符的当前部分,则该处理设备可指示该标识符未编码。否则,处理设备可确定对应于将来时间段的标识符的任何部分是否已编码(动作1312)。如果已编码供在将来时间段期间使用的标识符的任一部分,则对应于将来时间段的标识符的已编码部分可指示黑客攻击。因此,如果已编码对应于任一将来时间段的标识符的任一部分,则处理设备可指示该标识符未编码(动作1316)以指示未授权使用。如果未编码对应于将来时间段的标识符的所有部分,则处理设备可指示该标识符已编码(动作1314)以指示授权使用。
返回到图12,如果在动作1212期间处理设备确定已在闪存设备中编码标识符的当前部分,则该处理设备可准许全功能地执行软件应用程序(动作1214)。否则,处理设备可限制或禁用软件应用程序的功能(动作1208)。
作为参考图12和13描述的实施例的示例,假设标识符具有36个部分,每一个部分16位,总长度为576位。标识符的每一部分都可对应于一个月的应用程序使用。结果,可授权使用该应用程序36个月。此外,假设一百万个写周期使得闪存的扇区不可用。当首次启动并激活应用程序时,该应用程序可通过执行向对应于标识符的前16位部分中的“1”位或“0”位的特定扇区的多次写入来揭示该标识符的前16位部分,如参考动作1310所描述的。该应用程序可验证该标识符的前16位部分匹配包括在许可证信息中的标识符的对应的16位部分。如果该应用程序确定对应于多个将来月份中的一个的16位部分被揭示,则可禁用应用程序或者可功能受限地执行该应用程序。一个月后,应用程序可揭示标识符的下一16位部分并且可验证该标识符的下一16位部分匹配包括在许可证信息中的标识符的对应的16位部分。
在根据本发明的主题的某些实施例中,如上所述,可编码闪存设备以便经由诸如例如处理设备102等用户的处理设备来与软件应用程序一起使用。图14示出了可以在这些实施例中执行的示例性过程。该过程可以是激活对软件应用程序的执行或使得能够执行软件应用程序的激活过程的一部分。
该过程可开始于处理设备向诸如例如服务器106等第二处理设备发送产品信息(动作1402)。该产品信息可包括标识包括软件应用程序的产品的信息。该处理设备可从对发送产品信息作出响应的第二处理设备接收许可证信息和标识符信息(动作1404)。在某些实施例中,许可证信息可包括标识符和关于一个或多个许可证有效期的信息。许可证信息还可使用可信源的私钥来数字地签署。在某些实施例中,标识符可具有使用可信源的私钥的单独的数字签名。
处理设备然后可验证许可证信息和标识符信息(动作1406)。在某些实施例中,处理设备可使用对应于可信源的私钥的公钥来验证许可证信息和标识符信息。处理设备可基于验证的结果来确定许可证信息和标识符信息是否有效(动作1408)。如果确定许可证信息和标识符信息无效,则处理设备可向用户提供出错消息(动作1410)。否则,处理设备可将标识符和对应的数字签名编码到连接到处理设备的闪存设备中(动作1412)。处理设备可通过向闪存设备的特定扇区写入以使得该特定扇区不可用来执行编码或者如上所述,该特定扇区可保持可用,但稍后可通过执行向该特定扇区的多个写周期以使其不可用来揭示编码。例如,标识符和数字签名可通过经由不可用扇区来表示一位并经由可用扇区来表示零位来编码。在某些实施例中,该信息可通过经由不可用扇区来表示零位并经由可用扇区来表示一位来编码。可将许可证信息存储在闪存设备或处理设备上(动作1414)。
接着,处理设备可从许可证信息中确定是否要使用使用次数计数器和/或时间段计数器(动作1416)。例如,如果许可证信息指示软件应用程序可执行预定次数,则可使用使用次数计数器。如果许可证信息指示对执行软件应用程序的授权在特定时间段或期满日期后到期,则可使用时间段计数器。
处理设备然后可创建关于标识符和计数器的一个或多个扇区阵列,并且还可存储关于要对扇区执行的多次写入的信息、关于诸如系统时钟或其他时间测量工具等时钟的时间段长度(天、星期、年等)或其他信息(动作1418)。
结论
使用通用闪存设备来阻止对软件的未授权使用没有需要诸如USB电子狗或存储器钥匙等特殊设备的方法昂贵。此外,用于使用用户提供的闪存设备来阻止对软件的未授权使用的方法使得交付具有软件的专用设备变得没必要,并且是用于保护电子分发的软件免遭未授权使用的切实可行的方法。
尽管用对结构特征和/或方法动作专用的语言描述了本主题,但可以理解,所附权利要求书中的主题不必限于上述具体特征或动作。相反,上述具体特征和动作是作为实现权利要求的示例形式公开的。
虽然以上描述可能包含具体细节,但决不应将其解释为是对权利要求的限制。所述各实施例的其它配置也是本发明的范围的一部分。此外,根据本发明主题的各个实现可以具有比所描述的更多或更少动作,或可以按与所示出的顺序不同的顺序来实现各个动作。另外,在某些实施例中,软件应用程序可存储在闪存设备中,而在其他实施例中,软件安应用程序可存储在诸如ROM、硬盘或另一组件等处理设备的组件上。因此,只有所附权利要求书及其合法的等效技术方案才应定义本发明,而非任何给出的具体示例。

Claims (20)

1.一种使用闪存设备来阻止对软件的未授权使用的机器实现的方法,所述机器实现的方法包括:
访问关于对所述软件的使用的许可证信息,所述许可证信息包括标识符(502、510);
访问所述闪存设备的存储的特定扇区以确定其中是否编码所述标识符,以使得一位由所述特定扇区中的不可用扇区来表示而零位由所述特定扇区中的可用扇区来表示,或者零位由所述特定扇区中的不可用扇区来表示而一位由所述特定扇区中的可用扇区来表示(402、512);以及
当所述标识符未在所述闪存设备的特定扇区中编码时,阻止使用所述软件(508)。
2.如权利要求1所述的机器实现的方法,其特征在于:
所述许可证信息由可信源来数字地签署,并且
所述方法还包括:
确定所述许可证信息是否包括所述可信源的有效数字签名;以及
当所述许可证信息不包括所述可信源的有效数字签名时,阻止使用所述软件。
3.如权利要求1所述的机器实现的方法,其特征在于,还包括:
访问所述闪存设备的存储的特定扇区以确定其中是否编码关于所述标识符的有效数字签名;以及
当关于所述标识符的有效数字签名未在所述闪存设备的特定扇区中编码时,阻止使用所述软件。
4.如权利要求1所述的机器实现的方法,其特征在于,所述许可证信息被存储在所述闪存设备中。
5.如权利要求1所述的机器实现的方法,其特征在于,所述许可证信息被存储在处理设备的组件中,并且所述处理设备连接有所述闪存设备。
6.如权利要求1所述的机器实现的方法,其特征在于:
所述许可证信息包括所述软件的预定使用次数,并且
所述机器实现的方法还包括:
通过执行对所述闪存设备的至少一个扇区的多次写入以由此使所述至少一个扇区在数到所述软件的预定使用次数后不可用,来对所述软件的每一次使用进行计数;
确定所述至少一个扇区是否不可用;以及
当所述至少一个扇区被确定为不可用时,阻止使用所述软件。
7.如权利要求1所述的机器实现的方法,其特征在于:
所述许可证信息包括期满日期,并且
所述机器实现的方法还包括:
通过执行对所述闪存设备的多个扇区中的相应扇区的多次写入以由此使所述多个扇区中的相应扇区不可用,来对多个时间段中的每一个的逝去进行计数;
确定所述多个扇区中的不可用的相应扇区的数量;以及
当所述多个扇区中的所确定的不可用的相应扇区的数量指示期满日期过去时,阻止使用所述软件。
8.如权利要求1所述的机器实现的方法,其特征在于,还包括:
在所述软件在处理设备上的激活期间将所述标识符编码到所述闪存设备的存储的特定扇区中。
9.一种使用闪存设备来限制或禁用软件应用程序的功能的机器实现的方法,所述机器实现的方法包括:
访问关于对所述软件应用程序的使用的许可证信息,所述许可证信息驻留在所述闪存设备或所述闪存设备所连接到的处理设备的组件中的一个上,所述许可证信息包括标识符(502);
验证所述许可证信息(504);
访问所述闪存设备的存储的特定扇区以确定其中是否编码所述标识符,以使得一位由所述特定扇区中的不可用扇区来表示而零位由所述特定扇区中的可用扇区来表示,或者零位由所述特定扇区中的不可用扇区来表示而一位由所述特定扇区中的可用扇区来表示(402、510、512);以及
当所述标识符未在所述闪存设备的特定扇区中编码时,限制或禁用所述软件应用程序的功能(508)。
10.如权利要求9所述的机器实现的方法,其特征在于,还包括:
准许全功能地执行所述软件应用程序第一预定使用次数。
11.如权利要求9所述的机器实现的方法,其特征在于:
所述标识符包括多个部分,并且
所述机器实现的方法还包括:
在特定时间段揭示所述标识符的多个部分中的每一个。
12.如权利要求9所述的机器实现的方法,其特征在于:
在限制所述软件应用程序的功能时,启用所述软件应用程序的标准功能,并且
在不禁用且不限制所述软件应用程序的功能时,启用所述软件应用程序的增强功能。
13.如权利要求9所述的机器实现的方法,其特征在于,所述软件应用程序被存储在所述闪存设备上。
14.如权利要求9所述的机器实现的方法,其特征在于,还包括:
在激活所述软件期间将所述标识符和所述标识符的数字签名编码到所述闪存设备的存储的特定扇区中。
15.如权利要求9所述的机器实现的方法,其特征在于,还包括:
通过执行对所述闪存设备的至少一个扇区中的相应扇区的多次写入以由此使所述至少一个扇区中的相应扇区不可用,来对多个时间段中的每一个的逝去进行计数;
当所述至少一个扇区中的不可用扇区的数量指示所述许可证信息所指示的期满日期过去时,限制或禁止使用所述软件应用程序。
16.一种闪存设备(104),所述闪存设备用于限制软件应用程序的功能、禁用所述软件应用程序的功能、或者启用所述软件应用程序的全部功能,所述软件应用程序被安排在所述闪存设备所连接到的处理设备上执行,所述闪存设备包括:
其中存储的关于所述软件应用程序的许可证信息,所述许可证信息包括标识符(304、402、1414);以及
对应于包括在所述许可证信息中的标识符的已编码的标识符,所述已编码的标识符在所述闪存设备中编码以使得所述闪存设备的特定扇区中的不可用扇区表示所述已编码的标识符中的一位而所述闪存设备的特定扇区中的可用扇区表示所述已编码的标识符中的零位,或者所述闪存设备的特定扇区中的可用扇区表示所述已编码的标识符中的一位而所述闪存设备的特定扇区中的不可用扇区表示所述已编码的标识符中的零位,仅在所述已编码的标识符匹配包括在所述许可证信息中的标识符时启用所述软件应用程序的全部功能(306、1412、512、614)。
17.如权利要求16所述的闪存设备,其特征在于,还包括:
可信源的数字签名,所述可信源的数字签名在所述标识符上计算,在所述闪存设备的特定扇区中编码,仅在已编码的数字签名被验证为来自所述可信源时启用所述软件应用程序的全部功能。
18.如权利要求16所述的闪存设备,其特征在于:
所述许可证信息包括关于所述软件应用程序的所准许的使用次数的信息,并且
所述闪存设备的至少一个扇区中的不可用扇区指示是否已发生所准许的使用次数。
19.如权利要求16所述的闪存设备,其特征在于,还包括:
存储在所述闪存设备中的软件应用程序。
20.如权利要求16所述的闪存设备,其特征在于:
所述许可证信息包括关于使用所述软件应用程序的许可证的期满日期的信息,并且
所述闪存设备的至少一个扇区中的不可用扇区指示所述期满日期是否已过去。
CN2008801050797A 2007-08-31 2008-08-04 使用闪存设备来阻止对软件的未授权使用 Expired - Fee Related CN101790723B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US11/848,381 US8452967B2 (en) 2007-08-31 2007-08-31 Using flash storage device to prevent unauthorized use of software
US11/848,381 2007-08-31
PCT/US2008/072118 WO2009032462A1 (en) 2007-08-31 2008-08-04 Using flash storage device to prevent unauthorized use of software

Publications (2)

Publication Number Publication Date
CN101790723A true CN101790723A (zh) 2010-07-28
CN101790723B CN101790723B (zh) 2012-08-08

Family

ID=40409286

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2008801050797A Expired - Fee Related CN101790723B (zh) 2007-08-31 2008-08-04 使用闪存设备来阻止对软件的未授权使用

Country Status (8)

Country Link
US (3) US8452967B2 (zh)
EP (1) EP2183672A4 (zh)
JP (1) JP2010538364A (zh)
KR (1) KR101514100B1 (zh)
CN (1) CN101790723B (zh)
BR (1) BRPI0814853A2 (zh)
RU (1) RU2473116C2 (zh)
WO (1) WO2009032462A1 (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110825639A (zh) * 2019-11-08 2020-02-21 西安雷风电子科技有限公司 一种防篡改时间的软件License验证方法
CN112307436A (zh) * 2019-07-26 2021-02-02 杭州海康威视数字技术股份有限公司 智能设备的许可证管理方法和装置以及智能设备

Families Citing this family (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11734393B2 (en) 2004-09-20 2023-08-22 Warner Bros. Entertainment Inc. Content distribution with renewable content protection
US20060064386A1 (en) * 2004-09-20 2006-03-23 Aaron Marking Media on demand via peering
WO2013131065A1 (en) * 2012-03-02 2013-09-06 Syphermedia International, Inc. Blackbox security provider programming system permitting multiple customer use and in field conditional access switching
US10476883B2 (en) 2012-03-02 2019-11-12 Inside Secure Signaling conditional access system switching and key derivation
US10691860B2 (en) 2009-02-24 2020-06-23 Rambus Inc. Secure logic locking and configuration with camouflaged programmable micro netlists
US8874935B2 (en) * 2011-08-30 2014-10-28 Microsoft Corporation Sector map-based rapid data encryption policy compliance
US8689279B2 (en) 2011-08-30 2014-04-01 Microsoft Corporation Encrypted chunk-based rapid data encryption policy compliance
US20140115672A1 (en) * 2012-10-18 2014-04-24 Roger Wood Storing and Accessing Licensing Information in Operating System-Independent Storage
CN103064678B (zh) * 2012-12-24 2016-04-20 广州广电运通金融电子股份有限公司 一种硬件指令调用控制方法和装置
US20140344570A1 (en) 2013-05-20 2014-11-20 Microsoft Corporation Data Protection For Organizations On Computing Devices
US10615967B2 (en) 2014-03-20 2020-04-07 Microsoft Technology Licensing, Llc Rapid data protection for storage devices
US9875344B1 (en) 2014-09-05 2018-01-23 Silver Peak Systems, Inc. Dynamic monitoring and authorization of an optimization device
US9825945B2 (en) 2014-09-09 2017-11-21 Microsoft Technology Licensing, Llc Preserving data protection with policy
US9853812B2 (en) 2014-09-17 2017-12-26 Microsoft Technology Licensing, Llc Secure key management for roaming protected content
US20160140530A1 (en) * 2014-10-27 2016-05-19 Leonard L. Drey Method of Governing Content Presentation and the Altering of Multi-Page Electronic Documents
US9900295B2 (en) 2014-11-05 2018-02-20 Microsoft Technology Licensing, Llc Roaming content wipe actions across devices
US9853820B2 (en) 2015-06-30 2017-12-26 Microsoft Technology Licensing, Llc Intelligent deletion of revoked data
US20170068822A1 (en) * 2015-09-03 2017-03-09 Bit Sphere Inc. Method for binding a software application's functionality to specific storage media
US9900325B2 (en) 2015-10-09 2018-02-20 Microsoft Technology Licensing, Llc Passive encryption of organization data
US11157624B2 (en) * 2019-08-14 2021-10-26 Silicon Motion, Inc. Scheme of using electronic device to activate mass production software tool to initialize memory device including flash memory controller and flash memory
US11829452B2 (en) 2020-08-24 2023-11-28 Leonard L. Drey System and method of governing content presentation of multi-page electronic documents

Family Cites Families (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5473692A (en) * 1994-09-07 1995-12-05 Intel Corporation Roving software license for a hardware agent
US6367013B1 (en) * 1995-01-17 2002-04-02 Eoriginal Inc. System and method for electronic transmission, storage, and retrieval of authenticated electronic original documents
US6226747B1 (en) 1998-04-10 2001-05-01 Microsoft Corporation Method for preventing software piracy during installation from a read only storage medium
IL124571A0 (en) 1998-05-21 1998-12-06 Miki Mullor Method of restricting software operation within a licensed limitation
TW460846B (en) 1998-12-10 2001-10-21 Toshiba Corp Data recording media having certification information
KR100707823B1 (ko) 1999-03-15 2007-04-13 유큐이, 엘엘씨 저장매체 상에 복제 방지를 제공하는 방법 및 시스템과,이와 같은 시스템에 사용되는 저장매체
JP4621314B2 (ja) 1999-06-16 2011-01-26 株式会社東芝 記憶媒体
US7318117B2 (en) * 2004-02-26 2008-01-08 Super Talent Electronics, Inc. Managing flash memory including recycling obsolete sectors
US6996720B1 (en) * 1999-12-17 2006-02-07 Microsoft Corporation System and method for accessing protected content in a rights-management architecture
JP2001175468A (ja) * 1999-12-20 2001-06-29 Sony Corp ソフトウエア使用制御方法とその装置
US7861312B2 (en) 2000-01-06 2010-12-28 Super Talent Electronics, Inc. MP3 player with digital rights management
US7107608B2 (en) * 2001-10-01 2006-09-12 Microsoft Corporation Remote task scheduling for a set top box
US20040015709A1 (en) 2002-07-18 2004-01-22 Bei-Chuan Chen Software delivery device and method for providing software copy protection
US7734549B2 (en) * 2002-12-31 2010-06-08 Motorola, Inc. Methods and apparatus for managing secured software for a wireless device
CN1754173A (zh) 2003-02-21 2006-03-29 松下电器产业株式会社 软件管理系统、记录介质和信息处理装置
US7248895B2 (en) * 2003-06-12 2007-07-24 Nokia Corporation Controlling settings for mobile telecommunications apparatus
KR101169021B1 (ko) 2004-05-31 2012-07-26 삼성전자주식회사 디바이스와 휴대형 저장장치간의 권리객체 정보 전달 방법및 장치
KR100608604B1 (ko) 2004-09-15 2006-08-03 삼성전자주식회사 객체 식별자를 이용하여 이동형 저장 장치에서 권리객체를 검색하는 방법 및 장치
US20060080260A1 (en) 2004-10-13 2006-04-13 Tien-Fu Chen System and method for digital content rights management on portable storage devices
US20070118766A1 (en) 2005-02-11 2007-05-24 Molino Networks, Inc. Electronic content security scheme
US20060200414A1 (en) * 2005-02-14 2006-09-07 Roberts Henry A Jr Methods of copy protecting software stored on portable memory
WO2007020545A1 (en) * 2005-08-17 2007-02-22 Koninklijke Philips Electronics N.V. Managing digital right licenses
US20070074050A1 (en) 2005-09-14 2007-03-29 Noam Camiel System and method for software and data copy protection
US7934049B2 (en) 2005-09-14 2011-04-26 Sandisk Corporation Methods used in a secure yet flexible system architecture for secure devices with flash mass storage memory
JP2009519562A (ja) * 2005-12-15 2009-05-14 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ 特有の特徴を持つデータを記録する方法

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112307436A (zh) * 2019-07-26 2021-02-02 杭州海康威视数字技术股份有限公司 智能设备的许可证管理方法和装置以及智能设备
CN112307436B (zh) * 2019-07-26 2023-12-01 杭州海康威视数字技术股份有限公司 智能设备的许可证管理方法和装置以及智能设备
CN110825639A (zh) * 2019-11-08 2020-02-21 西安雷风电子科技有限公司 一种防篡改时间的软件License验证方法
CN110825639B (zh) * 2019-11-08 2023-01-31 西安雷风电子科技有限公司 一种防篡改时间的软件License验证方法

Also Published As

Publication number Publication date
RU2010107195A (ru) 2011-09-10
US20160063225A1 (en) 2016-03-03
US9213846B2 (en) 2015-12-15
BRPI0814853A2 (pt) 2015-01-27
EP2183672A4 (en) 2013-06-05
US8452967B2 (en) 2013-05-28
US20090063756A1 (en) 2009-03-05
EP2183672A1 (en) 2010-05-12
JP2010538364A (ja) 2010-12-09
WO2009032462A1 (en) 2009-03-12
RU2473116C2 (ru) 2013-01-20
US20130247229A1 (en) 2013-09-19
CN101790723B (zh) 2012-08-08
KR20100046034A (ko) 2010-05-04
KR101514100B1 (ko) 2015-04-22

Similar Documents

Publication Publication Date Title
CN101790723B (zh) 使用闪存设备来阻止对软件的未授权使用
US20200294165A1 (en) Blockchain-based allocation methods and apparatuses
CN107077557B (zh) 软件应用程序发布和验证的方法及装置
CN109101787B (zh) 一种基于区块链对版权使用者进行信用评价的方法及装置
CN112214545A (zh) 基于区块链的业务处理方法及装置
CN104504806B (zh) 用于非接触式智能卡的本地可信服务管理器
CN102737200B (zh) 使用数字许可证的软件激活
CN101458946B (zh) 信息处理装置、盘、信息处理方法和程序
US20060106845A1 (en) System and method for computer-based local generic commerce and management of stored value
CN111027028A (zh) 基于智能合约的版权数据处理方法以及装置
CN1825329A (zh) 用于许可数字应用程序的柔性许可架构
CN101206696A (zh) 用于保护个人信息的设备、方法和系统
CN101398875A (zh) 软件发行商信任扩展应用程序
CN103425909A (zh) 控制系统、控制装置及程序执行控制方法
CN100555205C (zh) 便携式存储装置以及在便携式存储装置中管理文件的方法
CN111460398B (zh) 一种水印添加方法、装置、设备及存储介质
CN104871165A (zh) 固件实现的软件许可
CN110134837B (zh) 一种信息管理方法及装置
US8312550B2 (en) Method, system and apparatus for processing rights
CN110619557B (zh) 一种固定资产的租赁管理方法及装置、电子设备
KR20060042210A (ko) 서비스 소비자가 서비스 요청시에 올바르지 않게 동작하는어플리케이션을 제어하기 위한 방법 및 시스템
CN106897585B (zh) 软件许可管理方法、软件保护方法及装置
Priya et al. Online Certificate Validation Using Blockchain
Syme et al. The governance of code: Open land vs. UCITA land
CN101223549A (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
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: 20150421

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

Effective date of registration: 20150421

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
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20120808

Termination date: 20190804