CN1254723C - 授权使用被保护信息的便携式授权装置以及相关的方法 - Google Patents

授权使用被保护信息的便携式授权装置以及相关的方法 Download PDF

Info

Publication number
CN1254723C
CN1254723C CNB008168016A CN00816801A CN1254723C CN 1254723 C CN1254723 C CN 1254723C CN B008168016 A CNB008168016 A CN B008168016A CN 00816801 A CN00816801 A CN 00816801A CN 1254723 C CN1254723 C CN 1254723C
Authority
CN
China
Prior art keywords
selector switch
authorization device
key
computer system
multinomial
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 - Lifetime
Application number
CNB008168016A
Other languages
English (en)
Other versions
CN1408082A (zh
Inventor
P·A·克龙斯
J·M·丰塔纳
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.)
Pace Anti Piracy Inc
Original Assignee
Pace Anti Piracy Inc
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
Priority claimed from US09/503,778 external-priority patent/US7032240B1/en
Application filed by Pace Anti Piracy Inc filed Critical Pace Anti Piracy Inc
Publication of CN1408082A publication Critical patent/CN1408082A/zh
Application granted granted Critical
Publication of CN1254723C publication Critical patent/CN1254723C/zh
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6209Protecting access to data via a platform, e.g. using keys or access control rules to a single file or object, e.g. in a secure envelope, encrypted and accessed using a key, or with access control rules appended to the object itself
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0838Key agreement, i.e. key establishment technique in which a shared key is derived by parties as a function of information contributed by, or associated with, each of these
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/14Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using a plurality of keys or algorithms
    • H04L9/16Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using a plurality of keys or algorithms the keys or algorithms being changed during operation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3271Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using challenge-response
    • 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/2103Challenge-response
    • 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/2153Using hardware token as a secondary aspect
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/56Financial cryptography, e.g. electronic payment or e-cash
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/60Digital content management, e.g. content distribution

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • General Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • Storage Device Security (AREA)

Abstract

一种授权系统(100)及相应的方法,用于有选择地授权主机系统(110)去使用一个或多个与该主机系统(110)相关联的被保护信息项目(115)。上述授权系统(100)包括一便携式授权装置(140),其可远距与主机系统(110)相连。该便携式授权装置(140)可接收和储存一条和多条授权信息(171),该授权信息关联于来自一个或多个信息授权部件(160、180、185)的许多被保护信息115的项目。最好该便携式授权装置(140)能与多种类型的信息授权部件(160、180、185)进行通信。便携式授权装置(140)基于其储存的相应授权信息(171),有选择地授权主机系统(110)去使用一个或多个相关的被保护信息项目(115)。

Description

