CN1633632A - 保护软件的方法和配置 - Google Patents

保护软件的方法和配置 Download PDF

Info

Publication number
CN1633632A
CN1633632A CNA03803882XA CN03803882A CN1633632A CN 1633632 A CN1633632 A CN 1633632A CN A03803882X A CNA03803882X A CN A03803882XA CN 03803882 A CN03803882 A CN 03803882A CN 1633632 A CN1633632 A CN 1633632A
Authority
CN
China
Prior art keywords
software
lock unit
licence units
customer location
sign indicating
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
CNA03803882XA
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.)
Individual
Original Assignee
Individual
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 Individual filed Critical Individual
Publication of CN1633632A publication Critical patent/CN1633632A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • 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/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
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2135Metering

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Technology Law (AREA)
  • Multimedia (AREA)
  • Storage Device Security (AREA)
  • Stored Programmes (AREA)
  • Emergency Protection Circuit Devices (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

一种限制同时使用一受许可协议保护的软件(106)的用户的数量的方法和配置。当该软件被工作站(102)激活时,一开始请求从该软件发送至一锁单元(108),其后,查询任何连接该锁单元并且与该软件对应的物理许可单元(110)是否具有空闲用户位置。如果有空闲用户位置该软件就开始,但如果没有空闲用户位置时就终止。该方案提高控制和安全性,同时使用的用户数量不能超过由许可协议所规定的范围,以及提供了许可协议的简单升级。

Description

保护软件的方法和配置
技术领域
本发明涉及一种保护许可的软件被非法使用和/或复制的方法和配置。
背景技术
市场上提供有巨大数量的可购买的软件,这些软件供计算机安装和使用,如个人计算机或具有与终端相连接的中央计算机。软件也可以安装在中央服务器上,连接至数字网络服务器的计算机可以访问该软件。这种软件产品通常与允许一预定数量的用户使用该售出软件的许可一同出售。
许可可以被设计成对特定数量的用户或用户群有效,它可以预先被识别,以限制这种售出的软件产品的使用。例如,许可对限定数量的人有效,例如在学校或公司内。实际上,这意味着:允许一限定数量的工作站同时使用该软件。
然而,存在的问题是经常有没被许可协议覆盖的人使用该售出的软件,比如非法使用。如果不是不可能的话,没有特殊的帮助方法很难监督这些售出和安装后的软件。还有一个问题是很多售出的程序很容易被非法复制,并安装在一些无法控制的许多计算机上,其导致更进一步的非法使用。
昂贵的产品,例如3D处理程序,经常通过叫做硬件锁的装置保护其免受非法使用,其硬件锁附有与售出的软件产品相联系的许可。这种硬件锁包括一个锁单元,例如一个小盒子,其被用于连接至授权用户的工作站或计算机的并行端口。当被保护的程序被激活时,该程序要求并行端口被第一个检查,如果没有找到有效的锁,该程序不能开始。为了开始该程序,也需要输入为锁单元定义的个人编码。
然而,被许可用于在多个工作站或计算机上的大量用户的不是很昂贵的计算机程序,通常没有这种类型的锁保护。这是因为对于相应数量的工作站和用户需要大量的这种锁单元,从而导致其高成本。另外,同时考虑到兼容性和物理空间,为了使多个被保护的程序可以在计算机中使用,仅有限定数量的锁单元可与同一计算机相连接。另外的缺点是,通常,这种锁单元可以轻易的被未被许可的人移动,例如在学校里,这是一个问题。
没有锁单元,软件仅通过软件制造商和使用它的消费者之间的许可协议保护。由于很难在网络上核实同时使用产品的用户数量,例如,一个公司为一定数量的用户付钱使协议有效,那么在实际上允许更多的用户非法使用这种产品。如果软件制造商派出的检查者访问该公司以检查使用情况,该公司的数据管理员可以,例如,容易地临时限定使用,然后恢复数量巨大的非法用户的使用。
因此,由于做出的许可协议是合法的,因此限定那些用户或用户群使用售出的软件商品成为一个问题。
发明内容
本发明的一个目的在于获得一种防止超出许可协议有效范围之外的软件商品的非法使用的方案。尤其是本发明意于防止比许可用户数量大得多的大量用户使用该受协议保护的软件产品。
本发明另一目的在于防止被许可的软件商品不受控制的复制。
本发明的这些目的是通过提供一种限制同时使用受许可协议保护的软件的用户数量的方法和配置而实现的,其中该软件可以被与网络连接的多个工作站激活。当该软件被一个工作站激活时,该软件向与网络连接的锁单元发送一开始请求,其中至少一个与该受保护的软件相关的物理许可单元被连接至该锁单元,且其具有限定数量的用户位置。然后查询任何与锁单元连接且与该软件相关的许可单元是否有空闲的用户位置。如果有一个空闲的用户位置,该软件就被开始。如果没有找到任何空闲的用户位置,该软件就被终止。
为了确定空闲的许可单元,在与锁单元连接的每个许可单元上读取唯一的识别码,其中识别至少一个与该软件相应的许可单元,且查询被识别的任何许可单元是否有一个空闲的用户位置。然后,读取的识别码的列表从锁单元发送至该软件,生成新的列表并将其发送至锁单元,其中锁单元包括被识别的许可单元的识别码和每个识别的许可单元的最大许可用户数目。然后该锁单元能够将每个这样的最大数与相应的许可单元中当前被占用的用户位置的数目相比较。
锁单元可以适当地相应地维持与其连接的许可单元的信息和关于在每个许可单元中当前被占用的相应用户位置数目的信息。
该软件可生成一个将发送至锁单元的随机数或类似物,其中锁单元将这个随机数发送回该软件以标识找到了空闲的用户位置,从而软件可以被开始使用。
为防止传送的数据被窃取,使用保密方法,一公共密钥从锁单元发送到该软件,随机数由软件生成的会话密钥(session key)加密,会话密钥被公共密钥加密,所述的随机数和所述的会话密钥作为加密的消息从软件发送至锁单元,因此锁单元可以利用与所述的公共密钥相应的私人密钥对会话密钥进行解密,然后,利用该会话密钥对该随机数解密。
如果在任何许可单元中没有找到空闲的用户位置,锁单元向软件发送错误的随机数以表示该事实,从而相应地终止该软件。
如果软件开始使用,锁单元注册开始使用该软件的时间,以便可以检查和限制相应的用户位置被占据的时间。锁单元进一步为该工作站分配一个临时的识别码,其和开始使用的当前时间一起存储在锁单元中,以保存关于哪个工作站激活以及在许可单元占用了一个用户位置的跟踪记录,然后锁单元同样将该工作站的临时识别码发送至该软件。
该软件在预定的时间间隔T后,通过向锁单元发送包括其分配的临时识别码的更新信息,可以相应地定期更新被占用的用户位置。
根据另一实施例,在所述的软件所知道的至少一个参数的基础上,产生至少一个识别码MAC后,通过首先选择一个与所述的软件相关的至少具有一个空闲用户位置的许可单元,可以提高安全性。且其从所述的锁单元发送至所述的软件。然后,所述的软件在本地形成一个与接收到的标记码相对照的相应的标记码,,如果接收到的标记码与本地的标记码相一致,则开始使用该软件,如果接收到的标记码与本地的标记码不一致,则终止使用该软件。
许可单元是所述的软件从列表1′1中选出的,列表1′1由所述的锁单元L形成并发送,该列表1′1包括与所述的锁单元相连的所有许可单元的唯一识别码和每个关于多少用户被当前激活且从而占用许可单元中的用户位置的每个许可单元的信息。
标记码MAC与会议密匙SID一起发送到所述的软件、该会议密匙SID分配给与该软件,产生的时间标志TM和激活用户的当前数量AA的通信,该产生的时间标志TM表示与当软件的通信发生时的时钟。
标记码MAC基于至少以下的一个参数形成:所选择的许可单元的可读识别码AID,所述的许可单元隐藏的识别码DAID,所述的锁单元的可读识别码LID,所述的锁单元隐藏的识别码DLID,所述的锁单元的功能的功能码PLID,由所述的软件产生并发送的随机数st1,会议密匙SID,所述的时间标志TM和当前用户数量AA。
AID码和DAID码之间的关系在该软件中预先确定,以便DAID码可以由AID码得出,另外,LID码和DLID码之间的关系可以在该软件中预先确定,以便DLID码可以由LID码得出。所述的标记码MAC包括第一标记码MAC1和第二标记码MAC2,其中MAC1基于至少一个以下参数:st1,SID,AID,AA,TM,LID,DLID和PLID,MAC2基于至少一个以下参数:st1,SID,AA,TM,AID和DAID。
所述的软件在一个预定的时间间隔T后,通过向锁单元发送更新消息,可以相应地常常更新被占用的用户位置,所述的消息包括指定的会议码SID和新产生的随机数st2,这样锁单元能够识别使用所述软件的工作站,使用的许可单元和最近保存的时间标志TM,并确定是否允许继续使用。
相应于当前的时间点,产生一个新的时间标志TM′,以及产生第三标记码MAC3,且该标记码MAC3从锁单元发送至所述的软件,其中识别码MAC3基于至少一个以下参数:st2,SID,TM,TM′,AID和DAID。
附图说明
参照附图更详细的描述本发明。
图1为依照本发明一个实施例的数据网络的示意框图。
图2为依照本发明另一实施例的计算机程序与锁单元之间的信号示意图。
图3为依照本发明另一实施例的数据网络的示意框图。
图4为依照本发明另一实施例的计算机程序与锁单元之间的信号示意图。
具体实施方式
本发明是基于网络的,这意味着通过许可协议保护的软件产品可以用在通过网络连接特定中央锁单元的工作站或计算机上,例如本地网络,企业内部互联网或国际互联网。这使得该方案尤其具有吸引力,因为通过许可保护的软件出售给的公司或学校通常都有在网络上连接在一起的个人计算机。
以下,使用词组“工作站”涵盖所有类型的终端,站或个人计算机,用户可以通过网络与受保护的软件进行通信并激活受保护的软件。该受保护的软件可以是任何类型的计算机程序,这些计算机程序集中安装在可从多个工作站访问的计算机或服务器上,或者本地的安装在每个工作站上计算机。
图1中,所示的数据网络100与多个工作站102相连。同样显示了服务器104与数据网络100相连,在服务器104中安装有受保护的软件106,例如计算机程序。软件106可以从多个工作站102访问并激活,其被一许可协议保护以对限定的且预定数量的用户有效。正如以上所提到的,受保护的软件106可以选择性的安装在本地地工作站102,图中未示。
中央锁单元108也和数据网络100相连,其用来根据许可协议控制使用并限定同时使用受保护的软件106的用户的数量。锁单元108实际上可以包括一个与网络相连的可编程的计算机。为了控制用户的数量,锁单元108具有任何数量的可分离的物理许可单元110,每个物理许可单元110可以使得从预定数量的工作站102使用该受保护的软件106,具体描述见下文。因此,与锁单元相连的许可单元110的数量与许可协议涵盖的工作站的数量相对应。
每个许可单元110是一个很简单很小的物理单元,包括可读的唯一识别码,或协议识别AID,如序列号等等,可以烙在卡,芯片等等上。因此,唯一的识别码与软件106和它的许可协议相联系,允许在一个或更多的工作站102上使用,它是依照许可协议预先确定的。
锁单元108的基础硬件可以包括,例如,一种市场上公知的由Dalls半导体公司制造“TINI”(Tiny Internet Interface:微小的互联网接口)的产品。而且,许可单元110可以包括,例如,也是由同一公司制造的小电按钮,叫做“iBottons”,其中每个“iBottons”包括一个激光烙的唯一的序列号。现在,这些按钮经常用于开门或类似物的电子钥匙。然而,本发明不仅仅局限于任何独特设计的锁单元108和/或许可单元110,从而对他们不再做进一步的描述。
简而言之,本发明的锁配置按照以下方式工作。锁单元108被预先编程,例如与软件106的安装相联系以维持一序列当前使用软件108的工作站102的列表,并且在使用期间将相应的许可单元110注册为“被占用”。根据许可协议的构成,每个许可单元110都可以包含一个或多个的用户位置。另外,每个许可单元110可以对于特定的工作站102是有效的,或对一定数目的非特定的工作站102是有效的。一个这种类型的许可单元110也可以被用于多个受协议保护的程序。在变成可使用之前,受保护的软件106用来首先完成与锁单元108一起进行例行检查程序,以下将进行说明。
当用户首先从工作站102激活受保护的软件106时,软件106向锁单元108发出开始请求。接着检查与软件106相应的许可单元110是否与锁单元108连接且具有一有空闲的用户位置,或者是否所有的用户位置当前都被其他工作站占用。如果对于软件106在任何许可单元110中具有一空闲的用户位置,则软件106在工作站102上可以开始。然而,如果那些与软件相关联的一个或多个许可单元110已经注册为占用,或者没有找到与该软件相关联的许可单元,则软件106自己终止。
因此,为了开始并使用由这种配置保护的软件106,锁单元108必须在数据网络100中是有效的,该数据网络100在所述的例行控制程序中包含在所述的控制路由中适合于相互作用的特殊计算机程序。对于当前的软件106,需要一个与被连接的许可单元110和它唯一的识别码相关的许可。例如,一个公司可以购买和为了许多想要获得软件产品的访问的许可而连接这些许可单元110。这种类型的许可单元110可以相应于一个或多个许可协议,其中每个协议都包含一个或多个用户或工作站,从而可以减少连接的许可单元的数量。如果需要的话,同样可以基于需求,通过将更多的许可单元110与锁单元108连接,可以增加受保护的软件的更多的许可。然而,在特定的情况下,随着增加的许可单元110,需要更新受保护的软件。同样可以以相应的方式减少许可单元110的数目。
另外,软件制造商可以利用锁单元108通过数据网络100检查许可单元110,以确认至少一个与该产品相关的许可单元110被连接,以保护他们的产品。锁单元108被编程,这样通过当前使用软件106的工作站的维持的列表,使得只有被允许数量的用户可以同时使用该产品,从而在当前的许可单元110中占据用户位置。使用这种方法,仅由该公司已付费了的用户可以同时使用产品。如果没有发现许可单元110有空闲的用户位置,软件106自己终止。
在控制程序中,在工作站102和锁单元108之间传送的数据也可以通过加密的方式保护,下文将进行具体描述。为此,加密方法可以使用会话密钥和公共/私人密钥。
会话密钥是随意选择的特定长度的数字,且必须被发送方和接受方都知道,它仅用于一个会话,例如传输数据。这种密钥的优点是数据的加密的速度相对的比较快。发送至接受方密钥能解密消息,其本身必须被加密来防止发送途中被窃取,从而使得整条消息被读取。为此,公共密钥可以与保密的私人密钥一起使用。为了加密会话密钥,发送方可以使用公共密钥,而私人密钥被接收者用于解密。因此,会话密钥加密实际的消息,而公共密钥加密会话密钥,从而使得除了具有私人密钥的接收者之外,任何人都无法读取该条消息。
参照图2,依照第一实施例,下面描述一更详细的例子,来说明本法明是如何使用的。图2所示为受保护的计算机程序P和与中央网络连接的锁单元L之间的信号示意图。实际中,该计算机程序P可以是任何由许可协议保护的软件。为了简单说明,假定程序P在本地被安装在与相同网络连接的工作站中,这样信号通过一公用的数据网络在工作站和锁单元L之间物理地传送。然而,如图1所示,程序P可以选择性的集中安装在与工作站相连的服务器中。
该程序P包含关于与其相关的许可单元的信息以及关于相应用户位置的数目的信息。依次地,锁单元存储关于与其连接的许可单元的信息和关于在各个许可单元中被当前占用的相应用户位置的数目的信息。
当程序P被工作站激活时,在第一步骤200中,开始请求SF被发送至在程序安装过程中指定的锁单元L。有多个这样的锁单元连接至数据网络,这些锁单元通过网络地址而识别。响应该开始请求,锁单元L在每个与锁单元连接许可单元中都读取唯一的识别码,例如序列号,并生成这些识别码的列表11。因此,每个锁单元都可以包含与多个受保护的计算机程序相关的许可单元。同一个许可单元还可以进一步包括多个计算机程序的用户位置。
锁单元进一步编程以生成用于公共加密的新的成对的密钥。由于要产生高任意性的最初数字以形成一对安全的密钥,密钥的产生需要时间且最佳为在背景中持续的处理。依靠锁单元的处理器,需要几个小时来完成必要的计算。一旦新的密钥产生,就可以在窃取者企图从公共密钥破译私人密钥前,将传送的消息保密至少一段时间。
在接下来的步骤202中,所有连接的许可单元的列表11和最新生成的公共密钥pn一起从锁单元L发送到计算机程序P。由于仅锁单元L有相应的私人密钥,由公共密钥pn加密的数据只能由锁单元L解密。
然后,程序P在列表11中识别与该程序相关的那些许可单元。从而,程序P形成一个新的列表12,其包含有相关许可单元的标识,和对于每个许可单元表示允许的最大用户数的最大数。如果在列表11中没有找到相关的许可单元,受保护的程序P就会在工作站自动终止。
当新的列表12形成时,程序P会进一步产生会话密钥sn1和特定的随机数st1等等,它们之后将被用于确认程序是否允许被开始,其将在下文描述。
列表12和随机数st1由会话密钥sn1加密,例如依照叫做TEA(TinyEncryption Algorithm)的方法加密。之后,会话密钥sn1被公共密钥Pn依次加密,例如依照叫做RSA(Rivest,Shamir,Algorithm)的方法加密。在接下来的步骤204中,列表12,随机数st1和会话密钥sn1作为加密了的信息从程序P发送回锁单元,其中,锁单元L可以利用其私人密钥将会话密钥sn1解密,然后利用会话密钥sn1保留消息。
通过解密与程序相关的许可单元的列表L2和它们的最大数,锁单元L查询任何许可单元是否当前被一用户数量专用,该用户数量比程序P指定的作为该许可单元允许的最大数值的最大值小。然后,锁单元将每个这种最大值和相应的许可单元当前被占用的用户位置个数相比较。如果没有找到这种有空闲用户位置的许可单元,在可选择的步骤206a中,锁单元L被编程以将错误的随机数st(错误)发送回程序P,然后该程序自动终止。,如果至少具有一个空闲用户位置的一个许可单元被连接,当前的工作站被加入到该许可单元的激活列表中,这样锁单元就知道一个用户位置目前被占用。
锁单元L进一步注册开始时间,这样可以检查和限制相应的用户位置的占用时间。然后在一段时间后,用户位置被自动释放,或者保存作为工作站在周期的间隔内更新它的使用,在下文中将进行更具体的描述。然后,在可选择的步骤206b中,正确的解密随机数st1被发送至程序P,使之能够在工作站中开始使用。
为了保存关于那个工作站是激活的,并且由此在许可单元中占用用户位置的跟踪纪录,锁单元L最好将一个临时的识别码,TID,分配给工作站,该临时的识别码和工作站的会议密匙sn1、当前开始时间一起保存在锁单元L中。TID码同样在步骤206b中发送至程序P,在此,TID码由会议密匙sn1加密,从而仅锁单元L和程序P可以读出TID码。
然后,程序P可以更新占用的用户位置,从而锁单元更新其是否仍然被使用。因此,在预定时间的间隔T之后,例如1分钟,程序P在步骤208中向锁单元L发送更新的消息,该更新的消息包含其指定的TID码,例如,被解密的版本,和由先前的会话密钥sn1加密的新的随机数st2和新的会话密钥sn2。这种的密钥改变使密钥保密的时间更长。即使任何未经许可的人企图破译了公共密钥,从而找到第一会话密钥,也需要进一步截取每个这样的密钥改变以破译最新的有效会话密钥,但这似乎很难办到。
通过接收到的TID码装置,锁单元L可以识别使用程序P的工作站和相应的之前的会话密钥sn1,二者都在步骤204后被保存,其中新的会话密钥sn2和随机数st2可以通过先前的会话密钥sn1解密。可选择的,新的随机数st2可由新的会话密钥sn2加密。注册新的开始时间且保存新的会话密钥sn2。与可选择的步骤206a,b类似,正确或错误的随机数在可选择的步骤210a或210b中被发送回程序P,其取决于是否在锁单元L中找到了在步骤208中给定的TID码。在可选择的步骤210b中,如果接收到正确的随机数st2,程序P仍然激活,在可选择的步骤210a中,如果接收到错误的随机数st(错误),程序P自动终止。程序P也可以配置成:如果在一特定的时间范围内,没有接收到随机数或回复,自动终止。
步骤208和210b可以以特定的时间间隔重复,以使得程序P能够连续使用。为了进一步提高安全性,锁单元L在每次程序P发送更新的消息时,都产生新的TID码,其在步骤210b被发送至程序P(未示)。
修改图2所示的过程也是可行的,锁单元L本身核查任何与程序P相关的许可单元是否有一空闲的用户位置。为此,需要识别程序P,锁单元L注册每个许可单元是否对程序有效,和相应用户位置的最大允许数目。因此,可以在步骤202和步骤204中分别省略发送列表11和12。为了获得较好的安全性,程序P的标别应在之后以加密的形式发送。
相反,或者作为补充,依照一可选择的实施例,使用之前描述的在程序P和锁单元L之间发送的消息的加密,可以使用标记程序。因而,图3显示了可选择实施例中的锁单元108和与之相连的许可单元110。另外,与图1相同的元件标记用来表示图3中相应的元件。在本实施例中,许可单元110具有处理数据和发送数据至锁单元108的装置,例如,芯片中包括微处理器和信息单元。此外,每个许可单元110都具有识别码AID和隐藏的识别码DAID,识别码AID对应于许可协议,且可从外部读出,该隐藏的识别码DAID不能从外部读出,且当原始密码丢失时,由一新的密码重写。DAID码和AID码之间的关系在程序P中预先定义,这样可以从AID码中得到DAID码,例如,通过运算方式或表格。
同样的,锁单元108也可以有可读识别码LID,隐藏的识别码DLID,还可以有一个唯一识别锁单元功能的功能码PLID,从锁单元的程序或软件密码中可以得出它。例如,LID码,DLID码和PLID码可以存储在锁单元108的内部存储器中,或者存储在与锁单元108相连的分离的识别单元300中,如图3破折号部分所示,它可以是和许可单元110相同类型。依照如下描述,本实施例中的这些AID,DAID,LID,DLID和PLID码能够用于标记程序中,以防止许可单元110和锁单元108被伪造,并且保护传送的消息。
每个许可单元110都可以通过提供的数据生成一个包括它的隐藏码DAID的叫做MAC(Message Authentication Code)的的标记码。这个码不可逆,例如不可能通过它找出隐藏的识别码。
除DAID码外,MAC码可以包括同样是不可逆的任何信息,它和请求一起从锁单元发送,以生MAC码。
由于程序P可以通过AID码的方法产生DAID码,程序P也能类似地产生本地的MAC*码。通过比较本地的MAC*码和由许可单元110生成的且通过锁单元108发送给程序P的MAC码,可以判断许可单元是否是可信的。如果锁单元进一步将数据嵌入发往程序P的MAC码中,也可以判断发送的数据是否是可信的。
通过使用LID码和DLID码,或可选择的使用PLID码,类似的标记程序也可以用来确定锁单元108的可信度。LID码和DLID码,可能也包括PLID码,它们之间的关系同样是在程序P中预定设定好了的,以便能相应的得到这些码。因此,锁单元的识别同样可以与存储在锁单元中的信息一起以MAC码的形式标识,该MAC码被发送至程序P且以类似许可单元110的方式检查。
参照图4,依照另一较佳实施例,以下描述本发明如何应用。与图2类似,图4是说明受保护的程序P和锁单元L之间信号流程图。当然,此处程序P也在本地被安装在工作站,或者集中地安装在服务器上。程序P包含关于与其相关的许可单元的信息和相应的用户位置数目的信息。锁单元L依次维持有关连接的许可单元和关于在每个许可单元中当前被占用的相应用户位置数目的信息。
当程序P在工作站中被激活时,在第一步骤400中,开始请求SF被发送至锁单元L。响应该开始请求,在此AID码的情况中,锁单元L为所有与锁单元L相连的许可单元生成唯一的识别码的列表1′1,。在本实施例中,每个许可单元的列表1′1也包含关于多少用户当前被激活从而占用该许可单元中的用户位置的信息。
在接下来的步骤402中,列表1′1和LID码一起从锁单元L发送到程序P,然后在与该程序相关的列表1′1中识别许可单元。接着,程序P选择一个与程序有关的且具有至少有一个空闲用户位置的许可单元,即,激活用户的当前数量AA小于最大允许数值AAmax。如果在列表1′1中找到这种有空闲位置的许可单元的数量多于一个,则可以从中任意选择。然而,如果没有找到这样的具有空闲位置的相关许可单元,受保护的程序P在工作站中自动终止。
当程序P选择了一个有附加AID码的许可单元时,会进一步生成第一随机数st1,以在生成唯一的标志码时使用,下文将进行具体描述。
在接下来的步骤404中,被选择的许可单元的AID码和随机数st1从程序P发送到锁单元L。接着,锁单元L生成一个识别与与程序P通信的会议码SID,和识别该通信发生的时钟时间时间标志TM。而且,锁单元L维持连接的许可单元的SID码的激活列表。当前的SID码和附加的AID码因此被加入到该选择的许可单元的激活列表中,在此SID码和时间标志TM被保存,导致当前许可单元的用户数量AA增加一个。
接着,当生成了一对标记码MAC1和MAC2时,锁单元L通过标记程序方法核实该通讯和锁单元的真实性。因此,第一标记码MAC1由锁单元基于至少一个以下参数生成:接收到的随机数st1,会话码SID,许可单元的AID码,当前用户数量AA,生成的时间标志TM,和锁单元的LID,DLID和PLID的识别码。在实际操作中,MAC1码可能在与锁单元L连接且分开的识别单元300中产生,如果这样使用的话,或者在锁单元的内部产生。
相应地,第二标记码MAC2也由许可单元基于至少一个以下参数生成:随机数st1,会话码SID,时间标志TM,用户数量AA,和锁单元本身的AID,DAID的识别码。MAC1和MAC2码可以通过预定的运算法则的方法生成,其中包括一个或多个以上的参数。虽然少量的参数对于特定的应用也是足够的,最佳为实用上面的所有参数,来保证最好的安全性。因此,以下应用在较佳的情况:
MAC1=(st1,SID,AID,AA,TM,LID,DLID,PLID)
MAC2=(st1,SID,TM,AA,AID,DAID)
再次参照图4,两个标记码MAC1,MAC2,SID码,时间标志TM,当前用户数量AA,都在接下来的步骤406中发送至程序P。当接收到该信息时,程序P以和在许可单元与识别单元中相同的方式,在本地形成相应的标记码MAC1 *和MAC2 *。这些都是可能的,因为SID,TM和AA已经以简单的语言的形式接收,AID,LID和PLID已经存储在程序中,且DAID和DLID可以分别从AID和LID得出。而且还包括由程序产生的随机数st1,从而使得该标记码对于该通信是唯一的。
由程序P本地生成的标记码MAC1 *和MAC2 *分别与接收到的标记码MAC1和MAC2相比较,如果它们彼此不一致,则程序将自动终止。另一方面,如果本地形成的标记码与接收到的标记码一致,程序P可以开始并使用。此外,当前标记的且确实可信的当前用户数量AA与由AID码识别的协议允许的最大用户数量相比较。该用户数量AA也包括新加入的用户,进一步的结果是如果AA大于AAmax程序将终止。否则,程序P可以在工作站中开始使用。
锁单元L进一步注册开始使用程序的时间,正如前面的实施例提到的,例如,通过使用时间标志TM,这样可以检查和限制相应用户位置被占用的时间。
同样在这个实施例中,程序可以常常在许可单元更新被占用的用户位置,从而更新锁单元L的连续使用。因此,在特定的时间间隔T后,程序P在步骤408中向锁单元L发送更新的消息,该信息包含分配的会话码SID和一个新生成的随机数st2。通过使用接收到SID码的方法,锁单元L可以使用程序P、当前的AID码和最近存储的时间标志TM识别工作站,来确定是否允许继续使用。
其后,锁单元L生成一新的时间标志TM′,该时间标志对应于当前的时间点且被保存在用户列表中,以便先前的时间标志TM被新的时间标志TM′替换。为了标记该通信,并保证使用的许可单元仍然和锁单元L相连,在许可单元L中基于至少一个以下参数,最佳为全部参数生成第三标记码MAC3:接收到的随机数st2,SID码,先前的时间标志TM,新的时间标志TM′,当前许可单元的AID码和DAID码。因此,以下适用较佳的情况:
MAC3=(st2,SID,TM,TM′,AID,DAID)
然而,如果锁单元L在用户列表中没有找到该会话数SID,或者发现对应于该AID码的许可单元不再处于连接状态,错误消息FM在可选择的步骤410a中发送回程序P。响应该错误消息FM,该程序选择是自动终止还是试图通过重复程序而占用一新的用户位置,如果可以使用该相同的AID,则该程序从步骤404开始,如果需要一新的AID,则该程序从步骤400开始。否则,标记码MAC3和时间标志TM′在可选择的步骤410b中发送回程序P,从而能维持工作站的激活。此外,程序P可以相应地产生一相应的标记码MAC3 *,并以与MAC1和MAC2相同的方式将其与收到的标记码MAC3相比较,来决定程序P是继续激活还是自动终止。然而,在较简单的实施例中,锁单元L在步骤410b中发送消息来表明继续使用也是足够了的。
在本实施例中,如果在步骤408中发送更新的消息之后的特定时间周期内,程序P没有接受到来自锁单元L的回复,其可以自动终止。
以特定的时间间隔重复步骤408和410来保证程序P持续的使用。为了进一步提高安全性,每当程序发出一更新请求时,锁单元L产生一新的SID码,且该新的SID码在步骤410b中发送至程序P,图中未显示。而且,包括新的SID码和先前的SID码作为由许可单元L生成的第三标记码MAC3的参数。
通过提高控制和安全性的方法、将管理和监督中央化、空闲的并行端口、简单的许可升级和许可数升级,本发明对受保护的软件的用户是有利的。对于软件制造商来说显著的优点是潜在的高许可费,这是因为同时使用的用户数目不能超过消费者付费了的在许可协议中规定的数目。此外,所需的装置相对来说成本低且操作简单。
显然,以上描述的实施例的各种改进和合并都可能在本发明所覆盖的范围,并不限于此。例如。图2和图4中所示的步骤可以根据所需要/适合的安全级别加以变化。对于上文提到的随机数的定义可以改变使之具有一个或更多可选择的特性,例如使用数字和/或字母。

Claims (20)

1.一种限制同时使用受许可协议保护的软件的用户数量的方法,其中该软件可以被与网络连接的多个工作站激活,其特征在于下述步骤:
A)当该软件被一个工作站激活时,该软件向与网络连接的锁单元发送一开始请求,其中至少一个与该受保护的软件相关的物理许可单元连接至锁单元,且其具有限定数量的用户位置;
B)查询任何与锁单元连接且与该软件相对应的许可单元是否有空闲的用户位置;
C)如果在步骤B)中找到一个空闲的用户位置,在所述工作站中开始使用该软件;
D)如果在步骤B)中没有找到任何空闲的用户位置,终止该软件。
2.如权利要求1所述的方法,其特征在于步骤B)包括下述子步骤:
E)在与锁单元连接的每个许可单元上读取唯一的识别码;
F)识别至少一个与该软件相对应的许可单元;
G)查询在步骤F)中识别的任何许可单元是否有一个空闲的用户位置。
3.如权利要求2所述的方法,其特征在于:步骤E)中读取的识别码的列表从锁单元发送至所述软件,生成的新的列表并被发送至锁单元,其包括在步骤F)中被识别的许可单元的识别码,且该列表与每个识别的许可单元的最大允许用户数一起发送至锁单元,该锁单元将每个这样的最大数与相应的许可单元中当前被占用的用户位置的数目相比较。
4.如权利要求3所述的方法,其特征在于:锁单元维持关于与其连接的许可单元和关于在每个许可单元中当前被占用的相应用户位置数目的信息。
5.如权利要求1到4任何一个所述的方法,其特征在于:该软件生成一个将发送至锁单元的随机数或类似物,其中锁单元将这个随机数发送回软件以表示在步骤B)中找到了空闲的用户位置,以便软件可以在步骤C)中开始使用。
6.如权利要求5所述的方法,其特征在于:从锁单元向软件发送一公共密钥,随机数由软件生成的会话密钥加密,会话密钥被公共密钥加密,所述的随机数和所述的会话密钥作为加密的消息从软件发送至锁单元,以便锁单元可以利用与所述的公共密钥相应的私人密钥对会话密钥进行解密,然后,利用该会话密钥对该随机数进行解密。
7.如权利要求1到6任何一个所述的方法,其特征在于:如果在步骤B)中没有找到空闲的用户位置,那么锁单元向软件发送错误的随机数以表示该事实,以便在步骤D)中终止该软件。
8.如权利要求1到7任何一个所述的方法,其特征在于:在步骤C)中锁单元注册该软件的开始时间,从而可以检查和限制相应的用户位置被占据的时间。
9.如权利要求8所述的方法,其特征在于:锁单元为该工作站分配一个临时的识别码,其和开始使用的当前时间一起存储在锁单元中,为了保存关于哪个工作站被激活以及在许可单元占用了一个用户位置的记录,其中锁单元同样将该工作站的临时识别码发送至所述的软件。
10.如权利要求9所述的方法,其特征在于:所述的软件在预定的时间间隔T后,通过向锁单元发送包括其所分配的临时识别码的更新信息,相应地定期更新被占用的用户位置。
11.如权利要求1到10任何一个所述的方法,其特征在于:选择一个与所述的软件相关的至少具有一个空闲用户位置的许可单元,在所述的软件已知的至少一个参数的基础上,生成至少一个识别码MAC,且其被从所述的锁单元发送至所述的软件,所述的软件在本地生成一个相应的标记码,且其与接收到的标记码相比较,如果接收到的标记码与本地生成的标记码相一致,则开始该软件,如果接收到的标记码与本地的标记码不一致,则终止该软件。
12.如权利要求11所述的方法,其特征在于:所述的许可单元是所述的软件从列表1′1中选出的,列表1′1由所述的锁单元L生成并发送,该列表1′1包括与所述的锁单元相连的所有许可单元的唯一识别码,以及关于当前多少用户被激活且从而占用许可单元中的用户位置的每个许可单元的信息。
13.如权利要求11或12所述的方法,其特征在于:所述的标记码MAC与会议密匙SID、产生的时间标志TM和激活用户的当前数量AA一起被发送到所述的软件,所述会议密匙SID被分配给与软件的通信,所述生成的时间标志TM表示当与软件发生通信时的时钟。
14.如权利要求13所述的方法,其特征在于所述的标记码MAC基于至少以下的一个参数生成:选择的许可单元的可读识别码AID,所述的许可单元隐藏的识别码DAID,所述锁单元的可读的识别码LID,所述的锁单元隐藏的识别码DLID,所述的锁单元的功能的功能码PLID,由所述的软件生成并发送的随机数st1,会议密匙SID,所述的时间标志TM和当前用户数量AA。
15.如权利要求14所述的方法,其特征在于:AID码和DAID码之间的关系是在软件中预先确定的,以便DAID码可以由AID码得出,LID码和DLID码之间的关系是在软件中预先确定的,以便DLID码可以由LID码得出。
16.如权利要求14或15所述的方法,其特征在于:所述的标记码MAC包括第一标记码MAC1和第二标记码MAC2,其中MAC1基于至少一个以下参数:st1,SID,AID,AA,TM,LID,DLID和PLID,MAC2基于至少一个以下参数:st1,SID,TM,AA,AID和DAID。
17.如权利要求16所述的方法,其特征在于:所述的软件在一个预定的时间间隔T后,通过向锁单元发送更新消息,相应地常常地更新被占用的用户位置,所述的消息包括其被指定的会议码SID和新产生的随机数st2,这样锁单元能够识别使用所述软件的工作站,使用的许可单元和最近保存的时间标志TM,并确定是否允许继续使用。
18.如权利要求17所述的方法,其特征在于:对应于当前的时间点生成一个新的时间标志TM′,并且生成的第三标记码MAC3,且从锁单元被发送至所述的软件,其中识别码MAC3基于至少一个以下参数:st2,SID,TM,TM′,AID和DAID。
19.一种用于限制同时使用被一许可协议保护的软件的用户数量的配置,其中该软件可以被网络连接的多个工作站激活,其特征在于:
一个与网络连接的锁单元,任意数量的物理许可单元可以连接至该锁单元,其中每个许可单元都具有限定数量的用户位置并被提供唯一的识别码,且与至少一个许可协议相关;
一个软件,当其被工作站激活时,相应地向所述锁单元发送开始请求;
用于查询连接至锁单元且对应于该软件的任一许可单元是否具有空闲用户位置的装置;
当具有空闲的用户位置时,在所述工作站开始使用该软件的装置;
当没有空闲的用户位置时,在工作站终止使用该软件的装置。
20.如权利要求19所述的配置,其特征在于:所述锁单元相应地维持关于连接的许可单元的信息和关于在每个许可单元中被占用的相应用户位置数目的信息。
CNA03803882XA 2002-02-19 2003-02-19 保护软件的方法和配置 Pending CN1633632A (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
SE02004844 2002-02-19
SE0200484A SE524778C2 (sv) 2002-02-19 2002-02-19 Förfarande och arrangemang för att skydda mjukvara för otillbörlig användning eller kopiering

Publications (1)

Publication Number Publication Date
CN1633632A true CN1633632A (zh) 2005-06-29

Family

ID=20287008

Family Applications (1)

Application Number Title Priority Date Filing Date
CNA03803882XA Pending CN1633632A (zh) 2002-02-19 2003-02-19 保护软件的方法和配置

Country Status (11)

Country Link
US (1) US20050160049A1 (zh)
EP (1) EP1485769B1 (zh)
JP (1) JP2005518041A (zh)
KR (1) KR20040096583A (zh)
CN (1) CN1633632A (zh)
AT (1) ATE306689T1 (zh)
AU (1) AU2003206561A1 (zh)
CA (1) CA2476465A1 (zh)
DE (1) DE60301872D1 (zh)
SE (1) SE524778C2 (zh)
WO (1) WO2003071404A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107683581A (zh) * 2015-06-09 2018-02-09 株式会社电装 软件防复制系统

Families Citing this family (107)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2862149A1 (fr) * 2003-11-06 2005-05-13 France Telecom Procede de controle automatique des fraudes dans un systeme de transactions electroniques
US7113765B2 (en) * 2004-01-13 2006-09-26 Qualcomm Inc. System and method for allowing user based application licensing across multiple wireless communications devices
CN102468969A (zh) * 2010-10-29 2012-05-23 北大方正集团有限公司 一种客户端注册数量的控制方法及系统
DE102013108713B8 (de) * 2013-08-12 2016-10-13 WebID Solutions GmbH Verfahren zum Verifizieren der ldentität eines Nutzers
RU2587422C2 (ru) 2013-12-27 2016-06-20 Закрытое акционерное общество "Лаборатория Касперского" Способ и система автоматического управления лицензиями
US11574621B1 (en) * 2014-12-23 2023-02-07 Amazon Technologies, Inc. Stateless third party interactions
WO2017015289A1 (en) * 2015-07-20 2017-01-26 Google Inc. Systems, methods, and media for media session concurrency management with recurring license renewals
US10546444B2 (en) 2018-06-21 2020-01-28 Capital One Services, Llc Systems and methods for secure read-only authentication
US10579998B1 (en) 2018-10-02 2020-03-03 Capital One Services, Llc Systems and methods for cryptographic authentication of contactless cards
US10860814B2 (en) 2018-10-02 2020-12-08 Capital One Services, Llc Systems and methods for cryptographic authentication of contactless cards
CA3115084A1 (en) 2018-10-02 2020-04-09 Capital One Services, Llc Systems and methods for cryptographic authentication of contactless cards
US10771254B2 (en) 2018-10-02 2020-09-08 Capital One Services, Llc Systems and methods for email-based card activation
US10565587B1 (en) 2018-10-02 2020-02-18 Capital One Services, Llc Systems and methods for cryptographic authentication of contactless cards
US10949520B2 (en) 2018-10-02 2021-03-16 Capital One Services, Llc Systems and methods for cross coupling risk analytics and one-time-passcodes
WO2020072474A1 (en) 2018-10-02 2020-04-09 Capital One Services, Llc Systems and methods for cryptographic authentication of contactless cards
US11210664B2 (en) 2018-10-02 2021-12-28 Capital One Services, Llc Systems and methods for amplifying the strength of cryptographic algorithms
US10733645B2 (en) 2018-10-02 2020-08-04 Capital One Services, Llc Systems and methods for establishing identity for order pick up
US10607214B1 (en) 2018-10-02 2020-03-31 Capital One Services, Llc Systems and methods for cryptographic authentication of contactless cards
AU2019351911A1 (en) 2018-10-02 2021-02-25 Capital One Services, Llc Systems and methods for cryptographic authentication of contactless cards
KR20210068391A (ko) 2018-10-02 2021-06-09 캐피탈 원 서비시즈, 엘엘씨 비접촉식 카드의 암호화 인증을 위한 시스템 및 방법
US10592710B1 (en) 2018-10-02 2020-03-17 Capital One Services, Llc Systems and methods for cryptographic authentication of contactless cards
US10489781B1 (en) 2018-10-02 2019-11-26 Capital One Services, Llc Systems and methods for cryptographic authentication of contactless cards
US10909527B2 (en) 2018-10-02 2021-02-02 Capital One Services, Llc Systems and methods for performing a reissue of a contactless card
WO2020072670A1 (en) 2018-10-02 2020-04-09 Capital One Services, Llc Systems and methods for cryptographic authentication of contactless cards
US10554411B1 (en) 2018-10-02 2020-02-04 Capital One Services, Llc Systems and methods for cryptographic authentication of contactless cards
WO2020072694A1 (en) 2018-10-02 2020-04-09 Capital One Services, Llc Systems and methods for cryptographic authentication of contactless cards
WO2020072626A1 (en) 2018-10-02 2020-04-09 Capital One Services, Llc Systems and methods for cryptographic authentication of contactless cards
US10505738B1 (en) 2018-10-02 2019-12-10 Capital One Services, Llc Systems and methods for cryptographic authentication of contactless cards
US10582386B1 (en) 2018-10-02 2020-03-03 Capital One Services, Llc Systems and methods for cryptographic authentication of contactless cards
US10542036B1 (en) 2018-10-02 2020-01-21 Capital One Services, Llc Systems and methods for signaling an attack on contactless cards
WO2020072552A1 (en) 2018-10-02 2020-04-09 Capital One Services, Llc Systems and methods for cryptographic authentication of contactless cards
US10771253B2 (en) 2018-10-02 2020-09-08 Capital One Services, Llc Systems and methods for cryptographic authentication of contactless cards
JP2022511281A (ja) 2018-10-02 2022-01-31 キャピタル・ワン・サービシーズ・リミテッド・ライアビリティ・カンパニー 非接触カードの暗号化認証のためのシステムおよび方法
US10581611B1 (en) 2018-10-02 2020-03-03 Capital One Services, Llc Systems and methods for cryptographic authentication of contactless cards
WO2020072537A1 (en) 2018-10-02 2020-04-09 Capital One Services, Llc Systems and methods for cryptographic authentication of contactless cards
US10686603B2 (en) 2018-10-02 2020-06-16 Capital One Services, Llc Systems and methods for cryptographic authentication of contactless cards
US10511443B1 (en) 2018-10-02 2019-12-17 Capital One Services, Llc Systems and methods for cryptographic authentication of contactless cards
KR20210068028A (ko) 2018-10-02 2021-06-08 캐피탈 원 서비시즈, 엘엘씨 비접촉식 카드의 암호화 인증을 위한 시스템 및 방법
US11361302B2 (en) 2019-01-11 2022-06-14 Capital One Services, Llc Systems and methods for touch screen interface interaction using a card overlay
US11037136B2 (en) 2019-01-24 2021-06-15 Capital One Services, Llc Tap to autofill card data
US11120453B2 (en) 2019-02-01 2021-09-14 Capital One Services, Llc Tap card to securely generate card data to copy to clipboard
US10510074B1 (en) 2019-02-01 2019-12-17 Capital One Services, Llc One-tap payment using a contactless card
US11082229B2 (en) 2019-03-18 2021-08-03 Capital One Services, Llc System and method for pre-authentication of customer support calls
US10984416B2 (en) 2019-03-20 2021-04-20 Capital One Services, Llc NFC mobile currency transfer
US10643420B1 (en) 2019-03-20 2020-05-05 Capital One Services, Llc Contextual tapping engine
US10535062B1 (en) 2019-03-20 2020-01-14 Capital One Services, Llc Using a contactless card to securely share personal data stored in a blockchain
US10970712B2 (en) 2019-03-21 2021-04-06 Capital One Services, Llc Delegated administration of permissions using a contactless card
US11521262B2 (en) 2019-05-28 2022-12-06 Capital One Services, Llc NFC enhanced augmented reality information overlays
US10516447B1 (en) 2019-06-17 2019-12-24 Capital One Services, Llc Dynamic power levels in NFC card communications
US11694187B2 (en) 2019-07-03 2023-07-04 Capital One Services, Llc Constraining transactional capabilities for contactless cards
US10871958B1 (en) 2019-07-03 2020-12-22 Capital One Services, Llc Techniques to perform applet programming
US11392933B2 (en) 2019-07-03 2022-07-19 Capital One Services, Llc Systems and methods for providing online and hybridcard interactions
US12086852B2 (en) 2019-07-08 2024-09-10 Capital One Services, Llc Authenticating voice transactions with payment card
US10713649B1 (en) 2019-07-09 2020-07-14 Capital One Services, Llc System and method enabling mobile near-field communication to update display on a payment card
US10885514B1 (en) 2019-07-15 2021-01-05 Capital One Services, Llc System and method for using image data to trigger contactless card transactions
US10733601B1 (en) 2019-07-17 2020-08-04 Capital One Services, Llc Body area network facilitated authentication or payment authorization
US11182771B2 (en) 2019-07-17 2021-11-23 Capital One Services, Llc System for value loading onto in-vehicle device
US10832271B1 (en) 2019-07-17 2020-11-10 Capital One Services, Llc Verified reviews using a contactless card
US11521213B2 (en) 2019-07-18 2022-12-06 Capital One Services, Llc Continuous authentication for digital services based on contactless card positioning
US10506426B1 (en) 2019-07-19 2019-12-10 Capital One Services, Llc Techniques for call authentication
US10541995B1 (en) 2019-07-23 2020-01-21 Capital One Services, Llc First factor contactless card authentication system and method
KR20220071211A (ko) 2019-10-02 2022-05-31 캐피탈 원 서비시즈, 엘엘씨 비접촉식 레거시 자기 스트라이프 데이터를 사용한 클라이언트 디바이스 인증
US10733283B1 (en) 2019-12-23 2020-08-04 Capital One Services, Llc Secure password generation and management using NFC and contactless smart cards
US10885410B1 (en) 2019-12-23 2021-01-05 Capital One Services, Llc Generating barcodes utilizing cryptographic techniques
US10862540B1 (en) 2019-12-23 2020-12-08 Capital One Services, Llc Method for mapping NFC field strength and location on mobile devices
US11651361B2 (en) 2019-12-23 2023-05-16 Capital One Services, Llc Secure authentication based on passport data stored in a contactless card
US10657754B1 (en) 2019-12-23 2020-05-19 Capital One Services, Llc Contactless card and personal identification system
US11113685B2 (en) 2019-12-23 2021-09-07 Capital One Services, Llc Card issuing with restricted virtual numbers
US11615395B2 (en) 2019-12-23 2023-03-28 Capital One Services, Llc Authentication for third party digital wallet provisioning
US10664941B1 (en) 2019-12-24 2020-05-26 Capital One Services, Llc Steganographic image encoding of biometric template information on a card
US11200563B2 (en) 2019-12-24 2021-12-14 Capital One Services, Llc Account registration using a contactless card
US10853795B1 (en) 2019-12-24 2020-12-01 Capital One Services, Llc Secure authentication based on identity data stored in a contactless card
US10909544B1 (en) 2019-12-26 2021-02-02 Capital One Services, Llc Accessing and utilizing multiple loyalty point accounts
US10757574B1 (en) 2019-12-26 2020-08-25 Capital One Services, Llc Multi-factor authentication providing a credential via a contactless card for secure messaging
US11038688B1 (en) 2019-12-30 2021-06-15 Capital One Services, Llc Techniques to control applets for contactless cards
US11455620B2 (en) 2019-12-31 2022-09-27 Capital One Services, Llc Tapping a contactless card to a computing device to provision a virtual number
US10860914B1 (en) 2019-12-31 2020-12-08 Capital One Services, Llc Contactless card and method of assembly
US11210656B2 (en) 2020-04-13 2021-12-28 Capital One Services, Llc Determining specific terms for contactless card activation
US11030339B1 (en) 2020-04-30 2021-06-08 Capital One Services, Llc Systems and methods for data access control of personal user data using a short-range transceiver
US10861006B1 (en) 2020-04-30 2020-12-08 Capital One Services, Llc Systems and methods for data access control using a short-range transceiver
US11222342B2 (en) 2020-04-30 2022-01-11 Capital One Services, Llc Accurate images in graphical user interfaces to enable data transfer
US11823175B2 (en) 2020-04-30 2023-11-21 Capital One Services, Llc Intelligent card unlock
US10915888B1 (en) 2020-04-30 2021-02-09 Capital One Services, Llc Contactless card with multiple rotating security keys
US10963865B1 (en) 2020-05-12 2021-03-30 Capital One Services, Llc Augmented reality card activation experience
US11063979B1 (en) 2020-05-18 2021-07-13 Capital One Services, Llc Enabling communications between applications in a mobile operating system
US11100511B1 (en) 2020-05-18 2021-08-24 Capital One Services, Llc Application-based point of sale system in mobile operating systems
US11062098B1 (en) 2020-08-11 2021-07-13 Capital One Services, Llc Augmented reality information display and interaction via NFC based authentication
US11165586B1 (en) 2020-10-30 2021-11-02 Capital One Services, Llc Call center web-based authentication using a contactless card
US11482312B2 (en) 2020-10-30 2022-10-25 Capital One Services, Llc Secure verification of medical status using a contactless card
US11373169B2 (en) 2020-11-03 2022-06-28 Capital One Services, Llc Web-based activation of contactless cards
US11216799B1 (en) 2021-01-04 2022-01-04 Capital One Services, Llc Secure generation of one-time passcodes using a contactless card
US11682012B2 (en) 2021-01-27 2023-06-20 Capital One Services, Llc Contactless delivery systems and methods
US11792001B2 (en) 2021-01-28 2023-10-17 Capital One Services, Llc Systems and methods for secure reprovisioning
US11687930B2 (en) 2021-01-28 2023-06-27 Capital One Services, Llc Systems and methods for authentication of access tokens
US11562358B2 (en) 2021-01-28 2023-01-24 Capital One Services, Llc Systems and methods for near field contactless card communication and cryptographic authentication
US11438329B2 (en) 2021-01-29 2022-09-06 Capital One Services, Llc Systems and methods for authenticated peer-to-peer data transfer using resource locators
US11777933B2 (en) 2021-02-03 2023-10-03 Capital One Services, Llc URL-based authentication for payment cards
US11637826B2 (en) 2021-02-24 2023-04-25 Capital One Services, Llc Establishing authentication persistence
US11245438B1 (en) 2021-03-26 2022-02-08 Capital One Services, Llc Network-enabled smart apparatus and systems and methods for activating and provisioning same
US11961089B2 (en) 2021-04-20 2024-04-16 Capital One Services, Llc On-demand applications to extend web services
US11935035B2 (en) 2021-04-20 2024-03-19 Capital One Services, Llc Techniques to utilize resource locators by a contactless card to perform a sequence of operations
US11902442B2 (en) 2021-04-22 2024-02-13 Capital One Services, Llc Secure management of accounts on display devices using a contactless card
US11354555B1 (en) 2021-05-04 2022-06-07 Capital One Services, Llc Methods, mediums, and systems for applying a display to a transaction card
US12041172B2 (en) 2021-06-25 2024-07-16 Capital One Services, Llc Cryptographic authentication to control access to storage devices
US12061682B2 (en) 2021-07-19 2024-08-13 Capital One Services, Llc System and method to perform digital authentication using multiple channels of communication
US12062258B2 (en) 2021-09-16 2024-08-13 Capital One Services, Llc Use of a payment card to unlock a lock
US12069173B2 (en) 2021-12-15 2024-08-20 Capital One Services, Llc Key recovery based on contactless card authentication

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5023907A (en) * 1988-09-30 1991-06-11 Apollo Computer, Inc. Network license server
WO1993011480A1 (en) * 1991-11-27 1993-06-10 Intergraph Corporation System and method for network license administration
US5343526A (en) * 1992-10-30 1994-08-30 At&T Bell Laboratories Method for establishing licensor changeable limits on software usage
US5905860A (en) * 1996-03-15 1999-05-18 Novell, Inc. Fault tolerant electronic licensing system
US6029145A (en) * 1997-01-06 2000-02-22 Isogon Corporation Software license verification process and apparatus
US6021438A (en) * 1997-06-18 2000-02-01 Wyatt River Software, Inc. License management system using daemons and aliasing
WO1999004354A1 (en) * 1997-07-15 1999-01-28 Shinko Electric Industries Co., Ltd. A license management system
GB2343025A (en) * 1998-10-23 2000-04-26 Ibm License management system
US6343280B2 (en) * 1998-12-15 2002-01-29 Jonathan Clark Distributed execution software license server
GB2346989A (en) * 1999-02-19 2000-08-23 Ibm Software licence management system uses clustered licence servers
WO2000054127A1 (en) * 1999-03-08 2000-09-14 Spyrus, Inc. Method and system for enforcing access to a computing resource using a licensing certificate
US6453305B1 (en) * 1999-05-21 2002-09-17 Compaq Computer Corporation Method and system for enforcing licenses on an open network
US6842896B1 (en) * 1999-09-03 2005-01-11 Rainbow Technologies, Inc. System and method for selecting a server in a multiple server license management system
US6810389B1 (en) * 2000-11-08 2004-10-26 Synopsys, Inc. System and method for flexible packaging of software application licenses

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107683581A (zh) * 2015-06-09 2018-02-09 株式会社电装 软件防复制系统

Also Published As

Publication number Publication date
KR20040096583A (ko) 2004-11-16
JP2005518041A (ja) 2005-06-16
EP1485769A1 (en) 2004-12-15
DE60301872D1 (de) 2005-11-17
WO2003071404A1 (en) 2003-08-28
EP1485769B1 (en) 2005-10-12
ATE306689T1 (de) 2005-10-15
AU2003206561A1 (en) 2003-09-09
SE0200484D0 (sv) 2002-02-19
CA2476465A1 (en) 2003-08-28
US20050160049A1 (en) 2005-07-21
SE524778C2 (sv) 2004-10-05
SE0200484L (sv) 2003-08-20

Similar Documents

Publication Publication Date Title
CN1633632A (zh) 保护软件的方法和配置
CN108809659B (zh) 动态口令的生成、验证方法及系统、动态口令系统
US6233567B1 (en) Method and apparatus for software licensing electronically distributed programs
EP0881559B1 (en) Computer system for protecting software and a method for protecting software
US7899187B2 (en) Domain-based digital-rights management system with easy and secure device enrollment
US10992480B2 (en) Method and system for performing a transaction and for performing a verification of legitimate access to, or use of digital data
CN109895734B (zh) 被授权的蓝牙钥匙激活方法及系统、存储介质及t-box
CN111625829A (zh) 基于可信执行环境的应用激活方法及装置
CN1582422A (zh) 防止未被授权使用软件的方法
CN107211004A (zh) 防盗恢复工具
US20030221107A1 (en) Method and apparatus for generating serial number
CN1960363A (zh) 一种利用网络实现信息安全设备远程更新的方法及装置
CN114186199B (zh) 许可授权方法及装置
CN115348076B (zh) 一种基于属性加密的设备安全认证方法、系统及其相关装置
CN112528236B (zh) 基于虚拟机的应用软件授权方法
US20090119505A1 (en) Transaction method and verification method
US6651169B1 (en) Protection of software using a challenge-response protocol embedded in the software
US20070271456A1 (en) Method and System for Performing a Transaction and for Performing a Verification of Legitimate Access to, or Use of Digital Data
CN1321950A (zh) 内容发送方机器、内容接收方机器、认证方法及认证系统
US20050246285A1 (en) Software licensing using mobile agents
CN114036490B (zh) 外挂软件接口调用安全认证方法、USBKey驱动装置及认证系统
CN112383399A (zh) 自适应匹配身份平台的密钥处理方法、系统、设备及介质
CN115987636B (zh) 一种信息安全的实现方法、装置及存储介质
WO2018002621A1 (en) Authentication method & apparatus
JPH07141480A (ja) Icカードのパスワード漏洩防止装置

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
AD01 Patent right deemed abandoned
C20 Patent right or utility model deemed to be abandoned or is abandoned