询问响应系统和方法

文档序号:7606873阅读:525来源:国知局
专利名称:询问响应系统和方法
技术领域
本发明一般地涉及通信领域,并且具体地涉及一种询问响应系统和方法。
背景技术
诸如个人数字助理(PDA)、蜂窝电话、无线通信设备之类的移动设备有时连接到用户的桌面系统,以便在用户的桌面系统与他们的移动设备之间同步信息。诸如用户的日历、任务列表以及电话簿条目之类的信息是日常在桌面系统与移动设备之间同步的信息的示例。
这种信息常常在本质上是机密的,并且应该保密。于是,向用户提供用于在移动设备上指定设备密码的选项,以便确保移动设备的安全,并且防止在不知道设备密码的情况下使用设备。
当移动设备连接到桌面系统以便同步信息时,移动设备向桌面系统发出询问,以确定该桌面系统是否被授权来发起与移动设备的连接。桌面系统然后向移动设备提供响应。如果桌面系统提供的响应与移动设备所期望的响应匹配,则允许桌面系统连接到移动设备,并开始同步信息。
通常,所发出的询问是对用户密码的散列的请求。散列函数(例如,SHA-1)是单向函数,其获得一个输入或可变长度,并且将其转换为唯一的输出。响应于移动设备的询问,将发起连接的桌面系统的用户所提供的密码的散列发送到该设备。如果响应与所存储的设备密码的散列相匹配,则允许桌面系统连接到移动设备,并开始同步信息。
设备密码通常不存储在设备上。只有设备密码的散列存储在设备上。然而,因为设备密码本身不存储在设备上,所以如果在移动设备上只有设备密码的散列可用,则不能执行某些需要使用设备密码的操作。例如,如果使用设备密码将移动设备上的信息加密,则必须提供设备密码,以便在与桌面系统同步之前解密信息。