授权使用被保护信息的便携式授权装置以及相关的方法
相关申请交叉引用
本申请权利要求的优先权是申请日为1999.12.7,申请号为60/169506的申请,以及申请日为2000.2.14,申请号为09/503778的实用新型申请。
发明背景
1. 发明领域
本发明涉及一种授权使用被保护信息的技术,更进一步地说,涉及一种授权主机系统使用被保护信息的便携式授权装置(也就是通常所说的“道尔芯片”)。
2. 相关技术描述
通常使用一种软件“包装”(wrapper)的方法来选择性地授权使用被保护的信息,上述被保护的信息与比如是个人计算机或是服务器这样的主机系统相连。被保护信息可以是,比如被主机系统运行的软件程序,被主机系统使用的数据。只有在符合预先设定的条件的情况下,软件包装才允许终端用户存取或是执行被保护的程序或数据。这些预先设定的条件可以是,例如,使终端用户评估被保护程序或是数据所需的一段试验期间,或是由终端用户提供的正确的授权信息。这些授权信息可以是,比如,由终端用户手工输入的口令,或是使用计数法编码的数据。有关软件包装的论述可见,例如The Seybold Report onInternet Publishing,1997年12月第4期第2卷,第3页。
现有技术中,还有几种给主机系统传送授权信息,以使其有权使用被保护信息的方法。这些方法其中之一是,将授权信息储存在便携式授权装置中,也就是通常所说的“道尔芯片”。例如在美国专利US4562306中,将道尔芯片描述成小型、容易移动的电子装置。道尔芯片一般是由软件供应商连同他们将要授权的有包装的软件程序(wrapped software program)一起提供。
为了能使软件程序在某一计算机上运行,只需终端用户将道尔芯片连接在计算机的通信端口上,比如平行端口或是通用串行总线架构(USB)端口。因此,在一定期间内,终端用户仅仅将道尔芯片连接在他想要运行程序的计算机上,就能给数量很多的不同的计算机授权。
然而,现有道尔芯片的一个缺点是;它们一般只存储一个软件程序或是一个供应商的一组软件程序的授权信息。而且,在一定期间内,终端用户一般要使用多个供应商的几种软件程序,他或她可能要不得不携带好几个道尔芯片,导致笨重和不便。
另外一个缺点是:存储在道尔芯片中的授权信息一般由供应商在制造过程中设定,一般不能在后继程序中更新。这将导致:当软件供应商提供给终端用户被保护软件程序的更新软件、外接附件、即插即用附加等等时,软件供应商还需要提供一个新的道尔芯片以授权相关软件。对于软件供应商来说,由于道尔芯片本身的花费比相关软件的价值还要大得多,因此,成本不经济。
现有技术中另外一种方法是:授权信息存储在磁性软盘中,也就是通常所说的“钥匙盘”。钥匙盘可以作为一种安全、可靠的传送以及接受信息的信息授权部件。软件供应商一般将钥匙盘与有包装的软件程序一起提供。为了授权软件程序在特定的计算机上运行,终端用户要将钥匙盘插入计算机内,以传送授权信息,通常是将密码从钥匙盘传送到驱动计算机的硬盘驱动器上。在计算机运行程序之前,软件包装辨别硬盘驱动提供的密码,如果正确,则允许计算机运行程序。这种方法使用在反盗版内置锁产品中,由本发明的申请人开发出来的。
这种方法与道尔芯片相比的优点是:由很多不同供应商提供的很多各式各样不同种类的软件程序的授权信息都可以存储在计算机的硬盘驱动器上。而且,在一台计算机上运行多种程序的终端用户无需在手边保留对每个程序授权的多种钥匙盘。
然而,这种方法有几个缺点。第一,授权信息不容易在计算机之间传递。一般来说,钥匙盘只允许在一定期限内,将授权信息传递给有限数量的计算机。由于授权信息存储在计算机内部硬盘驱动器上,一旦授权信息传送给某一计算机,就不能很容易地从这台计算机再传送到其他计算机上。而且,如果终端用户想要授权一台新计算机运行一个软件程序,但是钥匙盘已经没有授权能力,那么就必须从包含有授权信息的一台计算机中清除授权信息,并将其传送到新的计算机中——这是非常繁琐的操作。因而,与道尔芯片不同的是,这种方法不能使授权信息很容易地在计算机之间传送。这种方法的另外一个缺点是:软盘作为计算机的数据输入装置已经逐渐不再使用,所以在不久的将来,计算机有可能不能读取这种钥匙盘了。
再有一种方法,其描述参见美国专利US5854891,由Postlewaite设计(`891号专利),描述了一种能启动选择功能的安全装置,该启动由与安全装置相连接的计算机执行或是由计算机内部执行。这种安全装置包括一个用来读取智能卡上所包含的数据的智能卡读取器,这也可以认为是一种信息授权部件。这种安全装置还包括一个控制模块,该模块具有由数量很多的分段组成的永久存储器。智能卡读取器可以读出数量很多的智能卡上的授权数据,并放入分段组成的永久存储器中。分段永久存储器的每一段都能很容易地建立基本上是复制相应智能卡的授权能力的虚拟标记。这种安全装置能从计算机上拆卸下来,这样可以被用在多个计算机的授权功能上。
`891号专利所描述的安全装置的一个优点是:由于授权信息由智能卡传递而不是由道尔芯片传递,因此软件商提供对软件更新、附加设备、即插即用型设备的授权信息所需要的花费现对比较少。由于一般智能卡使用较简单的硬件,所以智能卡比一般的道尔芯片要便宜得多。
然而,`891号专利描述的安全装置也有几个缺点。第一,安全装置需要“分段的”存储器以防止智能卡中存储器中的信息相互干扰所可能导致的数据相互掺杂。由于需要该安全装置实施记忆管理或是在硬件和/或软件中实施保护结构,因而导致安全装置的复杂性和费用上升。第二,安全装置显然不能从多种类型的信息授权部件那里接受授权信息。`891号专利提到安全装置可以接受智能卡的启动数据或是授权信息。然而,该专利没有披露或提示该装置可以从其他信息授权部件接受授权信息,比如从软盘或是计算机服务器。因而,可以看出,将安全装置作为申请装置的使用局限在那些支持将智能卡作为数据传送的装置的供应商。
由于上面所描述的方法的缺点,本发明的目的之一是提供一种授权装置,该装置能使被保护信息通过新的授权信息升级,可以与主机装置分离,便于携带并相对便宜。
本发明的目的之二是提供一种便携式授权装置,该装置能够接受并存储多种信息授权部件的授权信息。
本发明的第三个目的是提供一种便携式授权装置,该装置能提供一种高水平的保护,以防止在存储和传送的过程中未经授权存取授权信息。
发明内容
本发明提供一种授权系统以及相关的方法,可以有选择地授权主机系统使用与主机系统相关连的被保护信息中的一项和多项。授权系统包括一个便携式授权装置,能够与主机系统可移动地连接。便携式授权装置能够接受和存储多项授权信息,这些授权信息与从一个或多个信息授权部件得到的数量很多的各项授权信息相关联。优选,便携式授权装置能与多种信息授权部件进行数据传送。
本发明的便携式授权装置根据各个授权信息的存储位置,有选择地对主机系统授权使用被保护信息的一项或多项。
下面通过根据附图对本发明的详细描述,使本发明的这些以及其它特征更容易理解。
附图简要说明
图1是根据本发明的优选实施例的授权系统的示意图,该授权系统有选择地对主机系统授权使用数量很多的被保护信息的项目,该系统包括便携式授权装置,主机系统和多种信息授权部件。
图2是操作如图1所示的授权系统,对主机系统进行授权的流程图。
图3是图1所示便携式授权装置的硬件元件组成示意图。
图4是图3所示的由便携式授权装置执行的功能性元件示意图。
图5是图3所示的便携式授权装置的EEPROM中存储的数据示意图。
图6是图3所示的便携式授权装置的EEPROM中存储的动态用户数据的存储格式示意图。
图7是图1所示物理直接接触信息授权部件的硬件元件组成示意图。
图8是图7所示物理直接接触信息授权部件的EEPROM中存储的数据示意图。
图9是图2所示的显示关键码交换过程的流程图。
图10是图2所示的对主机系统授权过程的流程图。
图11显示了作为举例的对便携式授权装置的EEPROM中存储的动态关键码选择器进行混合的关键码混合算法。
图12是显示根据本发明另外一个好似实力在两个便携式授权装置之间进行关键码交换的示意图。
优选实施例详述
本发明包括一种具有便携式授权装置的授权系统以及相关的有选择地授权主机系统使用数量很多的被保护信息项目的方法。在申请和权利要求内容中,提供下面的描述能使本领域技术人员实施、使用本发明。优选实施例的各种变形对于本领域普通技术人员来说都是显而易见的,这里限定的具有通性的原理可以用在不脱离本发明的精神和范围的其它实施方式和申请中。而且,在下面的描述中,对数量众多的细节的描述是为了解释的目的。然而,本领域普通技术人员会认识到不一定使用这些具体的细节也能实现本发明。在其他情况下,公知的结构和装置也在方块图中显示出来,其目的是使本发明不重要的细节也能描述清楚。这样,本发明的目的不是限制在所描述的实施例中,而是根据这里公开的原理和特征限制一个宽泛的范围。
图1显示根据本发明优选实施例的授权系统100。上述授权系统100包括与主机系统110相连的一个或多个访问控制程序117,便携式授权装置140,一个或多个信息授权部件160、180和185。授权系统100有选择地授权主机系统110使用与主机系统关联的数量很多的被保护信息115的项目,这将在下面描述。
每一个存储控制程序117,也可以被称为“软件包装”,用来控制被保护信息115的每一项的存取。只有在终端用户给访问控制程序提供正确的授权信息时,访问控制程序117才会授权主机系统110使用相关的被保护信息115的项目。与主机系统110相连的访问控制程序117还能用于控制非直接接触信息授权部件180和185与主机系统110之间进行的交流。被保护的信息的每一项和每一个访问控制程序117一般都由软件供应商提供,作为一体化商品安装在主机系统110上。
在本发明提供的一个优选实施例中,被保护信息15的每一项都可以包括一个软件程序或数据。该实施例中的主机系统110可以是个人计算机或是与网络连接的计算机服务器。
授权系统100的便携式授权装置140是相对比较小、而且比较简单的“类似道尔芯片”的装置,它存储一条和多条对主机系统100的授权信息171,从而授权主机系统110使用被保护信息115的相关项目。可移动授权装置140包括一个微处理器或是专用逻辑,用来执行与主机系统110之间的处理过程的保护;一个存储器,用来存储授权信息171。就像普通的道尔芯片一样,便携式授权装置140很容易被移动,并可以用在很多不同的主机系统110。为了在主机系统110上使用便携式授权装置,终端用户只需将该装置连接在主机系统的通信端口上,比如平行端口或是USB端口。与普通道尔芯片不同的是,可移动授权装置140可以存储多种授权信息171,以授权使用各自对应的被保护信息115。
而且,可移动授权装置140可以从信息授权部件160/180/185处得到新的授权信息171从而更新,这在下面将详细描述。此特征带来的优点是:对于供应商来说,授权使用新版本软件的花费相对要少。供应商可以通过提供相对简单、便宜的信息授权部件,而不是道尔芯片,对便携式授权装置进行更新,将新的授权信息提供给给终端用户。
在本发明优选的实施例中,授权信息171存储在便携式授权装置140中,该授权信息171包括一个或多个用来导出密码的动态关键码选择器。在其它实施例中,授权信息171可以由一个或多个密封组成。由于便携式授权装置140用来储存多种动态关键码选择器或是存储授权用的关键码,所以该装置可以被称为“关键码存储器”。
授权系统100可以支持多种类型的信息授权部件。可支持的信息授权部件可以是物理直接接触信息授权部件160,物理非直接接触信息授权部件180以及网络非直接接触信息授权部件185。多种类型的信息授权部件160,180和185中的每一个以不同的方式与便携式授权装置140通信,这将在下文详细描述。该特征带来的优点是:与专利`891所描述的安全装置不同,便携式授权装置140能够接受不同的软件供应商的软件,更新或是授权信息,支持不同类型的信息授权部件,比如磁性介质(比如说,钥匙盘)、与因特网连接的服务器、智能卡,等等。
信息授权部件160,180和185是用来从便携式授权装置140传送信息、接受信息的可靠装置。信息授权部件160,180和185提供各自的授权信息171,以传送给便携式授权装置140,从而授权使用被保护信息115的项目。在显示出的优选实施例中,信息授权部件160,180,185包括信号授权装置,用来给授权装置140传送以及从授权装置140接受信号。软件供应商可以通过信息授权部件160,180和185来给终端用户传送软件、更新、授权信息等等。
在显示出的本发明的优选实施例中,授权信息171通过信息授权部件160,180以及185传送,信息授权部件包括动态关键码选择器,这些选择器自身不能授权使用主机系统110上的被保护信息115,而是用来产生执行授权的密码。然而,在其它实施方式中,授权信息171自身可以包括密码。
除了提供授权信息171外,信息授权部件160,180以及185还可以提供用户数据173以及其它类型的数据,这些数据是要传送给可移动授权装置140的。信息授权部件160,180以及185传送的用户数据可以用来替换或更新储存在可移动授权装置140中的用户数据。另外一种方式,例如,用户数据173可以包括能在便携式授权装置140中进行一般安全性选择的数据。
主机系统110的访问控制程序117可以用来控制信息授权部件160,180以及185,并允许与可移动授权装置140通信。访问控制程序117还可以用来控制将被便携式授权装置存取的信息授权部件的顺序。在将被保护信息115的相关项目传送给用户之前,由软件供应商将访问控制程序117与上述信息配置一起。
物理直接接触信息授权部件160可以是相对较小、简单、便携式装置,该装置存储授权信息171和其它与传送给便携式授权装置140的被保护信息115中的一种或多种有关的数据。直接接触信息授权部件160的“直接接触”体现在它直接地与便携式授权装置140进行通信,而不是通过别的中间装置。通过将物理直接接触信息授权部件160与授权装置放置成相互直接接触,或是放置成在物理上相互靠近,与便携式授权装置140进行接触。物理直接接触信息授权部件160包括一个微信息处理机或是专用逻辑,用来执行与便携式授权装置140进行的安全性处理过程;一个存储器,用来存储授权信息171以及其它数据。
与普通道尔芯片或是智能卡不同的是,不需要物理直接接触信息授权部件160执行或支持授权过程,它仅仅是提供用来执行授权的授权信息。其结果是:物理直接接触信息授权部件160相比道尔芯片或是智能卡,可以具有更多合适的硬件和软件规格,并可以更小,更便宜。作为举例,物理直接接触信息授权部件160包括智能卡以及具有比智能卡更基本处理过程、比智能卡存储容量更大的装置。
物理直接接触信息授权部件160一般由提供被保护信息115项目的供应商连同与被保护信息一起提供给终端用户。由于物理直接接触信息授权部件160能提供使用被保护信息115项目的许可,所以它可以被称为“许可芯片”。
物理非直接接触信息授权部件180和网络非直接接触信息授权部件185通过主机系统110,与便携式授权装置140进行交流的装置,因此被称为“非直接”。主机系统110的访问控制程序117控制非直接接触信息授权部件180和185其中之一在一定期限内与便携式授权装置140进行交流。访问控制程序117还提供非直接接触信息授权部件180和185与主机系统110之间通信的协议。
物理非直接接触信息授权部件180可以是一个物理介质,用来储存授权信息171和其它与被保护信息115一项或多项相关的数据。在本发明中的一个优选实施例中,物理非直接接触信息授权部件180是一种磁性介质,比如上面描述的“钥匙盘”,插入在主机系统110的软盘驱动器113中。与一般的钥匙盘不同的是,物理非直接接触信息授权部件180将授权信息171传送给便携式授权装置140存储起来,而不是传送给主机系统110。由于物理非直接接触信息授权部件180相对简单,因此比道尔芯片要便宜得多。物理非直接接触信息授权部件180一般由提供被保护信息115项目的供应商与被保护信息115一起提供。
网络非直接接触信息授权部件185可以是一个系统,比如计算机服务器,能存储授权信息171和其它与被保护信息115一项或多项相关的数据。与一般的网络规划不同的是,网络非直接接触信息授权部件185将授权信息171传送给授权装置140存储,而不是传送给主机系统110。网络非直接接触信息授权部件185与比如因特网这样的网络187相连,并通过网络187与便携式授权装置140、主机系统110以及主机端口电路145通信。网络非直接接触信息授权部件185由通过被保护信息115项目供应商操作。
在本发明的优选实施例中,授权信息171存储在包括动态密码选择器的信息授权部件160/180/185中。动态关键码选择器自身不能授权使用主机系统110的被保护信息115,而是用来产生执行授权的关键码。由下面详细描述可见,便携式授权装置140使用一个或多个动态关键码选择171产生密码,也就是所产生授权信息175的一项,用来授权使用这一项被保护项目信息115。这样,与上面所描述的`891号专利的安全装置不同的是,该安全装置只是复制所读出的智能卡的授权能力,而便携式授权装置140能在内部产生授权信息。该特征的优点是能防止授权信息175在传送的过程中被中断,因此提高了授权系统100的安全性。
图2显示了本发明优选实施例中,授权系统100有选择地授权主机系统110使用与主机系统相关的被保护信息115的项目,所执行的全过程。授权过程实际包括数量很多的步骤,并将在下面详细描述。授权过程与运行在主机系统110上的与被保护信息115的项目关连的访问控制程序117保持一致。
授权过程包括两个基本步骤。首先,信息授权部件160/180/185将授权信息171传送到便携式授权装置140中,从而储存(步骤210)。这一步骤称为“关键码交换”。通过建立信息授权部件160/180/185与便携式授权装置140的连接,比如通过将直接接触信息授权部件160插入便携式授权装置140的读取器中,终端用户引发关键码交换。第二,便携式授权装置140授权主机系统110使用被保护信息115项目(步骤220)。终端用户通过将便携式授权装置140连接在主机系统110上引发这一步骤。这一过程完成后,用户被允许使用主机系统110中的被保护信息115的项目。该过程的第一和第二步骤不需要连续地执行,而且,可以使用不同的主机系统110完成。
图3至11显示了根据本发明的一个优选实施例,其中,授权信息171包括一个动态关键码选择器和产生的包括密码的授权信息175。由于密码自身不能在信息授权部件160/180/185和便携式授权装置140之间传送,因而该实施例能防止未经授权使用密码。在其它实施例中,授权信息171以及所产生的授权信息175可以是相同的,都包括密码。这些实施例所产生的授权信息175不是由便携式装置140产生的,而是从信息授权部件160/180/185传送过来的。
图3显示出本发明优选实施例的便携式装置140的硬件组件。便携式装置140包括处理单元141,存储介质144,主机系统端口电路145以及直接接触信息授权部件端口电路147。在该实施方式中,处理单元141包括一个具有编程只读存储器(ROM)142和一个程序/数据随机存储器(RAM)143的微处理器。该实施方式的存储介质144包括一个电可擦除只读存储器(EEPROM),它是一个公知的永久记忆的半导体记忆装置。编程ROM142和EEPROM 144存储程序编码和数据,并在便携式授权装置140运行期间,通过处理单元141分别执行和运行。
主机系统端口电路145和直接接触信息端口电路147分别为主机系统110和直接接触信息授权部件160提供电子端口。在本发明的一个优选实施例中,主机系统端口电路145可以由USB连接器以及与主机系统110的USB端口相连的相关电路构成。在该实施例中,直接接触信息端口电路147可以包括一个读卡机以及相关电路。
图4显示本发明优选实施例中,被便携式授权装置140在其运行过程中执行的各种功能性元件。在该实施例中,由处理单元141执行的存储在ROM142中的一组组程序指令,使功能元件运行。在其他实施例中,通过各种硬件与软件结合执行功能元件的运行。图中显示出的箭头表明元件之间的互相依赖关系。便携式授权装置140的功能组件包括:
(1)主机命令处理器280。主机命令处理器280是便携式授权装置140主要的数据处理元件,并管理其它编程ROM元件。主机命令处理器280通过主机系统端口281接收、处理由主机系统110的访问控制程序117发出的命令。主机命令处理器280包括安全性程序,以保证访问控制程序117在控制便携式装置140时不会超越它的权限。
(2)主机系统端口281。主机系统端口281提供便携式授权装置140与直接系统110进行通信的通信协议。主机系统端口281与主机系统110的访问控制程序117结合,也用于与物理和网络非直接接触信息授权部件180和185进行的通信。访问控制程序117处理发生在主机系统110和非直接接触信息授权部件180和185之间的通信部分。信息通过主机系统端口电路145在便携式授权装置140和主机系统110之间传送。在本发明的优选实施例中,使用USB端口,通过使用USB通信协议,主机系统端口281与主机系统110进行通信。
(3)关键码管理器282。关键码管理器282与存储器配合,去除和变更动态关键码选择器(也就是授权信息)171,动态用户数据157以及其它存储介质144中的数据。在便携式授权装置140与信息授权部件160,180,185进行关键码交换的操作过程中,关键码管理器282与存储器配合,去除动态关键码选择器171,这将在下面详细描述。关键码管理器282还在主机系统授权的过程中与动态关键码选择器171的转移相配合。
(4)主机鉴别器283。主机鉴别器283用来辨别(也就是鉴别)物理和网络非直接接触信息授权部件180和185,从而在便携式授权装置140和信息授权部件之间建立安全、可靠的通信。执行鉴别程序,是为了防止便携式授权装置140因疏忽而将秘密信息传送给非授权来源,从而破坏装置的安全性。在便携式授权装置140被允许与物理和网络非直接接触信息授权部件180,185传送像动态关键码选择器171这样的信息之前,执行鉴别过程。如果鉴别成功,并且所执行的操作包括将动态关键码171传送至存储介质144,以及从存储介质144接受动态关键码选择器,那么主机鉴别器283就要唤起关键码管理器282以执行传送。在本发明的一个优选实施例中,主机鉴别器283使用盘问~应答处理程序来执行鉴别,该处理程序在建立装置之间安全的通信领域是公知技术。盘问~应答处理程序使用固定的密码152(见图5)来识别信息授权部件,该关键码被便携式授权装置140和非直接接触信息授权部件180和185共用。在本发明其他实施例中,主机鉴别器283可以使用其它的鉴别方法,比如交换口令。
(5)关键码加密器284。关键码加密器284用来给动态关键码选择器(也就是授权信息)171、动态用户数据157、其它存储在存储介质144中的相关数据加密以及解密。关键码加密器284使用该领域的一般加密算法,如分组密码法、序列密码法或是公共密码加密法来执行加密和解密。所使用的算法对于单个的便携式授权装置140来说是唯一的。在本发明的优选实施例中,关键码加密器284还用来混合(blend)或反混合(unblend)动态关键码选择器171,这将在下面描述。
(6)主机授权器285。主机授权器285用来授权主机系统110使用被保护信息115的项目。授权的过程包括从与被保护信息115的项目相连的动态关键码选择器171产生密码175。主机授权器285执行使用盘问~应答处理过程。主机授权器285与关键码管理器282一起工作,以在存储介质144中找到并更正动态关键码选择器。
(7)直接接触信息授权部件端口286。直接接触信息授权部件端口286提供便携式授权装置140与物理直接接触信息授权部件160之间通信的通信协议。信息通过直接接触信息授权部件端口电路147,在便携式授权装置140与物理直接接触信息授权部件160之间传送。在本发明的优选实施例中,使用12C序列通信协议,使组件信息授权部件端口286与物理直接接触信息授权部件160通信。
(8)直接接触信息授权部件鉴别器287。直接接触信息授权部件鉴别器287用来辨别(也就是鉴别)物理直接接触信息授权部件160的身份,从而可以在便携式授权装置140和直接接触信息授权部件之间建立安全、可靠的通信。在便携式授权装置140被允许与直接接触信息授权部件交换比如动态关键码选择器171这样的信息之前,执行鉴别过程。如果鉴别成功,并且所执行的操作包括将动态关键码171传送至存储介质144以及从存储介质144接受动态关键码选择器,那么直接接触信息授权部件鉴别器287就要唤起关键码管理器282执行传送。在本发明的一个优选实施例中,直接接触信息授权部件鉴别器287使用盘问~应答处理程序来执行鉴别过程。盘问~应答处理程序使用被便携式授权装置140和直接接触信息授权部件160共用的固定的密码152(见图5)来鉴别信息授权部件。
(9)信号管理器288。信号管理器288管理比如动态关键码选择器171这样的信号,这些信号由信息授权部件160,180和185发送,由便携式授权装置140处理。相反地,信号管理器288还管理可以由便携式授权装置发送、由信息授权部件处理的信息。信号管理器288通过判断信号是否由便携式授权装置140授权使用来决定是否执行管理,并在没有正确的授权情况下停止这些信号处理。如果信号被认定是经过授权的,那么信号管理器288将唤起直接接触信息授权部件287以执行对信息授权部件160/180/185的授权。
图5显示出本发明优选实施例中便携式授权装置140的存储介质(也就是EEPROM)144的组件。在该实施例中,存储介质144的组件包括在便携式授权装置140运行的过程中,被程序组件141操作的数据。存储在存储介质144中的数据包括:
(1)固定关键码标识(ID)151。固定的关键码ID151用来表明固定密码152的身份。
(2)固定密码152。固定(或是共享)密码152是储存在(也就是共享于)便携式授权装置140和信息授权部件160,180和185中。固定密码152用来产生作为盘问~应答处理的一部分的应答信息,用在对信息授权部件160/180/185进行授权中,这将在下面详细解释。固定关键码ID151和固定密码152使用常用的加密算法来加密。
(3)固定用户数据153。固定用户数据153用来存储文字数字的字符串或是其它与便携式授权装置140授权功能无关的数据。固定的用户数据153可以包括产生用于识别便携式授权装置140产品类别的密码以及唯一能识别单个便携式授权装置的序列号。固定用户数据153最好不加密。
(4)口令154。口令154由终端用户设定,并且对于单个的便携式授权装置140来说是唯一的。口令154能防止便携式授权装置140未经授权的使用,这将在下面详细描述。
(5)动态起始密匙155。动态起始密匙155与动态关键码选择器(也就是授权信息)171其中之一进行数学上的联系,以生成密码(也就是,产生授权信息)175。动态起始密匙155对于单个的便携式授权装置140来说是唯一的。
(6)动态关键码选择器数据156。在本发明优选实施例中,动态关键码选择器数据156包括存储在存储介质144中混合过的和加密的动态关键码选择器(也就是,授权信息)171。在其它需要较低安全性的实施例中,动态关键码选择器171可以储存在储存介质144中而不经混合。动态关键码选择器数据156的每一项都包括将两个和多个动态关键码选择器171混合而推导出的数据。动态关键码选择器171以相同的方式混合,动态关键码选择数据156除了与单个动态关键码选择器相连的部分以外,不能被分隔成区块。动态关键码选择器171可以使用现有技术中从简单到复杂的任意一种数学算法混合。要按照需要的安全程度和处理程序以及便携式授权装置140的存储容量来确定对混合的算法的选择。一种举例形式的混合算法根据图11所示在下面详细说明。动态关键码选择器171使用一种常用的加密算法来加密。由存储在编程ROM142中的关键码加密器284执行对动态关键码选择器171的加密和混合。动态关键码选择器数据156还包括与动态关键码选择器171关连的关键码IDs170。关键码IDs170优选不加密或混合。混合动态关键码选择器数据的优点是:能防止未授权的存取以及对关键码选择器171的干预,因而提高了便携式授权装置140的安全性。
(7)动态用户数据157。动态用户数据157包括存储在存储介质144中的混杂的数据。动态用户数据157的结构不一定要拘于某种形式,并可以被便携式授权装置140的使用者用作各种不同的用途。在一个优选实施例中,动态用户数据157可以包括为便携式授权装置140的终端用户所固有的数据,比如注册信息等等。这些数据可以传送回信息授权部件160/180/185,这样软件供应商可以重新利用。在另一个优选实施例中,动态用户数据157可以包括能在便携式授权装置140中进行安全性选择的数据。最好对动态用户数据157加密以防止未授权对存储在储存介质144中的用户的动态数据进行存取。使用存储在ROM程序142中的关键码加密器284对用户动态数据157加密。
在本发明的一个优选实施例中,便携式授权装置140的存储介质144相比单个授权装置是不同的。在该实施例中,处理组件141是一个安全微控制器,其中,存储在编程ROM142中的关键码加密器284只能在具有合适的授权的情况下才能被读出。因而,即使未经授权的用户将存储在存储器介质144中加密的数据拷贝到另外一个便携式授权装置中,由于未经授权的用户不能拷贝用来给数据加密的关键码加密器284,因而那一个装置也不能够存取数据。这一特征的优点是能防止未经授权拷贝动态关键码选择器171,动态用户数据157以及其它存储在存储介质144中的加密数据,防止复制便携式授权装置140。
图6显示本发明优选实施例中,便携式授权装置140的存储介质144中的动态用户数据157的存储格式。该实施例能让终端用户方便、灵活地选择他或她想要的产品或被保护信息115的项目特征。比如,终端用户可以在一套程序中选择使用应用程序。并能允许终端用户在安装被保护信息115的过程中,通过访问控制程序117的用户端口选择想要的产品或特征。
动态用户数据157包括两个区段,一个是以56位软件启动区段(feature enable field)157(a)(显示为“XXXXXXXX/XXXXXX”),以及一个以8位软件信用计数器157(b)(显示为“YY”)(符号“X”和“Y”表示十六进制的数字)。软件启动区段157(a)允许终端用户通过设置符合软件启动区段157(a)的位数来启动单个产品或软件。软件开发者决定软件启动区段157(a)每一位数字的确定含义(也就是,每一位的功能)。比如,软件启动区段157(a)的位1可以用来开启主机的第一个软件程序,位2用来激活第二个软件。使用这些特征的过程将在下面描述。
图7显示了直接接触信息授权部件160的硬件组件。直接接触信息授权部件160包括一个处理组件161,一个存储介质164以及授权装置端口电路165。在本发明提供的优选实施例中,处理组件161包括具有编程ROM162、一个程序以及数据RAM163的微控制器。该实施例中,存储介质164包括一个EEPROM。编程ROM162和EEPROM164分别储存程序编码和数据,在直接接触信息授权部件160的运行过程中,分别由处理组件161执行或运行。授权装置端口电路165用来在直接接触信息授权部件160与便携式授权装置140之间提供电子端口。
应当注意,在实施例中,虽然直接接触信息授权部件160显得与便携式授权装置140相似,但是,直接接触信息授权部件的构造所需元件与便携式授权装置所需元件相比,具有明显较少的处理能力和存储容量。这是由于便携式授权装置140分担了相当复杂的授权处理过程,所以直接接触信息授权部件160仅是用于在授权过程中,提供授权信息171项目本身。
在本发明优选实施例中,直接接触信息授权部件160在操作过程中运行几个功能元件。在该实施例中,功能元件构造成储存在编程ROM162中的程序指令组,由处理单元161来执行。在其它实施例中,功能元件可以由硬件、软件不同的组合来执行。直接接触信息授权部件160的功能元件包括(没有显示出来):
(1)授权装置端口。授权装置端口为直接接触信息授权部件160与便携式授权装置140之间进行的通信提供了通信协议。信息通过授权装置端口电路165在授权装置端口提供组件信息授权部件160与便携式授权装置140之间进行传送。
(2)授权装置鉴别器。授权装置鉴别器用来辨别(也就是鉴别)便携式授权装置140的身份,从而确保在直接接触信息授权部件160与便携式授权装置140之间建立安全、可靠的通信。在直接接触信息授权部件160被允许存取动态关键码选择器(也就是授权信息)171以及其它存储在便携式授权装置140的数据之前,执行鉴别过程。在本发明的优选实施例中,授权装置鉴别器使用盘问~应答处理方式执行鉴别过程。盘问~应答处理方式使用直接接触信息授权部件160和便携式授权装置140共享的固定密码152,来对便携式授权装置授权。
图8显示出本发明优选实施例中,直接接触信息授权部件160的储存介质164(也就是EEPROM)的组成。在该实施例中,储存介质164的组成中包括在直接接触信息授权部件160运行过程中,被处理组件161操作的数据。相类似的数据还储存在物理以及网络非直接接触信息授权部件180和185中。存储在存储介质164中的数据包括:
(1)关键码ID170。关键码ID170用于在盘问~应答处理过程中,指定所需的动态关键码选择器171的身份,这将在下面详细描述。
(2)动态关键码选择器(也就是授权信息)171。动态关键码选择器171与被保护信息115的一项相关联。动态关键码选择器171在关键码交换的过程中,传送给便携式授权装置140。
(3)关键码授权计数器172。关键码授权计数器172用来表明以及限制动态关键码选择器171可以被传送到便携式授权装置140的次数。
(4)用户数据173。用户数据173用来在关键码交换的过程中替换或是更新储存在便携式授权装置140中的动态用户数据157,这将在下面解释。
(5)用户数据授权计数器174。用户数据授权计数器174用来表明以及限制用户数据173可以在便携式授权装置140中替换或是更新用户数据157的次数。
图9和10详细地显示了图2中显示的有选择地授权主机系统110使用被保护信息115项目的过程。图9显示本发明优选实施例执行的步骤中,将动态关键码选择器(也就是授权信息)171从信息授权部件160/180/185传送至便携式授权装置140(图2中的步骤210)。这一过程被称为“关键码交换”。
与被保护信息115的项目相关联的访问控制程序117与主机系统110一起控制关键码的交换过程。在此过程中,对便携式装置140的操作由存储在编程ROM142中的多种组件,在组件命令处理器280控制下实施。主机命令处理器280包括安全程序,以保证访问控制程序117不会超出其控制授权装置的权限。
传送授权信息171的过程如下所述。首先,在本发明的优选实施例中,终端用户将便携式授权装置140连接在主机系统110上(步骤211)。该实施例中,由于便携式授权装置140没有自己的电力供应,所以要从主机系统110接受电能从而操作其内部电路。
第二,终端用户在信息授权部件160/180/185与便携式授权装置140之间建立连接,因而上述装置可以开始相互通信(步骤212)。对于物理直接接触信息授权部件160来说,终端用户首先将直接接触信息授权部件插入到便携式授权装置140中。接着,便携式授权装置140的直接接触信息授权端口286与直接接触信息授权部件160建立通信。对于物理非直接接触信息授权部件180来说,终端用户首先将非直接接触信息授权部件插入到主机系统110的软盘驱动器113中。接着,便携式授权装置140的主机系统端口281通过主机系统110与物理非直接接触信息授权部件180建立通信。对于网络非直接接触信息授权部件185来说,终端用户首先建立网络非直接接触信息授权部件与主机系统110之间的连接。便携式授权装置140的主机系统端281接着通过主机系统110建立与网络的通信。
第三,便携式授权装置140使用盘问~应答处理方式对信息授权部件160/180/185进行鉴别(步骤213)。鉴别过程识别信息授权部件160/180/185的特征,从而建立与管理器进行安全、可靠的通信。直接接触信息授权部件鉴别器287执行对直接接触信息授权部件160的鉴别,而主机鉴别器283执行对非直接接触信息授权部件180和185的鉴别。
在本发明的优选实施例中,用来对信息授权部件160/180/185进行鉴别的盘问~应答处理过程在下面进行描述。首先,主机鉴别器283或是便携式授权装置140的直接接触信息授权部件鉴别器287,产生盘问信号并分别传送给信息授权部件160/180/185。盘问信号包括很大的、随机产生的数字。第二,信息授权部件160/180/185根据盘问信号和存储在信息授权部件中的固定密码152之间在数学上的结合,产生应答信号,并将信号送回。第三,授权283或是287分别根据存储在便携式授权装置140中的固定密码152决定应答信息是否正确。如果应答信号正确,表明信息授权部件160/180/185正确地包含了与便携式授权装置140一样的固定关键码152,鉴别成功完成。最后,便携式授权装置140将一个表明成功鉴别或是鉴别失败的信号传送给信息授权部件160/180/185。
第四,便携式授权装置140有选择地辨别是否授权从信息授权部件160/180/185接收动态关键码选择器171(步骤214)。在这一步骤中,信息授权部件160/180/185将与动态关键码选择器171相关的鉴别信息(没有显示出来)传送给便携式授权装置140。在本发明的一个优选实施例中,鉴别信息是一个唯一的用来辨别由动态关键码选择器171授权使用被保护信息115项目身份的数字。在该实施例中,存储在存储介质144中的固定关键码ID151用来鉴别便携式授权装置140。接着,便携式授权装置140根据鉴别信息与固定关键码ID151进行的比较,决定是否授权便携式授权装置使用鉴别信息所鉴别的被保护信息项目115。根据决定的结果,对便携式授权装置140进行授权或是拒绝动态关键码选择器171。授权过程通过便携式授权装置140的信息授权部件288执行。
该授权过程所带来的一个优点是:允许动态关键码选择器171定位于特定的便携式授权装置140。比如,授权过程可以保证A公司的信息授权部件160/180/185的动态关键码选择器171不能被B公司的便携式授权装置140代替,反之亦然。
第五,如果鉴别和授权步骤成功地完成了,信息授权部件160/180/185判断动态关键码选择器171是否已经存在于便携式授权装置140中(步骤215)。通过读出存储介质144中的动态关键码选择器数据156的位置,信息授权部件160/180/185进行上述判断。如果是,动态关键码171就不传送至便携式授权装置140。
第六,如果动态关键码选择器171不在便携式授权装置140中,信息授权部件160/180/185决定存储在存储介质164中的关键码授权计数器172是否大于零(步骤216)。
第七,如果关键码授权计数器172大于零,信息授权部件160/180/185将动态关键码选择器171传送给便携式授权装置140(步骤217)。为了防止在传送过程中出现的未经授权对选择器进行访问操作,在动态关键码选择器171传送之前,信息授权部件160/180/185使用加密算法对动态关键码选择器171进行加密。便携式授权装置140使用关键码管理器282,在信号管理器288的控制下,执行它动态关键码选择器传送处理的角色。在该步骤中,关键码授权计数器172减一。然而,如果关键码授权计数器172到零了,即已经达到传送的最大的次数,信息授权部件160/180/185就不再传送动态关键码选择器171。
第八,便携式授权装置140对动态关键码选择器171进行加密,并将其存储在存储介质144中(步骤218)。由于动态关键码选择器171是以加密后的形式传送给便携式授权装置140,所以要在存储之前对动态关键码选择器解密。接着,使用对于单个的便携式授权装置140来说是唯一的算法规则对动态关键码选择器171进行加密,并存储在存储介质144中。通过便携式授权装置140的关键码加密器284执行加密和存储过程。在本发明优选实施例中,动态关键码选择器171也是使用关键码加密器284混合在存储介质144中,以提高安全性。在另外一个对安全性要求较低的实施例中,动态关键码选择器171反混合。现在,该动态关键码171存储在便携式授权装置140中,从而授权装置可以对主机系统110进行授权使用与动态关键码选择器171相关联的被保护信息115的项目。
在本发明优选实施例中,为了将动态关键码选择器171传送回给信息授权部件160/180/185,可以将动态关键码选择器171从便携式授权装置140中去除。一旦动态关键码选择器171返回到信息授权部件160/180/185,接着,就可以将动态关键码选择器171传送到另外一个便携式授权装置140`。该技术特征的优点是存储在便携式授权装置140中没有用处的动态关键码选择器171可以被另外一个便携式授权装置“重新利用”。
通过与关键码加密器284相连的关键码管理器282来执行对动态关键码选择器的去除。将动态关键码选择器171传送回信息授权部件160/180/185的过程与如图9显示的将动态关键码选择器从信息授权部件传送给便携式授权装置的过程相似,除了将第五至第八步骤替换为下列步骤(步骤215-218)。
第五,如果鉴别和授权步骤成功地完成了,授权装置140判断动态关键码选择器171是否已经存在于信息授权部件160/180/185中。如果是,动态关键码171就不需要传送至信息授权部件160/180/185。如果不是,在信息授权部件160/180/185中的存储介质164中建立关键码授权计数器172,并置零。
第六,便携式授权装置140对存储在便携式装置140的存储介质144中的动态关键码选择器171进行定位、读取并解密。便携式授权装置140的关键码解密器284执行解密。在本发明优选实施例中,动态关键码选择器171进行混合,动态关键码选择器还使用关键码加密器284进行反混合。
第七,便携式授权装置140将动态关键码选择器171传送给信息授权部件160/180/185。为了防止在传送过程中,未经授权对选择器进行访问操作,在动态关键码选择器171传送之前,便携式授权装置140对动态关键码选择器171加密。便携式授权装置140在信号管理器288的控制下,使用关键码管理器282执行它的动态关键码选择器传送处理角色。在该步骤中,关键码授权计数器172加一。
第八,信息授权部件160/180/185对动态关键码选择器171进行加密并将其存储在存储介质144中。由于动态关键码选择器171是以加密后的形式传送给信息授权部件160/180/185,所以动态关键码选择器是在存储之前解密。接着,对动态关键码选择器171进行加密,并存储在存储介质144中。一旦完成这一步骤,动态关键码选择器171准备传送给另外一个便携式授权装置140′。
在本发明优选实施例中,紧接着传送授权信息171之后,信息授权部件160/180/185对存储在便携式授权装置140的存储介质144中的动态用户数据157进行替换和更新(附图9中步骤215)。上面曾经提到过,动态用户数据157可以包括,例如,从属于便携式授权装置140的注册信息、启动授权装置中安全性选择的数据。动态用户数据157的替换或更新的过程如下所述。首先,使用盘问~应答处理方式将用户数据授权计数器174从信息授权部件160/180/185传送至便携式授权装置。第二,如果用户数据授权计数器174大于零,信息授权部件160/180/185使用用户数据173替代或是更新便携式授权装置140中的用户数据157。对动态用户数据157的替代包括重写已经存在于便携式授权装置140中的用户数据。对动态用户数据157的更新包括执行一个对已经存在的用户数据进行更改数值的操作。动态用户数据157是被替代还是被更新取决于用户数据的特性。第三,用户数据授权计数器174减一。然而,如果用户数据授权计数器174达到零,由于已经达到最大传送次数,因而信息授权部件160/180/185不再替换或更新动态用户数据157。
本发明的一些实施例中,可能不需要替换或更新存储在便携式授权装置140中的动态用户数据157。比如,便携式授权装置140中的动态用户数据157要比信息授权部件160/180/185中的用户数据173新。在这种情况下,就没有必要对便携式授权装置140中最新的动态用户数据157进行重写。结果是,要使开发者的产品通过PACE应用编程端口(APIs),以检查并避免任何无意义的动态用户数据更新。
图10显示了便携式授权装置140授权主机系统110使用被保护信息115中的一项的步骤(图2中的步骤220)。与被保护信息115相关联的访问控制程序117与主机系统110一起,对授权过程进行初始化和控制。这一过程中,由存储在编程ROM142中的各种元件在主机命令处理器280的控制下,实施对便携式授权装置140进行的操作。主机命令处理器280包括安全规则,以保证访问控制程序117不会超越其对授权装置的控制权限。
对主机系统110的授权过程如下所述。第一,终端用户将便携式授权装置140连接在主机系统110上,该主机系统110具有用户想要使用的被保护信息115项目(步骤221)。
第二,终端用户开始对比如软件程序或是存储在主机系统110中的收集数据这样的被保护信息115项目进行运行或访问(步骤222)。然而,由于访问控制程序117还没有接受到正确的授权信息,与被保护信息115关连的访问控制程序117中断对被保护信息115的执行或存取。在本发明优选实施例中,访问控制程序117在主机系统110上显示表明没有授权执行或存取程序或数据的信号,并提示终端用户将便携式授权装置140连接在主机系统上以重新开始执行。
第三,访问控制程序117的口令管理器在主机系统110上显示信号,提示终端用户输入一个便携式授权装置的口令(步骤223)。接着,口令管理器将输入的口令与便携式授权装置140的口令154相比,辨别输入的口令是否正确。口令154以加密的形式存储在便携式授权装置140的存储介质144中,所以未经授权的用户不能读出。一旦输入了正确的原始口令数值,口令管理器的用户端口允许终端用户设置口令154。在本发明优选实施例中,只是在第一次在新主机系统110上使用便携式授权装置140时需要输入口令。可以选择是否进行要求口令步骤,但是在本发明优选实施例中,执行了该步骤。该特征的优点是能防止未经授权的用户使用便携式授权装置140。
在下面将要描述的第四至第八步骤中,主机系统110的访问控制程序117和便携式授权装置140执行一个盘问~应答处理过程,以判断授权装置是否包含了正确的对被保护信息115项目的授权信息。在第四步中,主机系统110的访问控制程序117通过给便携式授权装置140传送一个盘问信号,从而引起与便携式授权装置140的盘问~应答处理过程(步骤224)。盘问~应答处理过程判断授权装置140是否包含了正确的与被保护信息115项目相关的授权信息。盘问~应答处理过程不从便携式授权装置140传送任何授权信息给主机系统110,因而防止了未经授权的人截获授权信息。在本发明的优选实施例中,盘问信号是随机产生的数字。在该实施例中,盘问信号与和被保护信息115的项目相关的关键码ID170一起传送给便携式授权装置140。
第五,便携式授权装置140通过从动态关键码选择器171中产生密码175,引起对盘问信号的应答(步骤225)。首先,便携式授权装置140在存储介质144中搜寻与关键码ID170相适应的动态关键码选择器171。在搜寻过程中,对存储在存储介质144中的动态关键码选择器数据156进行解密,并反混合临时再次产生动态关键码选择器171。特别地,反混合的过程包括从一个或多个动态关键码数据156项目中再次产生动态关键码选择器171。这一过程由主机授权管理器与关键码管理器282和关键码加密器284来执行。
如果提供了正确的动态关键码选择器171,通过使用便携式授权装置140的主机授权管理器285,便携式授权装置140产生密码175。通过使用数学上的方法将与关键码ID170相应的动态关键码选择器171和动态起始密匙155结合,从而产生密码175。在其它实施例中,密码175自身存储在便携式授权装置140中,该步骤被省略。在本发明的优选实施例中包含动态关键码选择器数据156,动态关键码171在此步骤中反混合,这将在下面描述。
第六,便携式授权装置140产生应答信号并将其传送给主机系统110(步骤226)。通过将盘问信号与密码175在数学上的结合,产生应答信号。在本发明的优选实施例中,应答信号盘问信号是便携式授权装置140所产生的密码与盘问信号之间的数学上的结合。
第七,访问控制程序117辨别便携式授权装置14是否送回应答信号,而且,判断应答信号是否正确(步骤227)。
第八,如果应答信号是正确的,访问控制程序117授权组件系统110使用被保护信息115的项目,比如,运行程序或是访问数据(步骤228)。
授权过程所使用的盘问~应答处理过程可以仅使用一个和几个算法执行。在本发明的一个优选实施例中,盘问~应答处理过程使用对称算法。在对称算法中,主机系统110的密码175与便携式授权装置140的相同。在另外一个优选实施例中,盘问~应答处理过程使用非对称算法。在非对称算法中,主机系统110的密码175`与便携式授权装置140的不同,其中,两个密码之间存在预定的数学关系。非对称算法的优点是:未经授权的用户仅仅从主机系统110中得到密码175`也不能产生正确的应答信号。
在本发明优选实施例中,加密算法用来对存储在存储介质144中的动态关键码选择器171进行加密、解密,也可以根据需要变更。该实施例中关键码加密器284能执行很多种不同的加密算法,在一定期限内,可以选择其中之一来使用。通过传送加密算法选择信息(没有显示出来)来选择加密算法,上述传送不是从信息授权部件160/180/185就是从主机系统110传送至便携式授权装置140。软件供应商可以将数学算法选择信息与使用新算法加密的信号(比如,用作产品更新)一起传送。一旦加密算法变了,授权信息171、动态用户数据175以及其它使用先前算法得到的加密数据就不能被便携式授权装置140使用了。这一特征的优点是:当原始加密算法被发现后,软件供应商可以很容易地在字段中更改便携式授权装置140使用的加密算法,使得篡改授权装置或未经授权使用变得困难。
在该实施例中,在盘问~应答处理规程中,用来产生应答信号的算法也可以根据需要在字段中进行更改。主机授权管理器285能够使用数量很多的不同算法产生应答信号,在一定期限内,可以选择其中之一来使用。通过传送应答算法选择信息(没有显示出来)来选择应答算法,上述传送不是从信息授权部件160/180/185就是从主机系统110传送至便携式授权装置140。一旦应答算法变了,被保护信息项目115必须被新的能与便携式授权装置140的工作的新算法更新或替换。这一特征的优点是使得当原始加密算法被发现后,软件供应商毫不费力地更改实地被便携式授权装置140使用的加密算法,使得授权装置篡改或用作未经授权方式中变得困难。
在本发明优选实施例中,接着图10中的授权过程,便携式授权装置140还可以将选择的动态用户数据157传送给主机系统110。只有与主机系统相关联的软件程序(比如被保护信息115)请求时,动态用户数据157才传送。动态用户数据157在主机软件程序的控制下进行传送,而不是在访问控制程序117的控制下进行。主机软件程序首先发出一个请求信号,以从便携式授权装置140中读取可选择的动态用户数据157。请求规定与选择的动态用户数据157相关联的关键码ID。接着,便携式授权装置140将选择的动态用户数据157传送给主机系统110。
再一次参看图8,下面详细描述本发明优选实施例中启动具体软件或产品的过程。软件启动区段157(a)的位数初始逻辑值为零,表明还没有启动过软件或产品。通过由被保护信息115的项目(比如主机软件程序)通过的用户端口,终端用户通过将软件启动区段157(a)合适的位数设置成逻辑值为零,买入或是启动想要的软件或产品。每启动一次软件/产品,软件信用计数器157(b)减一。一旦软件信用计数器157(b)达到零,就不能再为被保护信息115的项目买入或是启动软件和产品,直到终端用户通过信息授权部件160/180/185或是其它安全关键码授权部件买入更多的次数。应当注意,买入或是启动一个软件或是产品是决定性的。换句话说,一旦软件启动区段157(a)的一位被设置,且软件信用计数器157(b)减一,那么在软件信用计数器中,这一位就不能返回重新计数。
图11显示了对存储在便携式授权装置140的存储介质144中的动态关键码选择器选择器数据156进行混合和反混合算法的例子。对算法的描述仅是出于说明的目的,其他更简单或是更复杂的算法可以由本领域技术人员根据所需要的安全度和便携式授权装置140的处理过程和存储能力很容易地替换。提示出的算法使用相对简单的加法和减法操作以执行动态关键码选择器的混合和反混合操作。算法由存储在编程ROM142中的关键码加密器284实施。
附图中显示了三项动态关键码选择器数据156′,156″,156和三项动态关键码选择器171′,171″,171(显示为十六进制数字)。动态关键码选择器数据156′,156″,156中的每一项都包括混合三个动态关键码选择器171′,171″,171中的两个所导出的数据。动态关键码选择器数据156′,156″,156的项目存储在位于便携式授权装置140的存储介质144中相邻的位置,并从三项动态关键码选择器171′,171″,171中产生。动态关键码选择器171′,171″,171按照顺序从一个或多个信息授权部件160/180/185中传送存储在便携式授权装置140中。动态关键码选择器数据156′,156″,156和动态关键码选择器171′,171″,171的宽度都是32位。为了这种算法,动态关键码选择器数据156的每一项都分成16位部分的两半,156(a)和156(b)。每一个动态关键码选择器数据171都分成16位部分的两半,171(a)和171(b)。
使用这种关键码混合算法的混合过程如下所述,最为举例,使用动态关键码选择器的混合以生成动态关键码选择器数据156″。通过传送动态关键码选择器的第一半171(a)″(“3333”)产生动态关键码选择器数据项目的第一半156(a)″(“3333”)。通过加入动态关键码选择器的第二半171(b)″(“4444”)和第三动态关键码选择器171(a)(“8888”)产生动态关键码选择器数据项目的第二半156(b)″(“CCCC”)。这样,动态关键码选择器数据156″的项目能从两个动态关键码选择器171″和171导出。因而,存储在存储介质144中,除了与单个动态关键码选择器相关联的部分,动态关键码选择器数据156不会被分成多段。
使用关键码混合算法的反混合过程仅仅是混合过程的逆过程。通过传送动态关键码选择器的第一半156(a)″(“3333”)产生动态关键码选择器的第一半171(a)″(“3333”)。通过从动态关键码选择器数据项目的第二半156(b)″(“CCCC”)减去第三动态关键码选择器的第一半156(a)(“8888”)产生动态关键码选择器的第二半171(b)″(“4444”)。这样,从两项动态关键码选择器数据156″和156中推导出动态关键码选择器171。
直接接触授权装置一授权装置关键码交换的实施例
图12显示出本发明的另外一个实施例,提供了在两个便携式授权装置140和140′之间进行关键码的直接交换。在该实施例中,存储在便携式授权装置140中的动态关键码选择器171通过一个的通用串行总线架构(USB)插孔190直接传送给第二便携式授权装置140′。USB插孔190在本领域是一种公知的I/O设备,它连接在主机系统110的USB端口上。从便携式授权装置140将动态关键码选择器171传送到装置140′的过程如下所述。首先,终端用户将便携式授权装置140和140′连接在USB插孔190上。第二,便携式授权装置140和140′使用盘问~应答处理过程互相辨认。鉴别过程辨别两个装置的身份,并在它们之间建立可靠的通信。最后,如果鉴别成功,密码175从便携式授权装置140通过USB插孔190传送到装置140′。这一实施例的优点是:动态关键码选择器171可以在一个步骤中,在便携式授权装置之间传送,而不需要请求使用信息授权部件160/180/185。
再造授权装置的实施例
本发明的另外一个可选实施例提供授权运行记录文件(没有显示出来),以安全地再造便携式授权装置140。授权运行记录文件存储在与便携式授权装置140连接的主机系统110中。这一实施例的优点是:在便携式授权装置140丢失或是被盗的情况下,能使便携式授权装置140安全地再造。
授权运行记录文件包括用来再造存储在便携式授权装置140内的授权信息的再造信息。特别地,授权运行记录文件包括存储在便携式授权装置140中用来辨别授权信息项目(比如动态关键码)171的信息。然而,授权运行记录文件不包括授权信息项目自身。授权运行记录文件以加密形式存储在主机系统110的硬盘驱动器的隐藏位置。与主机系统110相关联的访问控制程序117请求时,便携式授权装置140产生授权运行记录文件。
使用授权运行记录文件再造便携式授权装置140的过程如下所述。在安全的环境下,在便携式授权装置制造者或其它授权组织的监督下,执行再造过程。第一,从主机系统110的硬盘驱动器中读出授权运行记录文件,以鉴别存储在便携式授权装置140中的授权信息171的项目。第二,制造者或是得到授权的组织在授权运行记录文件鉴别下,从安全存储中找回授权信息171项目。最后,找回的授权信息171项目存储在替换的便携式授权装置140′的存储介质144′中,以形成原始便携式授权装置140的再造。
虽然详细描述和说明了本发明特定实施例,应当明确在不脱离本发明精神的情况下,可以对这些实施例进行很多变型。因此,本发明的保护范围由后附的权利要求及其等效范围限定。

Claims (18)

1.一种连接到计算机系统的便携式安全装置,用于有选择地授权该计算机系统使用多项被保护信息,其包括:
一处理单元;
至少一种连接到该处理单元的存储介质;
一端口,其能够接收多项授权信息,该多项授权信息与所述多项被保护信息中的一项对应的信息相关联,其中该多项授权信息存储在所述至少一种存储介质中;以及
一端口程序,用于根据存储在所述存储介质中的一项对应的授权信息,有选择地授权所述计算机系统使用其中一项所述被保护信息。
2.根据权利要求1的,其中所述多项授权信息包含关键码选择器。
3.根据权利要求1的,根据所述关键码选择器而在该便携式安全装置中产生一个关键码,并根据该关键码而给予所述计算机系统选择性授权以使用所述多项被保护信息。
4.根据权利要求1的,其中所述多项授权信息包含一个或多个密码。
5.一种利用便携式安全装置而有选择地授权在计算机系统上使用多项被保护信息的方法,该便携式安全装置可拆卸地连接到该计算机系统,所述方法包括下述步骤:
(a)使该便携式安全装置具有接收多项授权信息的能力,该多项信息与所述多项被保护信息中的一项对应的信息相关联,其中该多项授权信息存储在所述安全装置中的单一存储器中;且
(b)根据存储在所述存储器中的一项对应的授权信息,有选择地授权所述计算机系统使用其中一项所述被保护信息。
6.根据权利要求5的方法,其中所述多项授权信息包含关键码选择器。
7.根据权利要求6的方法,其进一步包括下述步骤:基于所述关键码选择器而产生一个关键码,并根据该关键码而有选择地授权所述计算机系统使用所述多项被保护信息。
8.根据权利要求5的方法,其中所述多项授权信息包含一个或多个密码。
9.一种有选择地授权在计算机系统上使用多项被保护信息的方法,所述方法包括下述步骤:
(a)向一便携式安全装置提供至少一个存储器和至少一个I/O端口,该至少一个存储器包含用于多个关键码选择器的公共密码和空间,从而所述关键码选择器可被下载到所述安全装置,并且可建立与所述计算机系统的通信;
(b)由所述安全装置从所述计算机系统接收授权请求,以授权使用其中一项所述被保护信息;且
(c)使用所存储的所述关键码选择器以产生授权信息,该关键码选择器对应于所述多项被保护信息的其中特定一项和所述公共密码,其中所述计算机系统验证所述授权信息,并释放其中一项所述被保护信息以供使用。
10.根据权利要求9的方法,其进一步包括下述步骤:在一安全的事务处理中使用外部信息授权而对所述便携式安全装置提供所述关键码选择器。
11.根据权利要求10的方法,其进一步包括下述步骤:从所述授权信息接收随机盘问,使用所述公共密码来加密应答,并且通过以所述公共密码进行解密来通过所述授权信息验证该应答。
12.根据权利要求9的方法,其中所述公共密码为一密匙。
13.根据权利要求12的方法,其进一步包括下述步骤:使用所述公共密码将所接收的关键码选择器转换为一授权关键码。
14.根据权利要求13的方法,其中所述授权请求是随机产生的应答数。
15.根据权利要求14的方法,其中所述授权信息是通过使用所述应答和所述授权关键码而产生的。
16.根据权利要求9的方法,其进一步包括下述步骤:在存储于所述便携式安全装置之前,加密所述关键码选择器。
17.根据权利要求16的方法,其进一步包括下述步骤:使用混合算法将所述关键码选择器存储于一混合储集场中,从而使得无法从存储器中的特定位置提取单独一个关键码选择器。
18.根据权利要求9的方法,其进一步包括下述步骤:接收出自多项授权信息的多项信息。
CNB008168016A 1999-12-07 2000-05-10 授权使用被保护信息的便携式授权装置以及相关的方法 Expired - Lifetime CN1254723C (zh)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US16950699P 1999-12-07 1999-12-07
US60/169,506 1999-12-07
US09/503,778 US7032240B1 (en) 1999-12-07 2000-02-14 Portable authorization device for authorizing use of protected information and associated method
US09/503,778 2000-02-14

Publications (2)

Publication Number Publication Date
CN1408082A CN1408082A (zh) 2003-04-02
CN1254723C true CN1254723C (zh) 2006-05-03

Family

ID=26865117

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB008168016A Expired - Lifetime CN1254723C (zh) 1999-12-07 2000-05-10 授权使用被保护信息的便携式授权装置以及相关的方法

Country Status (6)

Country Link
EP (1) EP1236074A1 (zh)
JP (2) JP2003516578A (zh)
CN (1) CN1254723C (zh)
AU (1) AU778380B2 (zh)
CA (1) CA2393543C (zh)
IL (2) IL149804A0 (zh)

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005202650A (ja) * 2004-01-15 2005-07-28 Casio Comput Co Ltd 認証システム
US7747872B2 (en) * 2004-03-25 2010-06-29 Franklin Electronic Publishers, Inc. Secure portable electronic reference device
JP2005346702A (ja) * 2004-05-04 2005-12-15 Heidelberger Druckmas Ag 識別表示装置を備える診断システム
KR100834990B1 (ko) 2005-08-01 2008-06-04 민정홍 이동식저장장치에서 실행되는 보안시스템
US7752139B2 (en) 2005-12-27 2010-07-06 Michael Noel Hu Method and system for managing software licenses and reducing unauthorized use of software
JP2007226405A (ja) * 2006-02-22 2007-09-06 Toshiba Corp 監視制御システム
US8412865B2 (en) 2006-10-04 2013-04-02 Trek 2000 International Ltd. Method, apparatus and system for authentication of external storage devices
JP2008140175A (ja) * 2006-12-01 2008-06-19 Yazaki Corp プロテクタ共通化装置、プロテクタ共通化プログラム、プロテクタ共通化方法、ライセンス管理システム、及び、プロテクタ
JP2008140091A (ja) * 2006-12-01 2008-06-19 Shimadzu Corp 分析データ管理システム
JP4729051B2 (ja) * 2008-01-04 2011-07-20 東芝テック株式会社 情報処理装置
JP5130126B2 (ja) * 2008-06-11 2013-01-30 京セラドキュメントソリューションズ株式会社 ライセンス数管理装置、ライセンス数管理方法及びライセンス数管理プログラム
US9311504B2 (en) 2014-06-23 2016-04-12 Ivo Welch Anti-identity-theft method and hardware database device
CN105249126A (zh) * 2015-10-26 2016-01-20 胡本奎 一种杨梅复合保健晶的制作方法
KR101757149B1 (ko) * 2016-11-09 2017-07-12 알서포트 주식회사 권한 부여 기동장치를 이용한 스마트기기 응용프로그램의 자동 시험방법
CN111190614B (zh) * 2019-12-26 2023-12-19 北京威努特技术有限公司 一种软件安装的方法及计算机设备

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS58195975A (ja) * 1982-05-12 1983-11-15 Canon Inc 電子機器の使用者認識パツク
US4562306A (en) * 1983-09-14 1985-12-31 Chou Wayne W Method and apparatus for protecting computer software utilizing an active coded hardware device
JP2544101B2 (ja) * 1985-05-23 1996-10-16 株式会社 メルコ コンピユ−タプログラムの盗用防止装置
EP0253885A4 (en) * 1985-12-26 1991-03-20 Gordian Systems Solid state key for controlling access to computer systems and to computer software and/or for secure communications
FR2667173B1 (fr) * 1990-09-21 1993-07-16 Telemecanique Procede de protection des droits d'utilisation de plusieurs logiciels sur un poste de travail informatique ou d'automatisme industriel et systeme pour sa mise en óoeuvre.
US5778071A (en) * 1994-07-12 1998-07-07 Information Resource Engineering, Inc. Pocket encrypting and authenticating communications device
JPH1031587A (ja) * 1996-07-15 1998-02-03 Hitachi Ltd データ端末装置およびコンピュータプログラム
US5854891A (en) * 1996-08-09 1998-12-29 Tritheim Technologies, Inc. Smart card reader having multiple data enabling storage compartments
DE19731380C2 (de) * 1997-07-22 1999-08-05 Wolfgang Neifer Sicherheits-Matrix für eine Mehrzahl von Sicherheitslogik-Chipkarten
GB2328148B (en) * 1997-08-12 2001-11-07 Boucherie Nv G B A method of endrounding loose fibres
JPH11203124A (ja) * 1998-01-20 1999-07-30 Oki Electric Ind Co Ltd ソフトウェアの駆動方法

Also Published As

Publication number Publication date
IL149804A0 (en) 2002-11-10
JP4541901B2 (ja) 2010-09-08
EP1236074A1 (en) 2002-09-04
JP2003516578A (ja) 2003-05-13
IL149804A (en) 2007-07-04
AU4839400A (en) 2001-06-18
CA2393543C (en) 2007-04-17
AU778380B2 (en) 2004-12-02
JP2005174359A (ja) 2005-06-30
CA2393543A1 (en) 2001-06-14
CN1408082A (zh) 2003-04-02

Similar Documents

Publication Publication Date Title
CN1254723C (zh) 授权使用被保护信息的便携式授权装置以及相关的方法
CN1155866C (zh) 防止在计算机中未经批准地使用软件的方法和设备
CN1328634C (zh) 防止未被授权使用软件的方法
US7032240B1 (en) Portable authorization device for authorizing use of protected information and associated method
CN100371847C (zh) 文档加密、解密的方法及其安全管理存储设备和系统方法
CN100421102C (zh) 便携式存储装置和使用该便携式存储装置的内容管理方法
CN1133935C (zh) 保护存储在便携式存储介质的信息的保密系统
US6684198B1 (en) Program data distribution via open network
CN1197022C (zh) 信息处理系统,便携电子装置及其存取装置和存储空间
CN1280737C (zh) 移动存储设备与读写识别设备的安全认证方法
CN1276363C (zh) 借助半导体存储装置实现数据安全存储和算法存储的方法
US20070107042A1 (en) System and method for limiting access to a shared multi-functional peripheral device
CN101014944A (zh) 数字版权管理的方法和设备
CN1271448A (zh) 用于安全通信系统的便携式电子装置以及参量初始化的方法
WO2021128244A1 (zh) 一种注册授权方法及系统
CN1617492A (zh) 提供服务的系统和方法
CN1467642A (zh) 数据保护程序及数据保护方法
CN1914849A (zh) 受信移动平台体系结构
CN1961370A (zh) 基于数字权限管理重放内容的方法和设备及便携式存储器
CN101140610B (zh) 使用drm卡的内容解密方法
CN101057447A (zh) 用于从服务器向移动终端设备重新分发特定编码访问对象的方法和设备
CN102937907A (zh) 利用sd卡片进行授权软体安装更新使用的方法
AU2002351507B2 (en) Apparatus and method for accessing material using an entity locked secure registry
KR101282504B1 (ko) 네트워크 환경에서 소프트웨어 사용 권한 인증 방법
TWI331722B (en) Coding method of information, decoding method of information, and computer readable recording media containing the same

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
CX01 Expiry of patent term
CX01 Expiry of patent term

Granted publication date: 20060503