用户认证系统和方法

文档序号:6650268阅读:325来源:国知局
专利名称:用户认证系统和方法
技术领域
本发明涉及数据通信系统,更具体地,本发明涉及一种验证一个或多个用户以使用通信系统内一个或多个设备的系统和方法。
背景技术
人们可以使用计算设备例如个人计算机和无线手持设备来访问多种服务。例如,用户可对存储或运行在计算设备上的数据或应用程序进行访问。此外,用户还可以连接到数据网络,以访问远端服务器上的数据或应用程序。
某些情况下,一项服务只对授权用户开放。例如,这种服务可以是对,例如金融信息或个人信息这样的敏感数据的访问。此外,对一些服务的访问是需要付费的。
已有多种技术用于通过计算设备来实现对服务的安全访问。例如,用户可能需要向提供服务的计算设备(“服务提供者”)出示某种形式的信用证明。在这里,该信用证明可以用于指示一个特定用户(或任何掌握该信用证明的人)是否可以对指定的服务进行访问。在某些应用中,信用证明可以采用用户名和密码的形式,这些用户名和密码由系统管理员提供给用户和服务提供者。当用户访问一项服务时,需要向服务提供者出示其用户名和密码。然后服务提供者将对这份信用证明进行检验,以确认该用户是所请求服务的授权用户。
在一个典型的数据网络中,对数据网络的访问只向那些正确的加载在该网络上的设备开放。作为这种加载的一部分,需要使用加密技术来确保只有授权了的设备才可以连接到网络上。通常来说,加密技术可以包括一个或多个加密、解密、认证、签名和校验过程。
例如,网络管理员可以在每台授权连接到网络上的设备上装载一个或多个加密密钥(以下用“密钥”表示)。该网络管理员还在连接到例如广域网(“WAN”)上的网络接入设备(例如,路由器)上装载相应的密钥。当一台设备试图访问网络时,网络接入设备将检验该设备是否装载了正确的密钥。一旦检验通过,网络接入设备将允许请求设备对网络进行访问。
在现实中,向用户使用某种服务进行授权,以及将设备加载到网络上的过程可能会相对的繁琐和耗时。如上所述,这些操作相对来说都是通过手动方式进行的。然而分布式计算服务访问正变得越来越普遍和可以支持访问。例如,无线计算网络和手持设备的增长使得用户可以使用多种设备访问一个城市中的多种不同网络。因此,需要一种更高效的技术,使得用户可以访问加密服务。
此外,传统的用于输入信用证明或向设备装载密钥的方法,在某些情况下将存在安全隐患。例如,当用户使用计算设备访问加密服务的时候,首先需要将信用证明输入到计算设备中。通常情况下,这步操作是通过使用例如键盘等输入设备来完成的。随后,该计算设备将这些信用证明发送给服务提供者,由该服务提供者来确认该用户是否有权访问其所请求的服务。
这时,如果该计算设备被黑客控制,或者感染了计算机病毒,那么非授权个人将有可能访问到这些信用证明。例如,一台个人计算机可以使用可信计算模块(trusted computing module,TPM)来控制对特定加密服务的访问(例如,对加密数据文件或加密网络的访问)。这里,在允许用户访问这些服务之前,TMP会要求其输入密码或其他信用证明。如果用户使用键盘来输入这些信息,那么这些密码可能在个人计算机内通过一条不安全路径从键盘路由到TPM。例如,该键盘可能连接在一个USB端口上,并且使用驱动程序来从USB总线向TPM传输数据,该TPM可能,例如连接到个人计算机的南桥上。然而,黑客或病毒可以访问由驱动程序发送的或存储在其上的数据。这样一来,非授权个人就可以获取该密码,进而访问上述加密服务了。
类似的,使用在无线设备中的密钥信息也将受到威胁。例如,为加强两个蓝牙设备之间通信的安全性,可能需要在每台设备上装载补充密钥。在某些应用中,密钥通过蓝牙网络从一台蓝牙设备传送给另一台蓝牙设备。但是,非授权个人可以对包含密钥的广播蓝牙信号进行破译。这样一来,非授权个人就可以获取该密码,进而访问加密服务。
当上述加密服务控制并提供对类似金融数据或个人信息的敏感数据的访问时,将可能导致更加严重的后果。因此,需要一种更安全的技术,来为加密服务提供更加安全的访问。

发明内容
本发明涉及一种验证一个或多个用于以使用通信系统内一个或多个设备的系统和方法。为方便起见,根据本发明构建的系统或实现的方法,其实施例在下文中简称为“实施例”。
一方面,本发明涉及对访问由接入设备(例如计算设备)提供的或通过接入设备接入的服务的用户进行验证。例如,所述用户可访问存储在接入设备或远端计算设备上的数据。所述用户还可访问运行在所述接入设备或远端服务器上的应用程序。此外,所述用户还可通过所述接入设备获得对数据网络的访问。
某些实施例中,需要在所述接入设备和服务提供者之间建立安全通信机制。例如,最初,用户可通过一种安全方式向所述接入设备提供信用证明。某些实施例中,包括将信用证明输入到所述接入设备的安全边界内。所述接入设备中的加密处理部件随后对所述安全边界内的所述信用证明进行加密和/或签名。在此,所述签名/加密的真实性将通过一个已发布的数字证书向第三方(例如,服务提供者)进行验证。所述接入设备随后将签名/加密后的信用证明提供给服务提供者。
所述服务提供者将验证该信用证明由一特定接入设备产生。例如,所述服务提供者的加密处理器将使用所述接入设备的公共密钥询问所述接入设备,使其证明它确实具备对应的私有密钥。此外,因为所述服务提供者已经进访问了所述公共密钥的证书,所以必须确保所述接入设备具备密钥保护机制,以及所述接入设备的私有密钥不会泄漏到安全边界的外部。这样一来就更加确保了提供给所述服务提供者的所述信用证明是来自一个特定和/或受信接入设备。
某些实施例中,对来自用户的信用证明的认证可用来自动为用户建立网络连接。例如,用户可向希望通过其来连接网络的接入设备提供他的或她的信用证明。这些信用证明随后将提供给接入服务器,所述接入服务器能建立与所述接入设备之间的安全通信。如上所述信用证明将进行验证,确保所以接入服务器与所述接入设备建立安全通信所必须的密钥以安全地发送给该接入设备。例如,可使用所述信用证明来检验所述接入设备是其所声称的那台设备,并且所述密钥信息可以安全的发送、使用和存储在所述接入设备中。
用户可通过向接入设备出示他的或她的信用证明来启动将额外的接入设备连接到网络的过程。在这种情况下,当从每个接入设备接收到适当的认证信息(例如,签过名的信用证明),并对所述接入设备的身份证明进行检验之后,接入服务器将向每个这些接入设备提供与所述用户相关联的密钥。因此,用户可以很轻松的将接入设备连接到网络上。此外,这些操作将以一种非常安全的方式完成。
任何用户都可以使用同一个或其他的接入设备来构建他们自己的接入设备网络。这里,每个用户将得到独一无二的密钥,分配给该用户的接入设备。这样一来,每个用户的网络将通过加密的方式区别于其他用户的网络。
某些实施例中,输入设备可通过加密处理部件结合在安全边界内,使用户将信用证明安全的输入到接入设备中。例如,这些部件相互连接,以保证部件之间传送的数据不会通过不安全的介质路由,例如可能被非授权个人、设备或处理截获的数据存储器、软件栈或无线传输。在某些应用中,这可以通过将所述部件安装到同一个集成电路(即芯片)上来完成。
通过这种方式,来自输入设备的数据可安全的提供给所述接入设备的安全边界,然后在该安全边界内对数据进行加密。这样一来,该数据将永远不会以明文(例如,未加密的)形式出现在安全边界(例如,由芯片的物理边界提供的边界)外部的不安全路径中。
某些实施例中,可以使用认证来进行检验用户是否正处于接入设备的旁边。例如,只有在分配给用户的无线令牌处于提供安全服务接入的接入设备旁边时,才会向授权用户提供服务接入。通过这种方式,可以进行如下合理假设所述授权用户实际上正在使用特定的接入设备请求服务。
某些实施例中,用户的信用证明存储在一个RFID令牌上,并且在接入设备的安全边界内包含一个REID读取器。通过这种方式,可以将信用证明直接传送给安全边界,而不必通过软件消息或应用程序在所述接入设备中传送。这样一来,所述信用证明就不会被所述接入系统上的威胁软件执行的黑客或计算机病毒破译。
某些实施例中,输入设备可包括例如指纹识别器之类的生物传感器。在这种情况下,信用证明可包含生物信息(例如,扫描的指纹)。
某些实施例中,根据本发明构建的系统包括有线和/或无线网络,其中,接入设备包括安全边界内的RFID读取器和加密处理。用户通过将其RFID令牌放置在接入设备的旁边,就可以使用该设备中的任何一个来访问网络。这使得信用证明可安全的传送给用于接入网络的接入服务器。随后,所述接入服务器将与该用户相关联的密钥提供给每台接收该用户提供的信用证明的接入设备。通过这种方式,该用户可被自动认证以使用这些接入设备中的任何一个访问网络。
根据本发明的一个方面,提出一种通信方法,包括向多个接入设备认证至少一个用户;建立包括有所述接入设备的至少一个网络。
优选地,所述认证包括向所述接入设备提供至少一个信用证明。
优选地,所述方法进一步包括对所述至少一个信用证明进行密码签名。
优选地,所述方法进一步包括使用数字证书以对所述至少一个签名后的信用证明进行认证。
优选地,所述方法进一步包括使用数字证书来验证与至少一个所述接入设备相关的安全性。
优选地,所述方法进一步包括使用数字证书来验证所述至少一个用户与至少一个所述接入设备是否接近。
优选地,所述方法进一步包括验证所述至少一个信用证明与一个授权用户有关。
优选地,所述方法进一步包括响应所述至少一个信用证明与一个授权用户有关的验证结果,向所述接入设备提供至少一个密钥。
优选地,所述验证包括将所述至少一个信用证明与至少一个登记的信用证明进行比较。
优选地,所述建立至少一个网络包括向所述接入设备提供至少一个密钥。
优选地,所述建立至少一个网络包括使用所述至少一个密钥将所述接入设备连接到所述网络上。
优选地,所述方法进一步包括依据向所述接入设备的至少一部分认证所述至少一个用户中的一个用户的认证结果,自动将所述至少一部分接入设备组合到一起。
根据本发明的一个方面,提出一种通信方法,包括向多个接入设备认证多个用户;建立包括有所述接入设备的多个网络。
优选地,所述网络分别加密。
优选地,所述方法进一步包括为所述用户登记信用证明。
优选地,所述认证包括向所述接入设备提供至少一个所述信用证明。
优选地,所述方法进一步包括对所述至少一个信用证明进行密码签名。
优选地,所述方法进一步包括使用数字证书对所述至少一个签名的信用证明进行认证。
优选地,所述建立网络包括向所述接入设备提供多个密钥。
优选地,每个所述密钥与一个所述用户相关联。
优选地,所述建立网络包括使用所述密钥将所述接入设备连接到网络上。
优选地,每个所述网络与一个所述用户相关联。
优选地,所述方法进一步包括依据向所述接入设备的至少一部分认证所述至少一个用户中的一个用户的认证结果,自动将所述至少一部分接入设备组合到一起。
根据本发明的一个方面,提出一种向设备认证用户的方法,包括定义与一个接入设备相关联的安全边界;直接向所述安全边界内提供至少一个信用证明,以向所述接入设备认证一个用户。
优选地,所述安全边界包括一个密钥管理边界。
优选地,所述提供包括将包括所述至少一个信用证明的至少一个RFID信号接收入所述所述安全边界内。
优选地,所述至少一个信用证明包括生物信息。
优选地,所述提供包包括将包括有生物信号的至少一个信号接收入所述安全边界内。
优选地,所述提供包括将包括有指纹信号的至少一个信号接收入所述安全边界内。
优选地,所述提供包括通过一个传感器在所述安全边界内的生成至少一个信号。
优选地,所述提供包括通过一个指纹读取器在所述安全边界内生成至少一个信号。
优选地,所述安全边界由一块集成电路定义。
优选地,所述安全边界通过对数据进行加密实现。
根据本发明的一个方面,提出一种用于访问服务的方法,包括接收与用户相关联的信用证明;对所述信用证明进行认证;将所述认证后的信用证明提供给服务提供者;响应所述认证后的信用证明,接收来自服务提供者的至少一个密钥;使用所述至少一个密钥对服务进行访问。
优选地,所述方法进一步包括建立一个安全边界,用于接收所述信用证明。
优选地,所述方法进一步包括建立一个安全边界,用于认证所述信用证明。
优选地,所述认证包括对所述信用证明进行密码签名。
优选地,所述认证包括对所述信用证明进行加密。
根据本发明的一个方面,提出一种通信系统,包括
多个接入设备,用于接收认证信息,每个接入设备包括至少一个用于对认证信息进行签名的加密处理器;一个接入服务器,用于接收所述签名的认证信息,所述接入服务器包括至少一个加密处理器以为所述接入设备生成至少一个密钥,所述接入服务器依据所述签名的认证信息向所述接入设备提供所述至少一个密钥。
优选地,所述认证信息包括至少一个信用证明。
优选地,所述接入服务器的至少一个加密处理器接收一个数字证书以对所述认证信息进行认证。
优选地,所述接入服务器验证所述认证信息是否与一个授权用户相关联。
优选地,所述接入服务器响应所述认证信息是否与一个授权用户相关联的验证结果,向所述接入设备提供至少一个密钥。
优选地,所述验证包括将所述认证信息与至少一个登记的信用证明进行比较。
优选地,每个接入设备包括一个安全边界。
优选地,所述接入服务器包括一个安全边界。
优选地,所述接入服务器的至少一个加密处理器为所述接入设备生成多个密钥,并且所述接入服务器依据与多个用户相关联的签名认证信息,提供所述密钥来选择一个所述接入设备。
根据本发明的一个方面,提出一种接入设备,包括安全边界内的至少一个加密处理器;至少一个输入设备,用于直接向所述安全边界内提供认证信号。
优选地,所述至少一个输入设备包括一个RFID读取器。
优选地,所述至少一个输入设备包括一个传感器。
优选地,所述至少一个输入设备包括一个生物传感器。
优选地,所述至少一个输入设备包括一个指纹读取器。
优选地,所述至少一个输入设备包括一个键盘。
优选地,所述至少一个输入设备和所述至少一个加密处理器内置于一个共同的集成电路内。
优选地,所述至少一个输入设备包括一个传感器。
优选地,所述至少一个输入设备包括一个指纹读取器。
优选地,所述至少一个输入设备包括一个RFID读取器。