发明内容
根据这里提供的教导,为询问响应方案提供了系统和方法,其中可以在请求设备与认证设备之间安全传输秘密事项(例如,密码)。作为系统和方法的示例,认证设备生成要向请求设备发出的询问。请求设备将询问与请求设备的用户所提供的密码的散列组合,并且进一步对密码的散列与询问的组合进行散列,以便生成用来对用户提供的密码进行加密的请求密钥。将加密的用户提供密码发送到认证设备,作为对所发出的询问的响应。认证设备通过生成询问与所存储的认证设备密码的散列的组合的散列来生成认证密钥。使用认证密钥来解密响应,以便恢复用户提供密码。如果用户提供密码的散列与所存储的认证设备密码的散列匹配,那么就认证了请求设备,并且认证设备拥有了密码。
根据本发明的一个方面,提供了一种由认证设备对请求设备进行认证的方法,所述请求设备和认证设备每个都可操作来执行单向散列操作以及基于密钥的加密操作,所述认证设备存储通过向规定密码应用散列操作而生成的所述规定密码的散列,所述认证设备还可操作来执行基于密钥的解密操作,以便对从所述加密操作获得的值进行解密,所述方法包括如下步骤所述请求设备接收用户密码,并且对所述用户密码执行散列操作,以获得所述用户密码的散列;所述认证设备确定并向所述请求设备发送询问;所述请求设备接收所述询问,并通过对所述询问与所述用户密码的散列的组合执行散列操作,来定义请求密钥;所述请求设备使用所述请求密钥来执行加密操作,以加密所述用户密码;所述请求设备向所述认证设备发送包括所述加密用户密码的响应;
所述认证设备接收所述响应,并且通过对所述询问和所述规定密码的散列的组合执行散列操作,定义认证密钥;所述认证设备在解密操作中使用所述认证密钥来解密所述响应,以获得解密的用户密码,并且对所述解密的用户密码执行单向散列操作;所述认证设备将所述解密的用户密码的散列与所述规定密码的散列进行比较,以在所述比较指示匹配时,认证所述请求设备。
根据本发明的另一方面,上述方法还包括如下步骤所述认证设备使用所述解密的用户密码来对所述认证设备执行操作。
根据本发明的另一方面,在上述方法中,所述认证设备是无线手持设备,并且所述请求设备是桌面计算机,并且所述请求设备的认证必须在所述无线手持设备与所述请求设备之间建立连接,所述方法还包括如下步骤在所述认证设备确定并发送询问之前,所述请求设备向所述认证设备发送连接请求,并且对所述请求设备进行认证的步骤包括如下步骤当所述解密的用户密码的散列与所述规定密码的散列不匹配时,拒绝建立连接。
根据本发明的另一方面,提供了一种包括可操作来执行上述方法的代码的计算设备程序产品。
根据本发明的另一方面,提供了一种对请求设备进行认证的认证设备的系统,包括询问发生器,用于生成询问;通信链路,用于将所述询问发送到所述请求设备,并且从所述请求设备接收对所述询问的响应,所述响应包括使用请求密钥加密的请求密码,所述请求密钥包括所述询问与所述请求密码的散列的组合的散列;散列发生器,用于通过对所述询问与预定密码的散列的组合进行散列,来生成认证密钥;解密器,用于使用所述认证密钥来对加密的请求密码进行解密,以获得解密响应;以及比较器,用于比较所述解密响应的散列与所述预定密码的散列,如果所述解密的请求密码的散列与所述预定密码的散列相匹配,则认证了所述请求设备。
根据本发明的另一方面,提供了一种用于将信息安全发送到接收设备的方法,向所述接收设备提供信息的散列、随机数、以及接收密钥(包括所述随机数的散列和所述信息的散列),所述方法包括如下步骤从所述接收设备接收随机数;编码所述信息,以产生所述信息的散列;将所述随机数与所述信息的散列组合;对组合后的随机数和所述信息的散列进行散列,以产生发送密钥;使用所述发送密钥加密所述信息;将加密的信息发送到所述接收设备,以便所述接收设备使用所述接收密钥来解密。
根据本发明的另一方面,提供了一种由认证设备对请求设备进行认证的方法,所述请求设备接收用户密码,向所述认证设备提供预定密码的散列、随机数、以及接收密钥(包括所述随机数的散列和所述预定密码的散列),所述方法包括所述请求设备的如下步骤从所述认证设备接收随机数;编码所述用户密码,以产生所述用户密码的散列;将所述随机数与所述用户密码的散列组合;对组合后的随机数与所述用户密码的散列进行散列,以产生发送密钥;使用所述发送密钥加密所述用户密码;将加密的用户密码发送到所述认证设备,以便所述认证设备通过使用所述接收密钥进行解密来进行认证。
根据本发明的另一方面,提供了一种由认证设备对请求设备进行认证的方法,所述请求设备和认证设备每个都可操作来执行单向散列操作以及基于密钥的加密操作,所述认证设备存储通过向规定密码应用散列操作而生成的所述规定密码的散列,所述认证设备还可操作来执行基于密钥的解密操作,以便对从所述加密操作获得的值进行解密,所述方法包括所述认证设备的如下步骤确定并向所述请求设备发送询问;从所述请求设备接收响应,所述响应包括通过对所述询问和接收到的用户密码的散列的组合执行散列操作而确定的请求密钥,其中通过对所述接收到的用户密码执行散列操作来定义所述散列;通过对所述询问和所述规定密码的散列的组合执行散列操作,定义认证密钥;在解密操作中使用所述认证密钥来解密所述响应,以获得解密的用户密码,并且对所述解密的用户密码执行单向散列操作;将所述解密的用户密码的散列与所述规定密码的散列进行比较,以在所述比较指示匹配时,认证所述请求设备。
将会认识到,本发明能够具有其他不同实施例,并且本发明的数个细节可以在各个方面进行修改,所有这些都不脱离本发明的精神。因此,下面提出的优选实施例的附图和描述应该视为实质上是说明性的而非限制性的。