下面将结合附图及实施例对本发明作进一步说明,附图中图1是根据本发明的用户认证系统的一个实施例的方框示意图;图2是根据本发明执行的用户认证操作的一个实施例的流程图;图3是根据本发明的用户认证系统的一个实施例的方框示意图;图4是根据本发明执行的用户认证操作的一个实施例的流程图;图5是根据本发明的基于邻近技术的认证系统的一个实施例的方框示意图;图6是根据本发明执行的基于邻近技术认证操作的一个实施例的流程图;图7是根据本发明的接入设备的一个实施例的方框示意图;图8是根据本发明的处理系统的一个实施例的方框示意图;图9是根据本发明的安全模块的一个实施例的方框示意图;图10是根据本发明执行的操作的一个实施例的流程图;图11是根据本发明的安全模块的一个实施例的简化框图;图12是根据本发明执行的操作的一个实施例的流程图。
依据日常实践,附图中描述的多种特征并未按比例进行描述。因此,为清晰起见,对本发明的各种特征进行描述的图例可明显的放大或缩小。此外,为清晰起见,某些附图进行了简化。因此,某些附图并未对指定设备或方法的所有部件都进行了描述。此外,在整个说明书和附图中,相同的标号数字表示相同的特征。
具体实施例方式
以下将结合具体实施例对本发明进行详细描述。很明显,本发明可以多种形式实现,其中的一些可能与下文中公开的实施例截然不同。因此,本申请中公开的具体结构和功能特征仅仅是为了对本发明进行描述而列举的例子,不是对本发明范围的限制。
一方面,本发明涉及一种提供用户级认证的系统和方法。例如,这里描述了向设备认证用户的各种技术。此外,这里还描述了向设备认证用户以使其能接入数据网络的各种技术。
在传统的数据网络中,使用设备级认证来确保只有授权设备才允许连接到网络。本申请中,使用加密技术来对一台设备进行认证,以证实这台试图连接到网络的设备就是其所声称的那台设备,并且是该网络的授权用户。例如,设备一般通过像路由器这样的接入点连接到网络。这样的话,向路由器和授权设备提供一致的加密密钥,使得这些设备可以执行加密操作,用来提供所期望的认证。在这种网络中,必须提供一种安全机制以向所有可能连接到网络的设备安全的分配密钥。传统的做法是,由用户或管理员手动地将密钥加载到这些设备上(例如,通过键盘或软件程序)。
这种设备级认证有许多的缺点。例如,它不能验证到底是哪个用户正在使用该设备。此外,当多个用户使用同一台设备的时候,没有一种有效的机制以确定应该使用哪个验证信息(例如,密码证书)来对系统进行认证。
图1所示为根据本发明的一个实施例的系统100,该系统中,一个和多个用户(图中未标出)可以通过接入服务器106使用一台或多台接入设备102和104来访问服务130(例如,连接到数据网络)。例如,若要访问某服务,用户需首先向接入设备102出示认证信息(例如信用证明108,例如密码)。为方便起见,术语“信用证明”可用于代表用户为进行认证所出示的任何信息。
接入设备102可包括一个安全模块,用于提供加密处理,并可结合使用其他的安全机制。例如,安全模块可包括一个或多个加密处理器128,用于执行加密操作,包括加密、解密、认证、验证和签名。使用该安全模块,接入设备102可对从用户接收到的信用证明进行认证,并安全地将它们传送给接入服务器106中的密钥管理器110。
密钥管理器110提供了一种安全的环境,用于生成、分配和维护在系统中使用的密钥。该密钥管理器包括一个或多个加密处理器124,用于安全的执行加密操作,包括加密、解密、认证等。该密钥管理器还包括一个安全数据存储器122,用于通过一种防止密钥被非授权个人或方法访问的方式来存储密钥126。
为提供安全处理和密钥存储,提供了一个与该密钥管理器相关联的安全边界,并由该密钥管理器实施。该安全边界可使用硬件和/或加密技术来建立。
用于提供安全边界的硬件技术可包括,例如将所涉及的部件安装在单个集成电路中。此外,通过使用例如环氧封装等防拆封和/或防篡改技术可以从物理结构上对一个或多个集成电路提供保护。
用于建立安全边界的加密技术可包括,例如在任何敏感数据离开密钥管理器之前对其进行加密。出于此目的,该密钥管理器可使用一个或多个加密处理器124,并将相关的加密/解密密钥126存储在一个内部的安全数据存储器122中。
为维护系统100的安全性,由密钥管理器分发给系统中其他部件的任何密钥都需要得到足够的保护。例如,制定相关规定以保证密钥只发送给相关的授权设备。此外,制定相关规定以对处于分发阶段和接收设备中的密钥进行保护。
某些实施例中,接入设备102包括一个或多个加密处理器128和从接入设备102发往接入服务器106的用于认证信息的密钥(例如,密钥114),用来加强发往接入设备102的密钥的安全传输,并为接入设备102使用的密钥提供保护。
例如,通过使用数字证书和其他的加密处理,接入设备102可向接入服务器106提供强大的认证,以保证发往接入服务器106的信用证明是来自使用特定接入设备的用户。此外,这些处理还可用于验证接入设备102是否为密钥信息提供了高级保护。
一旦认证信息被提交给接入服务器106,密钥管理器110会将密钥安全的分发给接入设备102,使得用户可以访问所期望的服务。例如,密钥管理器会将密钥发给接入设备,使得该接入设备可以连接到数据网络。
图1中所示的实施例提供了一种有效的机制,使得用户可使用多种接入设备来获得对网络的访问。用户首先需向每台设备认证其自己。随后,通过向每台设备分发必要的密钥,接入服务器自动的建立起相应网络。正如这里所描述的那样,这个过程可在具有高级安全性的环境中完成。此外,因为所述接入服务器向每台设备分配了适当的密钥,所以密钥信息不必提供给用户。而且,用户也不必向其在网络中使用的每台接入设备出示数字证书。
系统100的操作将在下面结合图2中的流程图进行详细的解释。如模块202所示,可生成一个或多个密钥以使接入设备安全地与接入服务器通信。某些实施例中,这一过程通过使用非对称密钥来实现。
例如,可向每台接入设备提供唯一的非对称身份密钥114。该非对称密钥的私有密钥部分将存储在所述接入设备的安全边界(如虚线部分112所示)内。例如,加密处理器128可在该安全边界内生成密钥,并且该密钥的私有部分将永远不允许以明文(例如,未加密)的方式出现在安全边界112的外部。下面将对安全边界的其他细节进行描述。
该密钥的公共部分将与数字证书一起发布。例如,接入设备的制造商可在公共的可访问服务器上发布该公共密钥和数字证书。数字证书的作用是验证如下内容公共密钥是真实的,私有密钥并未泄漏在安全边界的外部,持有私有密钥的接入设备提供了一种安全的机制以接收、使用和维护密钥。因此,该数字证书可用来为由持有相应私有密钥的接入设备所提供的任何信息的真实性提供功能强大的验证。
某些实施例中,接入设备和接入服务器可使用非对称密钥来协商一个或多个其他的密钥,用来进行加密处理。例如,可使用这些其他的密钥对在这些部件之间传送的信息进行加密、解密和签名等。通过这种方式,可在接入设备和接入服务器之间建立一条安全通道(如虚线部分116所示)。这就是说,每个部件将可以得到一个或多个密钥,使得他们可以对来自其他部件的加密信息进行解密。通过这种方式,敏感数据(例如,密钥)可以在不安全的链路118上进行安全的传送。
现在来看模块204,为使接入服务器能够识别分配给指定用户的信用证明,所述身份证明需要在接入服务器中登记(例如,输入)。这可以通过使用,例如信用证明登记机制120来完成。某些实施例中,信用证明登记机制可包括一个键盘和服务器的监控台。某些实施例中,信用证明登记机制120可以位于与密钥管理器110相关联并由其进行加强的安全边界内。例如,信用证明登记机制120可包括一个物理上与密钥管理器连接的键盘,一个RFID读取器,一个生物传感器等。这些部件的其他细节将在下面进行描述。
信用证明登记机制120向密钥管理器110提供所述信用证明信息,随后密钥管理器110将生成一个或多个与该信用证明相关联的密钥。这些密钥包括,例如SSL或IPSEC密钥/安全关联,使用户可以登录到加密网络上。随后,该密钥管理器将维护一个数据库,该数据库将每个授权用户的信用证明(例如,信用证明A)与为该用户生成的密钥和证书(例如,密钥A)关联起来。
所述信用证明和与其相关的密钥可存储在安全数据存储器122中。某些实施例中,数据存储器122可以在密钥管理器110的物理安全边界内得到保护。例如,数据库122可位于一个安全封装内和/或跟密钥管理器位于同一集成电路上。某些实施例中,数据存储器122还可以位于密钥管理器的外部。但是,在这种情况下,密钥管理器需要在将密钥存储在数据存储器之前对其进行加密。
现在来看模块206,当用户想通过接入设备102对服务进行访问的时候,该用户需向该接入设备出示其信用证明。某些实施例中,信用证明108可通过例如接入设备提供的键盘和显示器来提供给该接入设备。
某些实施例中,信用证明可通过一条直接通往所述接入设备安全边界的路径提供给所述接入设备。例如,在接入设备104中,信用证明132可直接输入(如虚线部分134所示)到位于安全边界136内的设备中。这可以通过使用一个在物理上结合到安全边界136内一个部件上的键盘、一个RFID读取器、一个生物传感器等来完成。这些部件的其他细节将在下面进行描述。
现在来看模块208,接入设备102通过上述安全通道116向接入服务器106传送信用证明108。例如,加密处理器128可使用从与接入服务器106的上述协商结果中获得的密钥,对所述信用证明进行加密。一般来说,加密处理器128使用这样的密钥或私有密钥114对所述信用证明进行签名。
在模块210,接入服务器106中的加密处理器124对加密的/签名的信用证明进行处理。通过这一加密处理,接入服务器获得了对所述信用证明确实是来自一个正在使用特定接入设备102的用户这一事实的充分认证。此外,还可以通过数字证书确保用户输入信用证明时使用的输入设备(例如,键盘、传感器和RFID部件等)是与该接入设备组合在一起的。
随后,接入服务器106检查信用证明数据库以验证所述信用证明是与一个授权用户相关联的。例如,接入服务器会确定该信用证明是否与存储在数据存储器122中的信用证明(例如,信用证明A)相匹配。
如果结果相匹配,那么接入服务器106会生成或从数据库中获取对应于所述信用证明的密钥(例如,密钥A)。随后,所述接入服务器将该密钥传送给接入设备102(模块212)。一般,为了对传输过程中的密钥提供保护,加密处理器124将对其进行加密。这里,加密处理器可使用协商的密钥或与私有密钥114相对应的公共密钥对密钥A进行加密。
一旦接入设备102接收到加密的密钥A,加密处理器128随即对该密钥进行解密,并将解密后的密钥A 140存储在安全边界112内。这里,加密处理器128可使用一个协商的密钥或私有密钥114来对密钥A进行解密。随后,接入设备102使用密钥A 140来建立到网络(模块214)的连接。
如果有必要的话,该用户还可在随后使用另一个接入设备(例如,接入设备104)来访问网络。这时,该用户会再一次向接入设备104出示其信用证明(例如跟上面一样的信用证明)。随后,加密处理器142对所述信用证明进行加密/签名,并将它们通过不安全链路148上的安全通道146传送给接入服务器。非对称身份密钥144会再一次被用于建立所述安全通道146,形成数字证书的基础,以及对信用证明进行签名等。随后,接入服务器106会验证该信用证明。这里,因为接入服务器收到了相同的信用证明,它就会假设是同一用户在向接入设备104进行认证。因此,接入服务器会通过所述安全信道146将相同的密钥(例如,密钥A)发送给接入设备104,从而将这些接入设备组合到一起。加密处理器142对加密密钥A进行解密,并将解密后的密钥A 150存储在安全边界内。随后,接入设备104使用密钥A来连接网络或访问另一服务。
此外,可以将不只一组的信用证明出示给指定的接入设备以访问网络。例如,分别分配了不同信用证明的多个用户可共享一台接入设备。此外,在访问例如个人服务或雇主服务等不同的服务时,同一用户可能会使用不同的信用证明。因此,可在接入服务器数据库中存储另一组信用证明,并与一个唯一的密钥(例如,密钥B)相关联。当向接入设备104出示这些其他的信用证明时,密钥B将通过上述安全技术提供给接入设备104。因此,接入设备可使用密钥B 150来建立一条单独的连接网络的加密安全连接。
本发明的这些方面将结合图3和4进行更详细的描述。图3是可支持多种通信和数据处理设备的网络系统的一个实施例的方框示意图。
在图3中,接入设备通过接入点(例如,一台路由器)304连接到例如Internet的广域网(“WAN”)302。这里,该接入点用作上述的接入服务器。可选择地,接入点304还可以连接到一台接入服务器(未标出),这样一来,当在接入服务器和接入设备之间传送时,信用证明和密钥将通过该接入点。在这两种情况下,系统所有授权用户的信用证明可在该接入服务器中登记。
接入点304可为有线或无线设备提供连接。例如,网络打印机312可通过如实线部分306表示的有线连接连接到该接入点上。基于因特网协议的语音(“VoIP”)电话314也可以通过如实线部分308表示的有线连接连接到该接入点上。
其它设备可通过例如曲线310表示的射频(“RF”)信号连接到该接入点上。这里,接入点304可支持例如蓝牙、802.11和GSM等无线标准。
接入设备可以是支持蓝牙协议的VoIP电话314,支持802.11和/或蓝牙的笔记本电脑316,支持802.11和/或蓝牙的个人数字助理(“PDA”)318,支持例如GSM的蜂窝电话,个人娱乐设备320,支持GSM/802.11以及可以通过蓝牙与外围设备例如无线手持机324通信的电话322,支持802.11无线连接以及可以与无线外围设备例如支持蓝牙的键盘328和鼠标330通信的个人计算机326。
正如这里所描述的,设备312-330中的每一台都可以包括一个安全模块(未标出),使上述设备可以更安全有效的接收任何连接数据网络302和/或其他设备所必须的任何密钥。在后一种情况下,例如,密钥可以在设备之间安全的发放,以使外围设备(例如,键盘328)可以与基础设备(例如,计算机326)安全的通信。因此,用户仅需要向该设备出示其信用证明,就可以将任何这些设备连接到网络或其他设备上。在外围设备(例如,键盘328)的情况下,信用证明将首先通过基础设备(例如,计算机326),随后路由到接入服务器304。
应用于这些设备中的认证部件和处理的其他细节将在下面进行描述。例如,向接入设备或接入服务器提供信用证明的几个实施例在下面结合图5-图8进行描述。此外,安全模块的几个实施例也在下面结合图9-图12进行描述。
图4所示为一个网络系统(例如,如图3所示)中执行的操作的流程图。例如,这样的一个系统可以包括多个接入设备,并支持多用户和多级别信用证明。通常情况下,这些操作可以结合图1和图2来执行。为方便起见,图4或下面的描述并未涵盖处理过程中的所有操作。
如步骤402所示,用户(简称“用户A”)的一个信用证明登记在所述接入服务器中。在步骤404,用户A向一台接入设备(简称“接入设备1”)出示其信用证明。接入设备1将该信用证明发送给接入服务器,在接入服务器验证该信用证明已经登记之后,将相关联的密钥发送给接入设备1(步骤406)。随后,接入设备1使用与用户A关联的密钥来连接到网络(步骤408)。
如步骤410-步骤414中所示,当用户向系统中的多个接入设备出示其信用证明后,网络将会自动建立。如步骤410所示,用户A可向另一台接入设备(简称“接入设备2”)出示其信用证明。接入设备2将该信用证明发送给接入服务器,在接入服务器验证该信用证明已经登记之后,将相关联的密钥发送给接入设备2(步骤412)。随后,接入设备2使用该与用户A关联的密钥来连接到网络(步骤414)。
如步骤416-步骤422所示为几个用户可以使用同一台指定设备来访问网络。这里,每个用户分配有不同的信用证明。如步骤416所示,另一个用户(简称“用户B”)的信用证明将登记到接入服务器中。在步骤418,用户B也向接入设备1出示其信用证明。接入设备1将该信用证明发送给接入服务器,在接入服务器验证该信用证明已经登记之后,将相关联的密钥发送给接入设备1(步骤420)。随后,接入设备1使用该与用户B关联的密钥来建立一条完全独立的到网络的加密安全连接(步骤422)。
实际中,上述关联到用户B的一组完全独立的信用证明可以是分配给指定用户(例如,用户A)的第二组信用证明。例如,一个用户可以使用分配给他的一组信用证明来访问一个网络(例如,一个家庭网络),而使用分配给他的另一组信用证明来访问另一个网络。在图3中,设备314和316可用于连接用户办公室中的一个企业LAN。在这种情况下,可通过WAN 302和其他的路由机制332向办公室网络334提供第二组信用证明。一旦交换了合适的密钥,就可以在接入设备和办公室网络334之间建立起一条企业虚拟专用网(“VPN”)或其他形式的连接。再次重申,这一网络与该用户的或系统中其他用户的所有其他网络连接完全独立并进行了加密保护。
步骤424-步骤428所示为其他用户向系统中的多个接入设备出示其信用证明时该网络可继续自动建立。如步骤424所示,用户B可向另一个接入设备(简称“接入设备3”)出示其信用证明。接入设备3将该信用证明发送给接入服务器,在接入服务器验证该信用证明已经登记之后,将相关联的密钥发送给接入设备3(步骤426)。随后,接入设备3使用这个与用户B关联的密钥来连接到网络(步骤428)。
与传统系统相比,上述的系统体现出了许多优势。传统网络只能提供通过对前端和所有可能连接到网络的设备进行手工配置来实现的设备级认证。例如,路由器需要由物理连接至该路由器的LAN端口的管理员对其进行配置。这里,该管理员需要为路由器输入密钥,并且确认每台可能连接到该路由器的设备。此外,为使这些设备能够连接到该路由器,管理员还需为网络中的每台设备手工配置必需的密钥。
相比之下,根据本申请构建的网络,可在用户向相应设备认证其身份后,通过将这些设备组合(例如,接入设备)到一起而自动的建立。这是通过,例如在系统级进行安全认证来实现。例如,还可以验证用户的邻近程度以及安全模块对密钥提供的保护(例如,使用适当的硬件)。
可以使用多种安全技术来向设备提供用户认证。例如,可以通过一直接连接将信用证明提供给密钥管理边界,还可以通过RFID信号或物理上位于设备安全边界内的传感器将信用证明传送给设备的安全边界。
这里,可以使用基于公共/私有密钥对的数字证书来建立网络。该处理可通过使用在每个部件中都能得到保护的私有密钥来初始化,该处理还提供了一种安全环境,在该环境中,各部件可以动态的改变密钥。
此外,每个用户不必访问用于验证其身份的密钥,这是因为该用户不必在每台设备上预先配置正确的密钥。作为替代,用户只需出示信用证明等类似信息就可以通过指定设备对网络进行访问。
此外,还可以对系统进行配置,使其可以提供多个网络。每个网络可包含指定的一组部件,定义给不同的用户和/或同一指定用户的不同许可级别。通过使用加密技术对网络访问进行认证,对通过每个网络的数据流加密,这些网络彼此之间可以安全的分开。
现在来看图5-图8,向设备提供信用证明的机制的几个实施例将在接下来进行讨论。总之,以下将介绍向一个接入设备提供信用证明。虽然如此,这些方法也可用于向接入服务器或系统中的某些其他部件提供信用证明。
图5所示为系统500的一个实施例,其中,当分配给用户的无线令牌临近计算设备时,所选择的服务将通过计算设备提供给用户。接入设备502,例如一台计算机,包括一些部件,用于确定分配给用户的无线令牌(例如,一个RFID令牌)是否处于临接近入设备502的位置。例如,可以使用一个无线接近读取器(例如,一个RFID读取器506)接收来自无线接近令牌516的信号530。信号530可包括有确认无线接近令牌516的唯一身份的信息。例如,这些信息可包括一个或多个信用证明528(例如,密码),用于通过接入服务器504来访问加密服务。
在确定令牌516跟读取器506之间接近程度时,可使用许多种方法,这依赖于实际应用的情况。某些实施例中,只有当令牌处于读取器的指定距离范围内时,该令牌才会生成信号。而这可以通过,例如使用被动令牌来完成,该被动令牌解读读取器发出的信号,并响应接收的信号向该读取器发出信号。表示接近程序的令牌516和识别器506之间的不同距离可根据应用的要求以及某些情况下根据操作系统的特征来定义。
接入设备502可通过在通信链路526上发送请求,向接入服务器504请求访问服务。根据特定的应用,通信链路526可包括,例如,电线、光缆或无线连接。因此,接入设备502可支持与接入服务器504之间的有线或无线通信。
一般来说,对服务的访问开始于用户同接入设备502之间的交互。例如,用户可使用键盘或点击设备(例如,计算机鼠标)来访问服务。在此期间,用户将被要求输入密码和/或向生物传感器提供生物(例如,指纹)信息,以认证其身份。在这种情况下,只有当用户提供了足够的信用证明包括,用户所掌握的信息(例如,密码),用户所具备的证件(例如,令牌),和该用户的身份(例如,物理或生物特征)之后才能访问相应的服务。
接入设备502使用了安全机制,来确保维护在接入设备中的用户所提供的信用证明,在发往接入服务器504的过程中是安全的。例如,接入设备可提供一个安全边界,其内的任何接收自令牌的信息都将以一种安全的方式使用和维护。此外,接入设备502还可包含一个安全模块508,用于提供加密处理,以对信用证明进行加密。某些实施例中,信息只能在识别器506和安全模块508之间,通过一条位于公共集成电路512上的连接来传送。因此,可对接入设备进行配置,使得信用证明永远不会在该集成电路外部以明文方式出现。
此外,接入设备502还可与接入服务器504进行加密通信。例如,可在安全模块508和接入服务器504之间建立密码加密通信通道518。在这种情况下,安全模块508向接入服务器504发送信用证明之前,会首先对其进行处理(例如,加密/签名)。因此,安全模块将提供强大的认证,即该信用证明是来自接近特定接入设备502的特定令牌516。
在接入服务器504从接入设备502收到认证后的信用证明之后,接入服务器就可以提供所请求的服务。“服务”可包括,例如访问数据和/或数据处理服务。因此,一项服务可使得接入设备在数据存储器中读取或写入数据,访问加密的数据,使用加密密钥,对加密信息例如安全关联和密钥进行访问,访问网页,访问数据网络或访问处理程序。
正如这里所用到的一样,术语“数据”可包括任何可由计算设备访问的信息,包括,例如数据文件、密码和包含密钥在内的加密安全关联。
正如这里所用到的一样,术语“访问”可包括,例如获取、使用或调用等。因此,可通过向接入设备提供一份该数据的副本来访问数据,也可以通过允许接入设备操作或使用该数据来访问数据。后者的一个例子是,一旦用户被授权访问某项服务,可信平台模块可使用密钥来为用户执行相应的操作。对于数据网络来说,访问可包括,例如通过网络发送和/或接收数据。对于处理应用来说,访问可包括,例如对该应用程序进行调用,与其进行交互,对其进行使用或将其加载到接入设备中。
接入服务器可包括用于提供服务硬件和/或软件。例如,接入服务器可包括处理系统,用于处理服务请求,验证该请求者是否是所请求服务的授权用户或提供所请求的服务。
实际中,就与所请求服务(例如,接入设备502)的位置关系而言,接入服务器可位于本地或远端。例如,一个本地的可信平台模块可控制对计算系统中密码的访问。而一个远端无线接入点可控制计算系统对连接到该接入点上的数据网络的访问。
接入设备可包括硬件和/软件,用于对服务进行访问。例如,接入设备可包括计算机系统,例如但不限于个人计算机、服务器、蜂窝电话和个人数字助理等。
为方便起见,在图5中只描述了一个令牌、接入设备和接入服务器。但是,应当明白,该系统可包括任意数量的这类部件。例如,用户可使用一个令牌通过一个或多接入设备来访问一项或多项服务。因此,一台接入设备可访问来自多台接入服务器的服务。同样的,多台接入设备可访问由一台指定接入服务器提供的服务。
对访问服务的授权依赖于所使用的特定令牌和接入设备。例如,用户可分配到一个令牌,用于通过某一接入设备来访问某一服务。此外,用户还可分配到另一令牌,用于通过同一或另一接入设备来访问其他的服务。同样的,单个令牌上可包含多组信息(例如,信用证明),使得同一用户可访问不同的服务,或让多个用户共享同一令牌。
无线接近读取器和令牌可使用多种无线接近技术中的一种或几种来实现。例如,无线接近读取器和令牌可支持,例如但不限于,RFID、ISO14443和ISO15693中的一个或多个。
依赖于不同应用的需要,令牌可通过多种物理形式实现。例如,令牌可采用易于携带的形式,类似于塑胶信用卡、智能卡或门卡等。同样的,令牌也可采可附着在其他物质上的标签或标贴的形式。
令牌可以是包括但不限于智能卡、信用卡、加密狗、标记卡、生物设备例如指纹识别器、移动设备例如蜂窝电话和PDA等。某些实施例中,令牌包括使用在通用智能卡中的电路。例如,令牌可存储将发送给认证系统的加密密码。
现在来看图6,这里将描述对基于接近技术的认证系统的有关操作和配置方面的其他细节。如步骤602所示,在接入设备502中提供了一个安全边界,用于对获取服务访问的过程进行保护,包括对认证过程和认证过程中用到的信息进行保护。该安全边界可通过使用硬件和/或加密技术来实现。
用于提供安全边界的硬件技术可包括,例如,将相关部件安装在单个集成电路上。如图5所示,RFID读取器506、安全模块508和其他处理部件510可共同安装到同一块集成电路512上。因此,除非通过物理访问集成电路512,并使用入侵技术分析集成电路512内部的操作和数据,否则集成电路512上执行的任何处理过程或在其上使用或存储的任何信息都不会被泄露。对于许多应用来说,这种形式的硬件安全边界可提供一种可以接受的高级安全保护。
安全边界还可以使用其他方法来提供。例如,可以通过使用已知技术(例如,环氧封装)的物理结构对一个或多个集成电路(例如,集成电路512)提供保护。同样的,处理系统502和/或其内部部件也可以采用防篡改和/或防拆封技术。
用于提供安全边界的加密技术包括对通过系统中通过非安全路径发往或发自集成电路的任何重要信息进行加密。例如,安全关联和密钥只可能在集成电路512内部才以明文方式出现。当密钥需要发往集成电路512外部(例如,存储在数据存储器514上)时,会首先进行加密。
类似的,在集成电路512和接入服务器504之间传送的任何重要信息都被加密。例如,从RFID令牌516接收到的信息(例如,信用证明528)在通过链路526发送前会被加密。
图5中加密安全边界由虚线部分518表示。虚线部分518部分的展示了加密信息在安全模块508、处理部件510和数据存储器514之间进行传送。因此,该信息可以被安全的传送,尽管信息所通过的某些器件可能并不是安全的(例如,数据总线520)。
加密信息同样也可以通过通信链路526在集成电路512与接入服务器504的密钥管理器524中的加密处理器522之间传递。在这种情况下,当需要发送和接收加密信息并以明文形式提供该信息以进行内部处理时,加密处理器将执行密钥交换、加密、解密和/或认证等操作。
通常来说,系统内部提供的保护形式依赖于指定应用的要求。例如,FIPS-140-2规范定义了可以在系统内部实现的多个安全级别。
集成电路512提供的安全边界和加密边界518可用于提供一种安全机制,以对访问服务的用户进行认证。例如,从RFID令牌516接收到的信用证明528可通过射频信号530直接提供给集成电路512。因此,无需将信用证明528通过软件机制或可由软件访问的硬件输入到处理系统502中。这样一来,在这一处理阶段中该信息将不会受到黑客或软件病毒的威胁。
一旦信息到达集成电路512,就将受到集成电路512的物理边界和加密边界518的保护。例如,规定必须确保上述信息不会以明文的形式出现在集成电路512的外部。因此,即使处理系统502中的欺诈软件获得了对芯片512外部的信息的访问,但在没有正确的密钥信息的情况下,该软件也不能对上述信息进行解密。而且密钥信息也在集成电路512和加密边界518中受到保护。也就是说,密钥信息不会以明文形式出现在安全边界的外部。这样一来,信用证明就可以安全的路由到接入服务器504中。
此外,通过这种安全机制,在特定RFID令牌516接近接入设备502时,该接入设备502可以向接入服务器504提供可靠的认证。首先,如前所述,信用证明将以一种安全的方式接收。其次,将在安全边界内作出有关令牌516是否足够接近的有效判断。然后安全模块508将使用在它与密钥管理器524中的加密处理器522之间建立的安全协议对这一信息进行密码签名。通过这个签名,接入服务器可确定指定的信息是来自特定的处理系统(例如,接入设备502),并且信息没有受到入侵。因此,令牌516接近处理系统502这一方法,可用作对服务提供者所提供的加密服务进行访问的一种可靠授权方法。
以下将结合图6介绍用于访问服务的操作的一个实例。如步骤604所示,当RFID令牌516位于接入设备502的合适范围内时,RFID读取器506将从RFID令牌516接收到一个RFID信号530。如上所述,RFID信号530将被安全边界内的接入设备502接收到。
如步骤606所示,可以对系统500进行配置,使得RFID信号中包含的任何信息只能在安全边界内提取出来。例如,如图5所示,用于从RFID信号530提取信用证明的RFID读取器506安装在包括有其他部件以保护该信用证明的集成电路512中。例如,集成电路512可包括安全模块508,对信用证明(步骤608)进行加密/签名,以防止信息以明文形式出现在集成电路512的外部。这里,安全模块508中的加密处理器可使用私有密钥540来对信息进行加密。与此私有密钥相关联的公共密钥可由一个可信实体连同证书一起发布。该证书用于校验公共密钥的真实性。随后,加密处理器522将使用公共密钥来验证从安全模块508接收到的信息的签名。图5中,还可使用一个补充处理来通过链路526向另一个方向发送信息。
因此,当安全模块508中的加密处理器对信用证明签名后,签名后的信用证明将通过链路526(步骤610)发往密钥管理器524。通过这种方式,实际上,该信息通过一条安全通道发送(如实线部分518相应部分所示),即使实际的数据路径并不安全。
密钥管理器524将接收到的信息发往加密处理器522进行必要的解密和/或认证处理。随后,密钥管理器524验证该接收的信息,指示该用户已经得到授权可以访问该网络(步骤612)。某些实施例中,接入服务器504可包括无线接近设备(例如,RFID读取器)和相关的处理,使得在用户向接入服务器出示其令牌之后,其信用证明可以很容易并直接地加载到接入服务器中。在其他实施例中,还可以使用非专用RFID读取器来获取该信息。随后所获取的信息可使用其他方法(例如,通过通信介质下载)加载到接入服务器中。
因为密钥管理器524已经通过与信用证明相关联的密码签名得知令牌516邻接近入设备502,所以一旦该信用证明通过验证,密钥管理器524将确信可以提供对所请求服务的访问了。如上所述,提供对网络的访问包括向接入设备502发送安全关联或密钥。这些密钥可通过安全通道(加密边界518)发送给接入设备502。因此,加密处理器522会在将这些密钥发送到链路526上之前,对其进行加密(步骤614)。
可对接入设备502进行配置,使得这些密钥等信息可以在其安全边界内进行解密和维护(步骤616)。例如,这些密钥(例如,密钥540)可存储在集成电路512中。可选择地,在将这些密钥存储到数据存储器514之前,安全模块中的加密处理器可使用密钥(例如,密钥540)对接收到的密钥进行加密。
如步骤618所示,接入设备随后使用接收到的密钥来获得对网络的访问。需要再次强调的是,某些实施例中,这些密钥只有在处于接入设备502的安全边界内的时候,才允许以明文形式使用。
接近认证设备的其他细节在2004年9月30日申请的申请号为10/955806的美国专利申请中有公开,本申请在此全文引用该美国专利申请公开的内容。
图7所示为提供安全机制以输入信用证明的接入设备的另一实施例。接入设备700包括一个输入设备704,位于接入设备700的安全边界内。例如,输入设备704可以和安全模块706位于同一集成电路702上。这样一来,用户可以直接将其信用证明输入到安全边界内。
此外,安全模块706还可以使用一个或多个密钥(例如,密钥708)对安全边界内的信用证明进行加密,这样一来,该信用证明就不会以明文的形式出现在安全边界的外部。因此,安全模块使用加密技术对安全边界进行了有效的扩展。例如,通过在存储之前对数据进行加密,安全边界可有效的扩展至外部的数据存储器714(如虚线部分716所示)。此外,该安全边界还可通过通信介质有效的扩展(如虚线部分720所示)到另一加密处理系统(未标出)。
在图7所示的实施例中,接入设备结合有无线接口710和天线712(或另一形式的无线收发器),以通过无线信号718来和其他的无线设备(例如,无线接入点和接入服务器,未标出)进行通信。某些实施例中,该接入设备的数据通信接口710可与例如安全模块706位于同一集成电路上。该无线接口可支持802.11、蓝牙和/或其他无线通信标准。
某些实施例中,输入设备704可以是一个传感器,例如生物传感器。该传感器可包括一个指纹读取器。可选择的,该传感器还可包括视网膜/虹膜扫描器,用于语音识别的语音输入设备(例如,麦克风),用于面部特征识别的照相传感器(例如,CCD设备)或DNA检测设备。此外,集成电路上还提供有合适的处理以对该信息进行提取和分析。
某些实施例中,接入设备将输入信息传送给接入服务器以获得对服务的访问。该信息也可登记在密钥管理器中。因此,如上所述,密钥管理器可将接收自接入设备的信息与保存已授权信用证明(例如,指纹数据)的密钥管理器数据库中的数据进行对比。当找到匹配项时,密钥管理器就会向发出请求的接入设备提供相关的密钥。
某些实施例中,接入服务器可包括输入设备和相关的处理,以使上述信息可以更容易、更直接地加载到接入服务器中。在其他实施例中,可使用非专用输入设备(例如,传感器)来获取上述信息。随后,通过其他方法(例如,通过通信介质下载)将所获取的信息加载到接入服务器中。
图8所示为系统800的一个实施例,为用户输入信用证明提供一种安全机制。处理系统802包括一个安全处理系统,例如可信平台模块(“TPM”)804。
一般来说,该可信平台模块可为处理系统生成和维护密钥。例如,TPM可具备一系列加密能力,使得某些计算机进程可以在TPM环境(例如,硬件)中安全的执行。在这点上,该TPM可包括一个或多个用于执行加密操作的加密处理器,其执行的加密操作包括加密、解密、认证和密钥管理。有关TPM的规范由可信计算联盟(Trusted Computing Group)定义。
一般,为访问由TPM管理的服务,用户必须首先在TPM中登记其信用证明。这包括,例如,向TPM提供密码。在这点上,TPM可包括一个输入设备(未标出),该输入设备中用到了前面已经讨论以及下面将要讨论的一些安全输入机制和技术(例如,直接连接、RFID、生物探测器和键盘等)。
随后,当用户想要访问由TPM所管理的服务时,该用户必须首先向TPM认证其身份。这包括,例如,向TPM提供原始密码。在这点上,处理系统802可包括一台输入设备806,通过链路808连接到TPM。
某些实施例中,该链路可直接从输入设备路由到TPM,以确保数据通过该链路安全发送。例如,该链路上的数据不使用软件例程例如操作系统呼叫来进行理由。此外,来自该链路的数据将不会存储在也可以由系统中其他部件访问的数据存储器上。例如,该数据不会通过软件栈传送,也不存储在可以通过内部总线例如PCI总线访问的数据存储器上。这样一来,在输入信息发往TPM的过程中,不会受到已侵入系统的病毒和黑客等的威胁。某些实施例中,物理地将输入设备806嵌入或连接到处理系统内/上,可以提供另外一级保护。
通过使用物理和加密技术,TPM可以在其安全边界内安全的使用和维护敏感信息,例如信用证明。在安全边界内完成对信用证明的验证后(例如,将收到的信用证明跟先前登记的信用证明进行对比),TPM 804就可以提供所请求的访问,或从另一处理实体获取对服务的访问。
某些实施例中,用户向TPM认证其身份以使用存储在TPM安全边界内的密钥。例如,图8中的系统可用于访问存储在本地数据存储器(例如,文件存储器812)上的加密数据(例如,加密密码)。在这种情况下,TPM 804存储有对加密信息(例如,密钥、安全关联等)使其能对加密的数据进行解密。典型情况下,一旦用户通过认证,TPM在其安全边界内使用该密钥,然后将结果提供给用户。例如,TPM可将解密的数据(例如,媒体内容)或签名的数据返回给用户。通过这种方式,可以使用该密钥而又不会将该密钥以明文的形式暴露在TPM安全边界的外部。
在TPM中密钥的存储空间不足的情况下,TPM会将密钥进行加密,然后将其传送到外部的数据存储部件(例如,文件存储器812)中。因此,即使文件存储器812中的加密的数据文件可以被系统中的其他部件所访问,加密数据的安全性仍然能得到保证,因为密钥已经进行了加密。换句话说,敏感信息只有在处于TPM的安全边界内的时候才会以明文形式使用。
某些实施例中,TPM 804可控制通过网络接口810对一个或多个数据网络822的访问。这里,TPM 804可向连接到网络的服务提供者提供网络认证信用证明(例如,证书),以向该服务提供者认证其身份。这些网络认证信用证明可安全地存储在TPM 804的数据存储器(未标出)中,或以加密的形式存储在文件存储器812中。
网络接口810可用于连接有线和/或无线网络。如此所述,可以使用加密技术来确保在TPM 804和其他连接到网络的设备之间所传输数据的安全性。因此,可使用一个网络连接来与密钥管理器通信,以获得密钥信息(例如,安全关联)和对密钥使用的授权。
输入设备814是输入设备的另一个实施例,用于向处理系统安全地提供信息(例如,信用证明)。输入设备814包括安全模块818和安全边界内的密钥820,用来提供加密功能。例如,安全模块可用于对输入到输入设备的信息(例如,信用证明)进行加密/签名。通过这种方式,这些信息可安全的发送(如虚线部分816所示)给TPM 804。
安全模块818和可信平台模块804可包括一些部件,并能执行一些在此介绍的操作来提供强大认证以及建立安全通道。例如,公共密钥及相关的证书可公布给安全模块818,使得TPM可以使用本申请介绍的技术验证输入设备的真实性和安全性。这样一来,就可以在这些部件之间建立安全通道816,从而将TPM的安全边界扩展至包括输入设备814和该安全通道。
由于在各部件之间传送的信息可以通过这种方式进行保护,所以输入设备814不必与处理设备安全地连接。因此,输入设备814可以使用在各种应用中,即输入设备处于处理系统802的远端,并通过有线或无线接口例如网络与其相连。此外,输入设备还可以使用在一种应用中,其中输入设备可以通过一条不安全链路(例如,计算机的USB链路)连接TPM。
某些实施例中,输入设备814上的输入机构(例如,键盘和传感器等)可以通过一种安全的方式与安全模块818连接。例如,该输入机构可以与安全模块安装在同一集成电路上。此外,这些部件可以实现在一个物理保护的封装内。因此,输入设备814的安全边界可包括该输入机构、安全模块818和安全模块用来存储加密信息的外部存储器(未标出)。这样一来,输入设备814可以提供一种更高级别的安全机构,以便用户向TPM 804提供信用证明。
以下将结合图9-图12对安全模块的几个实施例所选的部件和操作进行更详细的讨论。某些实施例中,安全模块可提供多级密钥信息所需要的密钥保护和管理(例如,实现密钥的合适使用)。
此外,安全模块还可提供加密处理,例如为安装了安全模块并使用加密服务的设备(例如,接入设备)执行加密、解密、认证、验证和签名等处理。例如,安全模块可安装在需要特定形式的数据安全和认证等的终端用户的客户端设备上,例如蜂窝电话、笔记本电脑等。某些实施例中,安全模块可集成到这些设备的现有芯片上(例如,主处理器)。
安全模块可配置为安全边界的一部分,并对后者进行加强。例如,该安全模块可被配置为永远不允许明文密钥离开安全模块或包含该安全模块的芯片。这样一来,该安全模块就可以安全的集成到其他设备或系统上,而无需考虑位于安全模块外部的该系统是否是安全的。
通过这种方式,安全模块可以为客户端设备提供更高的安全性和具备良好性价比优势的远程密钥管理。该安全模块可提供和/或支持任何需要的加密处理。可以在设备中建立一个安全边界来安全的维护和使用密钥和密钥信息。系统可以通过该安全模块由远程密钥管理系统(例如,硬件安全模块和TPM等)进行安全管理。因此,可以使用相对较小的安全模块为终端用户设备提供高级安全功能,并能将对该设备其他部分的影响降到最低。
为支持这种密钥使用和管理方法,安全模块提供了相应的机制,将一个或多个密钥安全的加载到该模块内,安全的存储这些密钥和安全的使用这些密钥。图9中所示的无状态硬件安全模块900提供了这种机制。
无状态模块900包括主控制器906,用来控制该模块的全面操作。例如,该控制器可控制启动操作、密钥管理操作(如果适用的话)和数据及密钥在该模块中的进出操作。该控制器可包括一个处理器和相关代码(例如,ROM 908)和/或一个状态机或其他硬件。该控制器和/或该无状态模块中的任何其他部件可通过内部总线930与该无状态模块中的其他部件进行通信。
某些实施例中,主控制器906包括一个包含有ROM代码的RISC处理器,执行用于控制该无状态模块相关操作时所必须的多种命令。该主控制器模块还包括一个用来为内部总线930上每个从模块的地址进行解码的地址解码器。RISC引擎可使用数据缓冲器926的受保护部分来作为临时堆栈和临时数据空间。
双向外部接口920提供了一种机制,用来向该模块发送或从该模块接收密钥和/或数据。例如,该外部接口包括可由控制器和连接到该无状态模块的外部设备(例如,一台主机)写入或读取的寄存器。在这种情况下,可对控制器进行配置,使其永远不向上述寄存器写入某些数据(例如,未加密的密钥)。
外部数据接口920可被一台本地主机用来读取全局寄存器,发布命令以及将数据传送到数据缓冲存储器926中,等待无状态模块的处理。主控制器可通过全局寄存器模块922对外部接口进行控制。这些全局寄存器包括命令(“CMD”)、计时器和配置(“CONFIG”)寄存器。主控制器在全局寄存器模块和数据缓冲存储器926之间传输数据。
命令接口直接向数据输入和输出寄存器提供流数据接口,其允许在数据的输入和输出过程中使用外部的FIFO(独立的FIFO)。该接口使无状态模块可以很容易的嵌入到基于分组的系统中。
某些实施例中,将要加密或解密的数据(例如,将要被处理的数据或密钥信息)可通过一个或多个数据接口发往或发自无状态模块900。例如,数据接口902可用于将加密数据或密钥(例如,由该模块进行了解密的数据)发送给加密加速器,反之亦然。此外,数据接口还可与生成的数据需要由无状态模块进行加密的输入设备(例如,传感器)连接。随后,加密数据将通过外部接口920发往一个外部处理部件。
一个或多个加密处理模块执行获取或使用密钥或加密处理流经该模块的数据所必须的任何加密处理。例如,可使用各个处理模块来执行非对称密钥算法,例如DSA、RSA、Diffie-Hellman(模块914),密钥交换协议或对称密钥算法,例如3DES、AES(模块912),或认证算法,例如HMAC-SHA1(模块910)。该加密处理模块可通过硬件中和/或使用一个执行存储在数据存储器(例如,ROM)上的代码的处理器来实现。
一般,该实施例包括生成非对称密钥,用于与远端设备建立安全通道,对从该模块发往远端设备的信息进行认证,反之亦然。这里,该非对称密钥的私有部分维护在该芯片的安全边界内。此外,该无状态模块还包括一个将非对称密钥的公共部分导出的机构。例如,该公共值将加载到上述外部接口寄存器中,使其可在随后被外部设备读取。该公共密钥值可以通过向无状态模块发出一条公共密钥读取命令来从上述无状态模块中读取。作为对该命令的响应,该模块向该设备返回该公共密钥值和任何不受保护的配置信息(认证数据和产品配置数据等)。
某些实施例中,根身份密钥用作非对称密钥的基础。例如,无状态模块的根密钥可包括非对称密钥对(秘密或私有,公共),用于唯一的标识该无状态模块。某些实施例中,该密钥只用于数字签名,以安全的标识无状态模块。
某些实施例中,将有一个或多个密钥(例如,该模块的根密钥、身份密钥)被加载到无状态模块中。这可以在芯片制造过程中,在芯片测试过程中,在OEM(例如,电路板制造商)的制造过程中和在OEM的测试或为终端用户安装过程中实现。这一技术可用于加载对称和/或非对称密钥。
某些实施例中,该无状态模块可在其内部生成一个或多个密钥(例如,根密钥,身份密钥)。例如,该无状态模块可包括一个随机数生成器(“RNG”)918和其他为生成密钥所必须的电路。这种实施例可提供增强的安全保护,使得在其中生成的密钥永远不会离开芯片的安全边界。
某些实施例中,设备身份密钥包括一组随机位,用于为无状态模块中的长时固定密钥生成密钥信息。例如,RNG 918可以使用内部随机数值生成一个随机数作为秘密初始种子。初始种子中比特位的数量由系统所需要的密钥熵的数量所决定。
某些实施例中,不会直接使用来自随机数生成器918的值。例如,在进行内部使用以及将该值发往外部的无状态模块用作随机值之前,先由主控制器使用SHA-1模块910对之进行后期处理。主控制器将在数据缓冲存储器926中维护一个后期处理后的随机位(用于密钥生成和签名)的高速缓冲存储器。
随机数生成器918可以是一个“真正的”随机源。例如,它可使用自由运行的振荡器来捕捉热噪声作为随机源。
无状态模块还可包括一个私有(或机密性)非对称密钥对,用于通过中间不可靠的第三方(例如该第三方无权访问密钥信息)向无状态模块设备传送安全内容。某些实施例中,该机密性密钥只用作对无状态模块中的密钥信息进行解密。
上述密钥(例如,根密钥和身份密钥等)可存储在一个非易失性存储器(“NVM”)916中。该NVM包括,例如,一个一次性可编程(“OTP”)存储器或电池供电存储器(BBMEM),可位于芯片上,也可位于芯片外。
某些实施例中,片上OTP存储器(如图9所示)具备一定的优点。例如,在这种情况下,密钥可以在设备中从物理上保护起来,不能被轻易的改变或观察到。此外,因为对密钥的使用被限制在了芯片内部,该密钥将不会以明文形式出现在芯片的外部。此外,这种OTP与无状态模块的结合可使用标准CMOS制程来实现。这样一来,无状态模块可以很容易的集成到各种使用在终端用户和其他设备中的现有芯片上。这种结合可提供一种高性价比的安全解决方案。
通过COMS实现的OTP存储器的结构在以下文件有相应的公开美国专利6,525,955、6,693,819、6,700,176和6,704,236,以及申请日为2002年12越20日申请号为09/739,952的美国专利申请,本申请在此引用以上文件公开的全部内容。
根据外部编程信号VPP,主控制器906可通过编程接口对OTP进行编程。主控制器可确保(通过本地硬件加强)设备的密钥、授权和配置数据只接受一次编程,也只能接受一次编程。
密钥加密密钥(“KEK”)高速缓冲存储器924是一个单独的存储模块,其大小基于系统中所要求的KEK的数量而定。一般,它的大小足够容纳会话私有密钥和一个非对称密钥组。
在执行任何不需要使用KEK密钥的命令时,KEK高速缓冲存储器924都可以从硬件上得到保护。例如,提供给KEK高速缓冲存储器的一个来自全局寄存器的信号可显示命令寄存器是处于锁定还是活跃状态,并包含一个请求KEK的命令。某些KEK高速缓冲存储器位于NVM模块中,为无状态模块实现长期密钥。
主控制器可使用应用密钥高速缓冲存储器904来为内部加速核心(例如,公共密钥核心914或3DES核心912)提供加密和解密存储空间。当密钥被无状态模块命令或应用密钥高速缓冲存储器接口使用时,该应用密钥高速缓冲存储器可控制该密钥过期。
总的来说,上述模块的性能、大小和功能可以进行适当的调整,以满足系统的要求。例如,用于连接安全信道和密钥管理器以传输和处理密钥信息(和/或策略)的基本加密功能可以仅仅达到最低处理性能级别。
在不用于密钥管理时,位于无状态模块中的加密加速器可用于进行应用数据处理。例如,用于电子商务应用的无状态模块可用来保护RSA私有密钥。这里,安全通道所要求的公共密钥加速度一般为最低值(小于10个操作/秒)。这样一来,可将任何空闲的处理能力(例如,处理器的空闲周期)用于其他操作。
相比之下,一般的电子商务加速器所需要的公共密钥加速度相对较高(大于500个操作/秒)。此种类型的应用要求使用专门设计的加密加速器以很高的速率来执行加密操作。
一个或多个加密加速器可通过应用密钥高速缓冲存储器接口902直接连接到无状态模块上。一般来说,用于增加加密加速处理的应用密钥高速缓冲存储器接口被维护在安全边界内。例如,该无状态模块和加密加速器可在同一芯片上实现。通过这种方式,明文形式的密钥将不允许离开安全边界,包含公共密钥加速器。然而,通过简单的参考存储在无状态模块中的正确的RSA私有密钥,外部应用程序还是可以像以往那样使用公共密钥加速器。
应用密钥高速缓冲存储器904还可以存储外部加密加速处理器所使用的密钥信息。例如,高速缓冲存储器904可存储解密后的应用密钥(例如,在包含无状态模块的设备上执行的应用所用到的RSA私有密钥)。
无状态模块对使用在远端客户端上的密钥实施密钥策略。该密钥策略可由密钥管理器为所有发送给无状态模块的密钥制定。该密钥策略指出无状态模块如何使用该密钥。除使用策略以外,该无状态模块还可以设置密钥的生存周期。一般来说,密钥的生存周期是从密钥被加载到无状态模块时起的一段相对时间。密钥管理器能使用多级密钥体系结构并实施生存周期策略来确保正确使用密钥以及可在无状态模块中废止。
安全保证逻辑模块928对无状态模块进行保护,防止其受到系统安全攻击。在这点上,可以在无状态模块和/或包含无状态模块的芯片(和/或系统)中的其他部件上安装几个系统监视器。
某些实施例中,当检测到攻击时,保护电路将触发无状态模块的重启。这一重启将擦掉无状态模块中的所有瞬时信息。例如,所有的密钥高速缓冲存储器位置将被清除。一个带有特定信息的中断将提供给本地主机,基于该信息,保护机制触发了重启。
低频保护电路可确保无状态模块的操作频率不会低于指定的阀值,从而确保报时信号寄存器的值在相关频率的范围内不会受到威胁。除了对报时信号值进行保护,低频保护电路还保证很难实现动态攻击以试图在无状态模块的工作过程中读取其中的值。在这种情况下,阀值越高,保护越好。
操作点保护电路可确保无状态模块中的所有逻辑都能按照预先为所有处理、电压和温度条件(或穿过所有操作点的)设计的那样运行。该保护电路可确保即使在无状态模块中的计时路径被攻击的情况下,攻击者也不能改变操作点。
在处理过程中可使用监视计时器模块来确保命令可以在预期的时间段内执行完毕。无论命令(或子命令如公共密钥操作)是否开始执行,主控制器都会对该计时器进行设置。设定的时间取决于所期望的最大命令长度。如果监视计时器的值到了0,就向无状态模块发出重启命令。该监视计时器不能关闭,并且为了避免清除无状态模块的内容,主控制器必须定期向其中写入数据。当无状态模块正在从来自主机的输入中接收命令时,该监视计时器将被暂停。
重启监视器可提供特定的保护,来防止多种重启攻击。该重启监视器使用一个基于报时信号寄存器增量的计时器,在允许例如不止16次的重启发生之前,请求至少一个报时信号。如果在该报时期间发生了超过16次重启,那么在释放第16次重启之前,该无状态模块将请求至少两次报时信号。在对NVM进行适当的编程之前,该重启保护处于无效状态。例如,在生产测试过程中其处于无效状态。
本发明提供有一种硬件保护机构,用于当无状态模块在开启/关闭外部接口之间转换时进入和退出安全状态。无状态模块启动后进入安全状态时,该外部接口处于关闭状态。这就是说,该接口由硬件锁定。一旦重启并自检完毕,主控制器将顺序的执行一系列命令,退出安全状态而进入用户状态。某些实施例中,这些命令要求将一组预先定义的连续指令的执行过程写入到非连续地址中。
该硬件将对序列中每一步命令所使用的执行时间进行追踪,并确保这些命令在精确的时钟周期内按照所要求的顺序执行,并写入到所要求的地址中。在退出逻辑完成后,该硬件会将相关模式设定到用户模式。在用户模式下,该硬件将锁定主控制器对所有内部模块的访问,除了数据缓冲区和数据输入/输出寄存器之外(即仅仅需要将数据传送给设备的模块)。
一旦将这些命令移至数据缓冲区,主控制器就会顺序的执行一系列命令以返回到安全状态。该序列同样通过硬件模块进行追踪和实现,并进入到安全模式下。同时,还通过硬件确保了主控制器通过正确的入口地址进入安全模式。
可使用额外的位对主控制器ROM 908进行编程,来指示哪些指令是有效的代码入口和代码出口点。无论何时主控制器进行非序列代码读取,指令代码入口/出口点都会在硬件中实现。这种机制确保了攻击者很难绕过代码的特定部分而进入主控制器。因此,想要在程序执行过程中通过产生随机跳来对该模块实施成功攻击,在实际上几乎是不可能的。
为降低成本和封装空间,无状态模块不负责与通信协议有关的处理工作。替而代之,将由相关的设备驱动程序(或集成的处理器)来处理这方面的要求。
在另一个实施例中,无状态模块将分配到长期密钥。在这种情况下,无状态模块不需要与前端服务器(例如,密钥管理器)进行连接。
如图10所示是无状态模块的一个实施例执行的操作的流程图。如步骤1002所示,当无状态模块在生产后第一次初始化时(例如,在对芯片的最后测试中),主控制器将控制随机数生成器918生成一个随机数,作为种子提供给加密处理器,以生成一个公共一私有密钥对。
主控制器将私有(身份)密钥存储在非易失性存储器916中,并永远不会将该密钥导出到该模块的安全边界外(步骤1004)。例如,某些实施例中,该密钥永远不会离开该无状态模块所在的芯片。某些实施例中,在存储到芯片外非易失性存储器中之前,该密钥将被加密。
该无状态模块还保存相应的公共密钥,并且在收到请求后,将该公共密钥导出(步骤1006),因此,设备制造商(或某些其他的可信实体)可将公共密钥连同证书一起发布给公共服务器。
随后,可将无状态模块可布置在可通过网络或一些其他的链路连接到其他设备(例如,密钥管理器)的计算设备中。如步骤1008所示,无状态模块可使用其私有密钥建立与已访问到该无状态模块的公共密钥的密钥管理器之间的安全通信通道。
如步骤1010所示,密钥管理器通过该安全通信通道将密钥传送给无状态模块。例如,密钥管理器和无状态模块可协商获得额外的密钥,用于两个部件之间的安全通信。此外,密钥管理器还可以通过无状态模块将密钥传送给远端的客户端。例如,密钥管理器可以为结合有该无状态模块的客户端生成一个私有会话密钥(Ka-priv)。如上所述,在将这些密钥发送给客户端之前,密钥管理器使用无状态模块的公共密钥(Kdc-pub)或某些协商的密钥对该密钥进行加密。
如步骤1012所示,该密钥在无状态模块的安全边界内进行解密。例如,无状态模块中的加密处理器会对这些密钥进行解密。可选择地,与无状态模块位于同一芯片上的另一加密处理器也可对该密钥进行解密。
如步骤1014所示,无状态模块随后在安全边界内使用这些密钥。例如,无状态模块中的加密处理器使用该密钥对其他密钥(例如,会话密钥)进行解密。此外,无状态模块可在安全边界内实施密钥策略(步骤1016)。
某些实施例中,如步骤1018所示,无状态模块向安全边界内的一个或多个加密加速器提供密钥。例如,这些加密加速器可以与该无状态模块位于相同的芯片上。
图11所示是无状态安全链路模块1100的一个实施例。该实施例包括图9中实施例的功能性的一个子集。具体来说,这一实施例只使用对称密钥来提供数据加密和解密等。这种配置的一个优势是,其可以在其他设备中实现,对这些设备的成本和大小所产生的影响更小。
在一个典型的应用中,图11中的实施例可用于从最初产生数据的输入设备那里取得数据,然后安全的提供给使用该数据的接收设备。这个过程包括对数据进行加密,使其不会以明文形式出现,和/或对数据进行签名,以向接收设备证明该数据是来自特定的输入设备。
例如,无状态模块可集成到传感器(例如,生物传感器如指纹识别器)的芯片上。这里,无状态模块可用于对传感器生成的信息进行签名和/或加密。随后,无状态模块可安全地将信息传送给使用该信息的接收设备。在这种情况下,该接收设备可通过指纹比较来控制对数据或服务的访问。
某些实施例中,传感器数据总是维护在安全边界内。首先,将无状态模块结合在传感器芯片上,这些信息可在离开芯片的硬件边界之前进行加密。其次,通过交换对称密钥,无状态模块建立与接收设备之间的一条安全通道。通过这种方式,这些信息可安全的发往接收设备。最后,接收设备将使用现有方式或本申请中介绍的技术得到保护。
上述后一种方案的一个例子中,接收设备包括一个上述图9中的无状态模块。在这种情况下,接收设备可以使用其他密钥将信息安全的传送给远端系统。该远端系统可以是网络接入设备,能基于用户的信用证明如用户指纹实现对网络的访问。
其他实施例中,只需认证数据是源于特定的输入设备即可。例如,系统可作出规定以确保指纹数据流的副本不会在稍后被重放。在这种情况下,没必要对信息进行加密,只需要确保该信息来自特定的传感器。在这种情况下,对数据的一个简单签名就可以提供足够的安全性。
为提供一种适用于多种输入设备的高性价比解决方案,图11中的无状态模块的功能性相比图9中实施例进行了一定的简化。该无状态模块包括一个主控制器1106和一个外部接口1112,用于在与密钥管理器建立安全链路时实现非对称密钥操作的执行。因此,控制器1106包括有生成并验证其密钥的有效性的电路。此外,该模块还包括保证逻辑1120,与上述的保证逻辑相同。
但是,因为该模块只使用了单个对称密钥,所以图11中的实施例不能提供图9中所描述的许多功能。例如,该模块不需要为额外的密钥提供管理能力(例如,密钥策略的实施)和数据存储(例如,应用密钥高速缓冲存储器)。因为只存储一个身份密钥和一个对称密钥,所以非易失性ROM(“NVROM”)1110可以更小。
此外,因为该模块只对来自数据流接口的数据执行对称加密处理,所以不需要图9中所示的某些或全部的专用加密处理器(例如,公共密钥处理和3DES)。例如,在启动后,该模块只执行一次非对称密钥操作。此外,无状态模块无需验证数据接收方的真实性。因此,余下的加密处理操作可由主控制器1106执行。在这种情况下,加密算法(例如,DH,DSA,3DES和AES)的应用代码可存储在ROM 1108中。
图11所示的实施例可以通过使用SHA-1算法签名来加密输入数据流(DI)。为此,可提供一个单独的处理模块1104来执行该操作。该处理模块签名后的输出提供一数据流(DO),并通过数据接口1102将之发送给接收设备。在一个同样也对数据流进行加密的实施例中,可提供一个专用处理模块(未标出)来执行例如对称加密算法。
图12所示为无状态安全链路模块的一个实施例执行的操作的流程图。如步骤1202至步骤1208所示,无状态安全链路模块生成一个公共一私有密钥对,将私有(例如,身份)密钥存储在安全边界内的非易失性存储器中,导出公共密钥,并在其与密钥管理器之间建立一条安全通信通道。
如步骤1210所示,密钥管理器通过该安全通信通道向无状态安全链路模块传送对称密钥。例如,密钥管理器发送对称密钥,用于无状态安全链路模块对从输入设备接收到的数据进行加密和/或签名。随后,加密处理器对这些密钥进行解密(步骤1212),然后将解密后的密钥存储在无状态安全链路模块的安全边界内(步骤1214)。
如步骤1216所示,无状态模块从输入设备接收将要加密的数据。如上所述,该输入设备可以是,例如,生物传感器和照相传感器等,也可以是任何其他的需要对数据进行认证或需要将数据安全的发送给另一设备(例如,远端设备)的设备。
如步骤1218所示,无状态模块在安全边界内使用对称密钥对数据进行加密。随后,如步骤1220所示,无状态模块将加密后的数据发送给远端设备。
有关安全模块的其他细节,在申请日为2005年6月21日、申请号为10/____、代理案号为No.53028/SDB/B600的美国专利申请“无状态硬件安全模块”中已有公开,并在此被本申请全文引用。
需要明确的是,本申请中介绍的各个元件和功能特点可结合入系统中而独立于其他元件和功能特点。例如,使用本申请的技术的系统,可以包括这些元件和功能特点的多种组合。因此,并非本申请中介绍的所有元件和功能特点都使用在每一个这种系统中。
本发明的不同实施例可以包括多种硬件和软件处理元件。在本发明的某些实施例中,根据本发明构建的系统使用了如控制器、状态机和/或逻辑等硬件元件。在本发明的某些实施例中,在一个或多个处理设备中执行的代码如软件或固件可以用来实现一个或多个前述的操作。
所述的元件可以在一个或多个集成电路上实现。例如,某些实施例中,几个这样的元件结合在一个集成电路中。某些实施例中,一些元件可以实现为一个集成电路。某些实施例中,多个元件可以实现为几个集成电路。
本申请中提及的元件和功能可以通过各种不同方式进行连接/联结。使用的方式部分的取决于这些元件彼此之间是否是独立的。某些实施例中,附图中连接线表示的某些连接可以位于一个集成电路内、一块电路板上和/或通过底板连接到其他电路板上。某些实施例中,附图中连接线表示的某些连接可包含数据网络,例如本地网络和/或广域网(例如因特网)。
本申请中提及的信号可以以几种形式出现。例如,某些实施例中,信号是通过电缆传输的电信号,通过空中或在光纤上传输的光脉冲,或通过空中传输的电磁辐射(如射频或红外线)。
在信号中还可以包含一个或几个信号。例如,一个信号可以由一系列的信号组成。同样,一个微分信号包括有两个补充信号或一些其他信号的组合。此外,一组信号在这里可视为一个信号。
本申请中提及的信号也可以以数据的形式出现。例如,某些实施例中,一个应用程序可以发送一个信号给另一个应用程序。这一信号可以存储在数据存储器中。
本申请中介绍的数据存储器可以使用多种设备来实现。例如,数据存储器可以包括闪存、一次性可编程(OTP)存储器或其他类型的数据存储设备。
本申请中提及的元件和功能可以进行直接或间接的连接/联结。因此,某些实施例中,在连接/联结的各元件之间可以有,也可以没有中间设备(例如,缓冲器)。
总的来说,本发明总的涉及一种改进的认证系统和方法。虽然本申请中结合附图详细介绍了本发明的某些具体实施例,可以理解这些实施例仅仅是为了解释本发明,而不是对本发明的限制。特别应当认识到的是,本发明所揭示的内容可以应用于多种系统和处理中。因此也应该认识到,可以对本发明的实施例作出各种修改而不脱离本发明的范围。因此本发明不限于所公布的特定实施例或配置,其包括权利要求所定义的本发明的精神和范围内的所有替换、修改和改进实施例。
交叉引用文件本申请要求申请号为60/620,645申请日为2004年10月20日的美国临时专利申请的优先权,并在此全文引用该申请公开的内容。
权利要求
1.一种通信方法,包括向多个接入设备认证至少一个用户;建立包括有所述接入设备的至少一个网络。
2.根据权利要求1所述的通信方法,其特征在于,所述认证包括向所述接入设备提供至少一个信用证明。
3.根据权利要求2所述的通信方法,其特征在于,所述方法进一步包括对所述至少一个信用证明进行密码签名。
4.根据权利要求3所述的通信方法,其特征在于,所述方法进一步包括使用数字证书以对所述至少一个签名后的信用证明进行认证。
5.一种通信方法,包括向多个接入设备认证多个用户;建立包括有所述接入设备的多个网络。
6.一种向设备认证用户的方法,包括定义与一个接入设备相关联的安全边界;直接向所述安全边界内提供至少一个信用证明,以向所述接入设备认证一个用户。
7.一种用于访问服务的方法,包括接收与用户相关联的信用证明;对所述信用证明进行认证;将所述认证后的信用证明提供给服务提供者;响应所述认证后的信用证明,接收来自服务提供者的至少一个密钥;使用所述至少一个密钥对服务进行访问。
8.一种通信系统,包括多个接入设备,用于接收认证信息,每个接入设备包括至少一个用于对认证信息进行签名的加密处理器;一个接入服务器,用于接收所述签名的认证信息,所述接入服务器包括至少一个加密处理器以为所述接入设备生成至少一个密钥,所述接入服务器依据所述签名的认证信息向所述接入设备提供所述至少一个密钥。
9.根据权利要求8所述的通信系统,其特征在于,所述认证信息包括至少一个信用证明。
10.一种接入设备,包括安全边界内的至少一个加密处理器;至少一个输入设备,用于直接向所述安全边界内提供认证信号。
全文摘要
本发明公开了一种用于用户向系统内的部件认证其身份的技术。用户可安全有效的将信用证明输入这些部件中。信用证明提供给系统中的服务器,并向其提供强大的认证以表明该信用证明来自安全部件。随后,服务器向用户向其出示信用证明的每个安全部件发放密钥,自动建立一个网络。
文档编号G06K7/08GK1770688SQ200510118218
公开日2006年5月10日 申请日期2005年10月20日 优先权日2004年10月20日
发明者马克·布尔, 埃德华·H·弗兰克, 纳拜瑞简·塞亚爵 申请人:美国博通公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1