具体实施例方式
图1是其中可以使用无线通信设备的示例通信系统的概图。本领域的技术人员将认识到,可以存在许多不同的拓扑,但是图1所示的系统有助于论证编码消息处理系统的操作以及本申请中所述的方法。还可以存在许多消息发送者和接收者。图1所示的该系统仅仅用于说明目的,并且可能表示了最普遍的因特网电子邮件环境(通常不使用安全性)。
图1示出了电子邮件发送者10、因特网20、消息服务器系统40、无线网关85、无线基础设施90、无线网络105、以及移动通信设备100。
电子邮件发送者系统10例如可以连接到位于公司内部的ISP(因特网服务供应商),在该ISP上系统10的用户具有帐户,该ISP可能连接到局域网(LAN)并连接到因特网20,或者通过诸如AmericanOnline(AOL)之类的大ASP(应用服务供应商)连接到因特网20。本领域的技术人员将认识到,虽然电子邮件传送通常是通过图1所示的因特网连接布置完成的,但是图1所示的系统实际上可以连接到广域网(WAN)而不是因特网。
消息服务器40例如可以实现在公司防火墙内的网络计算机上、ISP或ASP系统内的计算机上,并且充当通过因特网20进行电子邮件交换的主接口。虽然其他消息系统可能不需要消息服务器系统40,但是被配置来接收并且可能发送电子邮件的移动设备100通常与消息服务器上的帐户关联在一起。两种可能是最常见的消息服务器是Microsoft ExchangeTM和Lotus DominoTM。这些产品通常与路由并传送邮件的因特网邮件路由器结合使用。图1中没有示出这些中间组件,因为它们在下述安全消息处理中并不直接扮演角色。诸如服务器40之类的消息服务器通常不仅仅发送和接收电子邮件;它们还包括动态数据库存储引擎,这些动态数据库存储引擎具有数据(例如,日历、待办事项清单、任务列表、电子邮件以及文档)的预定数据库格式。
无线网关85和基础设施90提供因特网20与无线网络105之间的链路。当给定的用户在国家或网络之间漫游时,无线基础设施90确定该用户最有可能所在的网络并跟踪该用户。然后通常以射频(RF)通过从无线网络105中的基站到移动设备100的无线传输,将消息传送到移动设备100。具体的网络105实际上可以是可以用来与移动通信设备交换信息的任何无线网络。
如图1所示,所编写的电子邮件消息15由位于因特网20某处的电子邮件发送者10发送。该消息15通常是完全明文的,并且使用传统的简单邮件传输协议(SMTP)、RFC822报头以及多目标因特网邮件扩展(MIME)主体部分来定义邮件消息的格式。这些技术对本领域的技术人员来说是公知的。消息15到达消息服务器40,并且通常被存储在消息存储装置中。最知名的消息系统支持所谓的“拉”消息访问方案,其中移动设备100必须请求消息服务器将所存储的消息转发到移动设备100。某些系统对使用与移动设备100相关联的特定电子邮件地址来寻址的这些消息提供自动路由选择。在下面将更详细描述的优选实施例中,在接收到被寻址到与属于移动设备100的用户的主机系统(例如,家用计算机或办公计算机)相关联的消息服务器帐户的消息时,将这些消息从消息服务器40重定向到移动设备100。
无论用于控制向移动设备100转发消息的具体机制如何,消息15或者可能是其翻译或重新调整格式的版本被发送到无线网关85。无线基础设施90包括一系列到无线网络105的连接。这些连接可以是综合业务数字网络(ISDN)、帧中继或T1连接(使用整个因特网中所使用的TCP/IP协议)。这里所使用的术语“无线网络”意在包括三种不同类型的网络,它们是(1)以数据为中心的无线网络;(2)以语音为中心的无线网络以及(3)可以在相同物理基站上支持语音和数据通信的双模网络。组合的双模网络包括但不限于(1)码分多址(CDMA)网络、(2)移动特别小组或全球移动通信系统(GSM)以及通用分组无线服务(GPRS)网络、以及(3)将来的第三代(3G)网络,例如全球演进的增强数据率(EDGE)以及通用移动通信系统(UMTS)。以数据为中心的网络的一些较老的示例包括MobitexTM无线网络和DataTACTM无线网络。较老的以语音为中心的数据网络的示例包括个人通信系统(PCS)网络,例如GSM以及TDMA系统。
图2是包括多个网络和多个移动通信设备的另一示例通信系统的框图。图2的系统实质上类似于图1的系统,但是包括主机系统30、重定向程序45、移动设备坞65、无线虚拟专用网络(VPN)路由器75、额外无线网络110以及多个移动通信设备100。如上面结合图1所述,图2代表示例网络拓扑的概图。虽然这里所述的编码消息处理系统和方法可以应用于具有许多不同拓扑的网络,但是图2的网络对于理解上面简单提及的自动电子邮件重定向系统是有用的。
中央主机系统30通常是公司办公室或其他LAN,但是也可以是家庭办公计算机或其中交换邮件消息的某些其他专用系统。在主机系统30内具有消息服务器40,其运行在主机系统的防火墙内的某一计算机上,充当主机系统与因特网20交换电子邮件的主接口。在图2的系统中,重定向程序45实现将来自服务器40的数据项目重定向到移动通信设备100。虽然为了易于表述,将重定向程序45表示为驻留在与消息服务器40相同的机制上,但是并不要求其必须驻留在消息服务器上。重定向程序45和消息服务器40被设计为协作并互动来允许将信息推向移动设备100。在这种安装中,重定向程序45获得特定用户的机密及非机密公司信息,并通过公司防火墙将其向外重定向到移动设备100。可以在题为“System and Method of Pushing Information FromA Host System To A Mobile Data Communication Device Having AShared Electronic Address”的共同转让美国专利6,219,694(“694专利”)中找到重定向软件45的更详细的描述,该专利于2001年4月17日授权于本申请的受让人,并且结合在本申请中用作参考。这种推技术可以使用无线友好的编码、压缩和加密技术来向移动设备传送所有信息,这样有效地将安全防火墙扩展到包括与主机系统30相关联的每个移动设备100。
如图2所示,可能存在许多用于将信息传送到移动设备100的备选路径。用于将信息加载到移动设备100上的一种方法是通过指定的端口50(使用设备坞65)。这种方法往往对于移动设备100初始化时常常执行的与主机系统30或系统30内的计算机35之间的大批信息更新是有用的。数据交换的其他主要方法是使用无线网络来无线传送信息。如图2所示,这可以通过无线VPN路由器75或如上所述通过传统的到无线网关85的因特网连接95以及无线基础设施90来完成。无线VPN路由器75的概念在无线产业中是新的,并且意味着可以直接通过特定无线网络110建立去往移动设备100的VPN连接。只是在最近才具备使用无线VPN路由器75的可能性,并且在新的因特网协议(IP)版本6(IPV6)进入基于IP的无线网络时可以使用。这种新协议将提供足够的IP地址,以使每个移动设备100专用一个IP地址,这样使得可以在任何时刻将信息推向移动设备100。使用这种无线VPN路由器75的主要优点是其可以是现成的VPN组件,这样将不需要使用独立的无线网关85和无线基础设施90。VPN连接优选地是传输控制协议(TCP)/IP或用户数据报协议(UDP)/IP连接,以将消息直接传送到移动设备100。如果无线VPN 75不可用,则去往因特网20的链路95是可用的最常见的连接机制,并且上面已经对此进行过描述。
在图2的自动重定向系统中,所编写的电子邮件消息15离开电子邮件发送者10,到达消息服务器40,并且重定向程序45将其重定向到移动设备100。在发生这种重定向时,重新封装消息15(如80所示),并且然后可以向原始消息15应用可能是专用的压缩和加密算法。这样,在移动设备100上阅读消息不比在防火墙内的桌面工作站(例如35)上阅读来得更不安全。重定向程序45与移动设备100之间交换的所有消息优选地使用这种消息重封装技术。这种外层封装的另一目的是维持原始消息的寻址信息(除了发送者和接收者的地址之外)。这允许回复消息到达适当的目的地,并且还允许“发件人”字段反映出移动用户的桌面地址。使用来自移动设备100的用户电子邮件地址允许接收到的消息看起来像源自用户的桌面系统35而不是源自移动设备100的消息。
再参考端口50和坞65到移动设备100的连接,这种连接路径为实现大项目的一次数据交换提供了许多优点。对于个人数字助理(PDA)和同步领域的技术人员而言,通过这种链路交换的最常见的数据是个人信息管理(PIM)数据55。在首次交换时,这种数据往往数量很大,在本质上是庞大的,并且其需要在途中可以使用的大带宽来加载到移动设备100上。这种串行链路也可以用于其他目的,包括建立专用安全密钥111(例如S/MIME或PGP专用密钥)、用户的证书(Cert)以及它们的证书撤销列表(CRL)60。优选地交换专用密钥,从而桌面35和移动设备100共享一个身份以及访问所有邮件的一种方法。Cert和CRL通常通过这种链路交换,因为它们代表S/MIME、PGP以及其他公钥安全方法的设备所需的大量数据。
图3示出了认证设备(例如,移动设备10)用来对发出请求的设备(例如,桌面系统35,其可能请求连接到设备10)进行认证的典型询问响应方案。当设备10例如通过串行链路(例如,通用串行总线(USB)链路)连接到桌面系统35时,提示桌面系统35的用户输入密码,以便向设备10认证该用户。桌面系统35创建用户所提供的密码的单向散列,并且将密码的散列提供给设备10。设备10然后比较该密码的散列与所存储的设备密码的散列。如果这两个值匹配,则认证了用户,并且允许桌面系统35形成与设备10的连接。在这种典型的询问响应方案中,只有密码的散列发送到设备10。如果通过通信链路发送密码本身,则攻击者将能够截取传输,并获得密码的知识。
图4图示了根据本发明优选实施例的询问响应方案。在该优选实施例中,发出请求的设备(例如,桌面系统35)使用通信链路连接到认证设备(例如,移动设备10),其中通信链路例如是通用串行总线(USB)链路,发出请求的设备可以通过该链路发送连接请求。连接请求可以是发送到认证设备的软件请求形式,或者是通信链路的硬件状态变化的检测。认证设备检测到正在请求连接,并且开始根据下述询问响应方案来认证发出请求的设备。应该理解,如果认证设备已经受到设备密码(device_password)的保护,则认证设备可以只发起询问响应方案。为了确定发出请求的设备是否需要得到认证,认证设备可以在其存储器中检查设备密码的散列H(device_password)是否存在。在其他实施方式中,认证设备可以检查指示设备是否受到保护的标记。
当认证设备检测到连接请求时,其生成要向请求设备发出的询问c。询问c可以是认证设备随机生成的一组比特。或者,询问c中所使用的比特数也可以是随机化的。认证设备可以使用基于硬件的随机数发生器或基于软件的随机数发生器来生成随机询问c。
发出请求的设备提示其用户输入密码user_password。使用公知的散列函数(例如,SHA-1)对该密码进行散列,以创建H(user_password),然后将其与从认证设备接收到的询问c组合。在优选实施例中,将询问c和密码的散列H(user_password)级联在一起。应该理解,存在许多组合这两个值的不同方法。还将询问c和密码的散列H(user_password)的这一组合进一步进行散列,以生成请求密钥kr=H(c||H(user_password)),这在创建对认证设备发出的询问的响应r时使用。通过使用公知的技术(例如,AES或TripleDES)加密密码user_password,来生成响应r。在某些实施方式中,还可以通过向请求密钥kr和密码user_password应用XOR函数来生成响应r。然后将响应r发送到认证设备。
认证设备通过与发出请求的设备所进行的过程相似的过程来确定认证密钥ka。认证设备将所存储的设备密码的散列H(stored_password)与随机生成的询问c组合,然后生成该组合的散列,以便生成认证密钥ka=H(c||H(stored_password))。认证密钥ka用来解密从发出请求的设备接收到的响应r。然后将解密后的响应的散列H(decrypted_response)与所存储的设备密码的散列H(device_password)比较。如果这两个散列匹配,则解密后的响应是正确的设备密码。这样,认证设备就认证了发出请求的设备。认证设备还拥有在需要设备密码的操作中使用的设备密码。如果这两个散列不匹配,则用户没有提供正确的密码,并且认证设备拒绝来自发出请求的设备的连接请求,由此不允许连接。
这里所公开的系统和方法仅仅是作为示例描述的,并不意味着限制本发明的范围。对于本领域的技术人员而言,对上述系统和方法的其他改变是清楚的,并且这些改变被认为在本发明的范围之内。例如,应该理解,上述处理中的步骤以及步骤的顺序可以改变、修改和/或增加,并且仍然获得所希望的结果。
作为另一示例,这里所公开的系统和方法可以用于许多不同的计算机和设备,例如图5所示的无线移动通信设备。参考图5,移动设备100是双模移动设备,并且包括收发机311、微处理器338、显示器322、非易失性存储器324、随机访问存储器(RAM)326、一个或多个辅助输入/输出(I/O)设备328、串行端口330、键盘332、扬声器334、麦克风336、短程无线通信子系统340、以及其他设备子系统342。
收发件311包括接收机312、发射机314、天线316和318、一个或多个本地振动器313、以及数字信号处理器(DSP)320。天线316和318可以是多元天线中的天线元,并且优选地是嵌入式天线。然而,这里所述的系统和方法决不限制于具体类型的天线,甚至不限制于无线通信设备。
移动设备100优选地是具有语音和数据通信能力的双向通信设备。这样,例如,移动设备100可以在语音网络(例如,任何模拟或数字蜂窝网络)上进行通信,并且还可以在数据网络上进行通信。语音和数据网络在图5中由通信塔319表示。这些语音和数据网络可以是使用分离的基础设施(例如,基站、网络控制器等)的分离通信网络,或者它们可以集成在单个无线网络中。
收发机311用来与网络319进行通信,并且包括接收机312、发射机314、一个或多个本地振动器313、以及DSP 320。DSP 320用来向/从天线316和318发送/接收信号,并且还向接收机312和发射机314提供控制信息。如果语音和数据通信发生在单个频率或紧密间隔的频率集合处,那么可以结合接收机312和发射机314使用单个本地振动器313。或者,如果使用不同的频率用于语音通信和数据通信,那么可以使用多个本地振动器313来生成与语音和数据网络319相对应的多个频率。通过DSP 320与微处理器338之间的链路来向/从收收发机311传送信息(包括语音和数据信息)。
收发机311的详细设计(例如,频带、部件选择、功率水平等)将取决于移动设备100所希望工作的通信网络319。例如,要在北美市场工作的移动设备100可以包括这样的收发机311其被设计来工作于多种语音通信网络中的任何一种,例如Mobitex或DataTAC移动数据通信网络、AMPS、TDMA、CDMA、PCS等,而要在欧洲使用的移动设备100可以被配置为工作于GPRS数据通信网络以及GSM语音通信网络。移动设备100还可以利用其他类型的数据和语音网络(分离的以及集成的)。
取决于网络319的类型,移动设备100的接入要求也可能改变。例如,在Mobitex和DataTAC数据网络中,移动设备使用与每个移动设备相关联的唯一识别号码注册到网络上。然而,在GPRS数据网络中,网络接入与移动设备的订户或用户相关联。GPRS通常需要订户身份模块(“SIM”),以便在GPRS网络上操作移动设备。如果没有SIM设备,则本地或非网络通信功能(如果存在的话)可能是可操作的,但是移动设备除了任何合法的必要操作(例如,“911”紧急呼叫)之外不能执行涉及通过数据网络319进行通信的任何其他功能。
在完成必要的网络注册或激活过程之后,移动设备100可以通过网络319发送和接收通信信号(包括语音和数据信号)。天线316从通信网络319接收到的信号被路由到接收机312,接收机312提供信号放大、下变频、滤波、信道选择等,并且还可以提供模数转换。接收信号的模数转换允许更复杂的通信功能,例如要使用DSP 320执行的数字解调和解码。以类似方式,处理要发送到网络319的信号,包括调制和编码(例如,由DSP 320执行),然后提供给发射机314以进行数模转换、上变频、滤波、放大,并通过天线318发送到通信网络319。
除了处理通信信号之外,DSP 320还提供收发机控制。例如,可以通过DSP 320中实现的自动增益控制算法来自适应地控制接收机312和发射机314中施加于通信信号的增益水平。还可以在DSP 320中实现其他收发机控制算法,以便提供对收发机311的更精密的控制。
微处理器338优选地管理并控制移动设备100的总体操作。这里可以使用许多类型的微处理器或微控制器,或者,可以使用单个DSP320来执行微处理器338的功能。通过收发机311中的DSP 320来执行低级的通信功能(至少包括数据和语音通信)。其他高级通信应用程序(例如,语音通信应用程序324A以及数据通信应用程序324B)可以存储在非易失性存储器324中,以便由微处理器338执行。例如,语音通信模块324A可以提供可用来通过网络319在移动设备100与多个其他语音或双模设备之间发送和接收语音呼叫的高级用户接口。类似地,数据通信模块324B可以提供可用来通过网络319在移动设备100与多个其他数据设备之间发送和接收数据(例如,电子邮件消息、文件、组织者信息、短文本消息等)的高级用户接口。微处理器338还与其他设备子系统互动,例如显示器322、RAM 326、辅助输入/输出(I/O)子系统328、串行端口330、键盘332、扬声器334、麦克风336、短程通信子系统340以及一般地表示为342的任何其他设备子系统。
图5所示的某些子系统执行通信相关功能,而其他子系统可以提供“常驻”或设备上功能。尤其是,某些子系统(例如,键盘332和显示器322)可以用于通信相关功能(例如,输入用于通过数据通信网络传输的文本消息)以及设备常驻功能(例如,计算器或任务列表或者其他PDA类型功能)。
微处理器338所使用的操作系统软件优选地存储在永久性存储装置中,例如非易失性存储器324。非易失性存储器324例如可以实现为闪存部件或电池支持的RAM。除了控制移动设备310的低级功能的操作系统之外,非易失性存储器324还包括可以由微处理器338(和/或DSP 320)执行的多个软件模块324A~324N,包括语音通信模块324A、数据通信模块324B、以及用于执行多个其他功能的多个其他操作模块324N。这些模块由微处理器338执行,并且提供用户与移动设备100之间的高级接口。这种接口通常包括通过显示器322提供的图形组件,以及通过辅助I/O 328、键盘332、扬声器334、以及麦克风336提供的输入/输出组件。操作系统、特定的设备应用程序或模块、或它们的一部分可以临时加载到易失性存储装置(例如,RAM 326)中,以便进行更快的操作。此外,所接收到的通信信号也可以临时存储在RAM 326中,然后将它们永久性地写入位于永久性存储装置(例如,闪存324)中的文件系统中。
可以加载到移动设备100上的一个示例性应用程序模块324N是提供PDA功能(例如,日历事件、约会以及任务项目)的个人信息管理(PIM)应用程序。该模块324N还可以与语音通信模块324A互动,以管理电话呼叫、语音邮件等,并且还可以与数据通信模块互动,以管理电子邮件通信以及其他数据传输。或者,语音通信模块324A和数据通信模块324B的所有功能都可以集成在PIM模块中。
非易失性存储器324优选地还提供文件系统,以有助于PIM数据项目在设备上的存储。PIM应用程序优选地包括发送和接收数据项目的能力,这种能力或者由其自身或者与语音和数据通信模块324A、324B协作通过无线网络319实现。PIM数据项目优选地通过无线网络319与所存储或与主计算机系统相关联的相应数据项目集合无缝集成、同步和更新,由此创建与特定用户相关联的数据项目的镜像系统。
代表至少局部解码的数据项目以及完全解码的数据项目的上下文对象优选地存储在移动设备100上的易失性和非永久性存储装置(例如,RAM 326)中。例如,这种信息在存储间隔相对短时也可以存储在非易失性存储器324中,从而在存储之后不久就从存储器中将信息去除。然而,将这种信息存储在RAM 326或其他易失性和非永久性存储装置中是优选的,以便确保在移动设备100断电时从存储器中擦除信息。这防止了未获授权方例如通过从移动设备100去除存储器芯片来获得任何存储的解码或局部解码信息。
通过将设备100放置在接口坞(将移动设备100的串行端口330耦合到计算机系统或设备的串行端口)中,可以手动将移动设备100与主机系统同步。串行端口330还可以用来使用户能够通过外部设备或软件应用程序来设置偏好,或者下载其他应用程序模块324N用于安装。这种有线下载路径可以用来将密钥加载到设备上,这是比通过无线网络319交换加密信息更为安全的方法。除了串行端口330之外或者替代串行端口330,还可以在移动设备100中提供其他有线下载路径的接口。例如,USB端口可以提供与类似装配的个人计算机的接口。
额外的应用程序模块324N可以通过网络319、通过辅助I/O子系统328、通过串行端口330、通过短程通信子系统340、或者通过任何其他合适的子系统342来加载到移动设备100上,并且由用户安装在非易失性存储器324或RAM 326中。这种应用程序安装方面的灵活性增加了移动设备100的功能性,并且可以提供增强的设备上功能、通信相关功能或这两者。例如,安全通信应用程序可以实现电子商务功能以及其他这样的要使用移动设备100来执行的金融交易。
当移动设备100工作于数据通信模式时,接收到的信号(例如,文本消息或下载的web页面)由收发机模块311处理,并且提供给微处理器338,优选地,微处理器338进一步以上述多个阶段来处理接收信号,最终输出到显示器322,或者输出到辅助I/O设备328。移动设备100的用户还可以使用键盘332编写数据项目(例如,电子邮件消息),键盘332优选地是以QWERTY风格布置的完全字母数字键盘,但是也可以使用其他风格的完全字母数字键盘,例如已知的DVORAK风格。利用多个辅助I/O设备328可以进一步增强移动设备100的用户输入,其中辅助I/O设备328可以包括指轮输入设备、触摸板、多种开关、摇杆输入开关等。用户输入的编写数据项目然后可以通过收发机模块311发送到通信网络319上。
当移动设备100工作于语音通信模式时,除了优选地将接收信号输出到扬声器334并且由麦克风336生成要发送的语音信号之外,移动设备的整体操作实质上类似于数据模式。还可以在移动设备100上实现其他语音或音频I/O子系统,例如语音消息记录子系统。虽然优选地语音或音频信号输出主要通过扬声器334来完成,但是也可以使用显示器322来提供呼叫方身份的指示、语音呼叫的持续时间、或者其他语音呼叫相关的信息。例如,微处理器338与语音通信模块和操作系统软件相结合可以检测到进入语音呼叫的呼叫者身份信息,并将其显示在显示器322上。
移动设备100中还可以包括短程通信子系统340。例如,子系统340可以包括红外设备及相关电路和部件,或者短程RF通信模块(例如蓝牙TM模块和802.11模块),以提供与具有类似功能的系统和设备的通信。本领域的技术人员将认识到,“蓝牙”和“802.11”是指可从电气和电子工程师协会获得的分别涉及无线个域网和无线局域网的规范集。
系统及方法的数据可以存储在一个或多个数据存储装置中。数据存储装置可以是许多不同类型的存储设备和编程构造,例如RAM、ROM、闪存、编程数据结构、编程变量等。注意,数据结构描述在数据库、程序、存储器或其他计算机可读介质中组织和存储计算机程序要使用的数据时使用的格式。
系统和方法可以提供在许多不同类型的计算机可读介质上,包括计算机存储机制(例如,CD-ROM、磁盘、RAM、闪存、计算机硬盘等),这些存储机制包含由处理器来执行以便执行方法的操作并实现这里所述的系统的指令。
这里所述的计算机组件、软件模块、功能和数据结构彼此之间可以直接或间接连接,以便允许它们的操作所需的数据的流动。还要注意,模块或处理器包括但不限于执行软件操作的代码单元,并且例如可以实现为代码的子程序单元、或代码的软件函数单元、或对象(在面向对象的范例中)、或小应用程序(applet)、或以计算机脚本语言实现、或者任何其他类型的计算机代码。
权利要求
1.一种对请求设备进行认证的认证设备的系统,包括询问发生器,用于生成询问;通信链路,用于将所述询问发送到所述请求设备,并且从所述请求设备接收对所述询问的响应,所述响应包括使用请求密钥加密的请求密码,所述请求密钥包括所述询问与所述请求密码的散列的组合的散列;散列发生器,用于通过对所述询问与预定密码的散列的组合进行散列,来生成认证密钥;解密器,用于使用所述认证密钥来对加密的请求密码进行解密,以获得解密响应;以及比较器,用于比较所述解密响应的散列与所述预定密码的散列,如果所述解密的请求密码的散列与所述预定密码的散列相匹配,则认证了所述请求设备。
2.根据权利要求1所述的系统,其中所述询问发生器生成的询问是随机或伪随机数。
3.根据权利要求1所述的系统,其中还将所述通信链路配置来从所述请求设备接收认证请求。
4.根据权利要求1所述的系统,还包括用于指示所述请求设备是否已经受到规定密码保护的认证标记。
5.一种由认证设备对请求设备进行认证的方法,所述请求设备和认证设备每个都可操作来执行单向散列操作以及基于密钥的加密操作,所述认证设备存储通过向规定密码应用散列操作而生成的所述规定密码的散列,所述认证设备还可操作来执行基于密钥的解密操作,以便对从所述加密操作获得的值进行解密,所述方法包括所述认证设备的如下步骤确定并向所述请求设备发送询问;从所述请求设备接收响应,所述响应包括通过对所述询问和接收到的用户密码的散列的组合执行散列操作而确定的请求密钥,其中通过对所述接收到的用户密码执行散列操作来定义所述散列;通过对所述询问和所述规定密码的散列的组合执行散列操作,定义认证密钥;在解密操作中使用所述认证密钥来解密所述响应,以获得解密的用户密码,并且对所述解密的用户密码执行单向散列操作;将所述解密的用户密码的散列与所述规定密码的散列进行比较,以在所述比较指示匹配时,认证所述请求设备。
6.根据权利要求5所述的方法,还包括如下步骤所述认证设备使用所述解密的用户密码来对所述认证设备执行操作。
7.根据权利要求5所述的方法,其中所述认证设备是无线手持设备,并且所述请求设备是桌面计算机,并且所述请求设备的认证必须在所述无线手持设备与所述请求设备之间建立连接,所述方法还包括如下步骤在所述认证设备确定并发送询问之前,从所述请求设备接收连接请求,并且比较所述解密的用户密码的散列与所述规定密码的散列的步骤包括如下步骤当所述解密的用户密码的散列与所述规定密码的散列不匹配时,拒绝认证所述请求设备。
8.根据权利要求5所述的方法,其中所述认证设备确定询问的步骤包括如下步骤生成要用作所述询问的随机数。
9.根据权利要求5所述的方法,还包括如下的初始步骤所述认证设备从所述请求设备接收连接请求,并且如果在所述认证设备上设置了规定标记以指示所述设备已经受到所述规定密码的保护,则对所述请求设备执行认证。
全文摘要
提供了一种询问响应方案,包括由认证设备对请求设备进行认证。认证设备生成要向请求设备发出的询问。请求设备将询问与请求设备的用户所提供的密码的散列组合,并且进一步对密码的散列与询问的组合进行散列,以便生成用来对用户提供的密码进行加密的请求密钥。将加密的用户提供密码发送到认证设备,作为对所发出的询问的响应。认证设备通过生成询问与所存储的认证设备密码的散列的组合的散列来生成认证密钥。使用认证密钥来解密响应,以便恢复用户提供密码。如果用户提供密码的散列与所存储的认证设备密码的散列匹配,那么就认证了请求设备,并且认证设备拥有了密码。
文档编号H04L29/06GK1816997SQ200480018801
公开日2006年8月9日 申请日期2004年11月26日 优先权日2004年5月4日
发明者迈克尔·K·布朗, 迈克尔·S·布朗, 迈克尔·G·柯卡普, 赫伯特·A·利特尔 申请人:捷讯研究有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1