用于应用认证的系统和方法

文档序号:6505034阅读:199来源:国知局
专利名称:用于应用认证的系统和方法
技术领域
本发明总体上涉及计算和通信设备,特别涉及对在这些设备上执行的应用的认证。
背景技术
随着计算和通信设备变得日益普及,并且当依赖设备对被期望为机密的和可靠的信息进行存储和交换时,这些设备的安全性就变得日益重要。对于设计为可移动的计算和通信设备来说更是如此。对于诸如膝上型电脑和手持无线通信设备来说,通常使用密码保护和对数据与通信进行加密以及其他的安全技术来提供安全性。
在大多数情况下,这些设备允许在其上执行应用,而且这些应用一般要获得认证以访问数据或者信息,从而允许这些应用在该设备上执行安全操作。对应用执行进行认证的一种方法是在设备上的密钥存储器中存储认证信息。对要求设备密钥存储器中的密钥的操作试图执行的应用一般需要从设备用户获取密码以允许访问密钥存储器。
通常情况下,单个应用将执行需要认证的重复的步骤。在这些情况下,该应用可能要求重复地访问设备密钥存储器,从而会重复地提示设备用户来提供密码以允许访问密钥存储器。这种方法将保持设备的安全性,并防止未授权用户的恶意访问。然而,对于该设备可信用户,该方法可能会导致重复请求密码信息,对于用户,这可能导致设备的操作麻烦或者低效。
因此,希望有一种方法和系统允许在设备上执行的应用来执行要求认证的重复的步骤,而不必重复地提示该设备的用户提供密码信息。

发明内容
根据本发明的一个方面,提供一种允许对应用进行经授权的访问的经改进的方法和系统。
根据本发明的另一方面,提供一种通过提供应用级标签来认证应用执行的经改进的方法和系统。产生与诸如手持无线通信设备这样的设备上的应用安全地相关联的这些标签,而且这些标签可由这些应用用于访问在该设备上的密钥存储器中的一个或者多个值。
根据本发明的另一方面,提供了一种准予对设备中的密钥存储器进行访问的系统,该设备包括一个或多个存储位置,用于存储一个或多个在该设备上可执行的应用,该密钥存储器包括多个密钥存储项目(entry),该系统包括用于产生标签的安全管理器,每个标签都与一个或多个应用相关联,以及与密钥存储器中的一个或多个项目相关联,以及各个密钥存储项目,该密钥存储项目在标签存在的条件下对于应用是可用的,该标签与该应用以及该密钥存储项目是相关联的。
根据本发明的另一方面,提供了上述的系统,其中安全管理器通过包含源自一个或多个应用特性的单向散列值的标签来产生与该应用相关联的标签。
根据本发明的另一方面,提供了上述的系统,其中安全管理器产生包含基本标签的标签,而且这些标签可能参考基本标签来使得一个或者多个应用与密钥存储器中的多个项目相关联。
根据本发明的另一方面,提供了一种准予访问设备中的密钥存储器的方法,该设备包括一个或者多个存储位置,用于存储可在设备上执行的一个或者多个应用,该密钥存储器包括密钥存储项目,该方法包括如下的步骤产生标签,每个标签与一个或者多个应用相关联并且与密钥存储器中的一个或者多个项目相关联,以及基于一个或者多个将应用与密钥存储项目相关联的标签来准予该应用访问密钥存储项目。
根据本发明的另一方面,提供了上述的方法,其中产生标签的步骤包括基于该应用的一个或者多个特性,执行单向散列操作以定义该标签与应用的关联性的步骤。
根据本发明的另一方面,提供了上述的方法,其中产生标签的步骤包括产生基本标签的步骤,而且这些标签可能参考基本标签来使得一个或者多个应用与密钥存储器中的多个项目相关联。
计算设备程序产品包括可操作地执行上述方法中的一种或多种的计算机程序代码。
本发明的优点包括,减少提示设备用户输入允许设备上的应用访问该设备上的密钥存储器所用的密码。


在仅通过本发明的优选实施例进行举例说明的附图中,图1是表示在执行本发明的优选实施例中使用的移动手持设备的部件的框图。
图2是表示根据本发明优选实施例,应用、标签、密钥存储器的示范性相互关系的框图。
具体实施例方式
参照手持移动通信设备和用于访问在这些设备中的密钥存储器信息的应用来描述本发明的优选实施例。然而,所属领域的技术人员应当理解,还可以使用支持应用访问密钥存储器信息的其他设备。
图1是表示在作为示范性示例的描述中使用的手持移动通信设备的功能元件的框图。手持移动通信设备10包括外壳12、键盘14和输出设备16。所示出的输出设备为显示屏16,其优选为全图示LCD。可以另选地使用其他类型的输出设备。图1中示意性示出的处理设备18容纳在外壳12中,并且被连接在键盘14和显示屏16之间。处理设备18响应用户对键盘14的按键动作控制显示屏16的操作以及整个移动设备10的操作。
外壳12可被纵向伸长,或者可以采用其它尺寸和外形(包括蛤壳形外壳结构)。键盘可以包括模式选择键,或者在文本输入和电话输入间进行切换的其他硬件或软件。
除了处理设备18,图1中还示意性地示出了移动设备10的其他部分。这些部分包括通信子系统100;近程通信子系统;键盘14和显示屏16,以及其他的输入/输出设备106、108、110和112;以及存储器设备116、118和各种其他的设备子系统120。移动设备10优选为具有语音和数据通信能力的双向RF(射频)通信设备。另外,移动设备10优选为具有经由因特网与其他计算机系统进行通信的能力。
由处理设备18执行的操作系统软件优选地存储在诸如闪存116的非易失性(persistent)存储器中,但也可以存储在诸如只读存储器(ROM)的其他类型的存储设备或类似的存储元件中。另外,系统软件、特定的设备应用或其部分可以临时被加载到诸如随机接入存储器(RAM)118的易失性存储器中。由移动设备接收的通信信号还可以被存储到RAM118中。
处理设备18除了其操作系统功能之外,还能够在设备10上执行软件应用130A-130N。用于控制诸如数据和语音通信130A和130B的基本设备操作的预定应用集合在制造期间就可以被安装到设备10上。另外,个人信息管理器(PIM)应用也可以在制造期间被安装。PIM优选地能够组织并管理诸如电子邮件、日历事件、语音邮件、约会和任务项的数据项。PIM应用还优选地能够经由无线网络140发送和接收数据项。优选地,利用设备用户的所存储的或与主计算机系统相关联的相应数据项、经由无线网络140来无缝地集成、同步并更新PIM数据项。正如下面更加详细地描述的那样,其他的应用也能够在设备上执行。
通过通信子系统100,而且还可能通过近程通信子系统来执行包括数据和语音通信的通信功能。通信子系统100包括接收器150、发射器152以及一个或者多个天线154和156。另外,通信子系统100还包括诸如数字信号处理器(DSP)158和本机振荡器(LO)160这样的处理模块。通信子系统100的具体设计和实现取决于移动设备10工作于其中的通信网络。例如,移动设备10可以包括如下设计的通信子系统100,该通信子系统被设计为利用MobitexTM、DataTACTM或者通用分组无线电业务(GPRS)移动数据通信网络进行工作,还被设计为利用各种语音通信网络中的任何一种来进行工作,语音通信网络包括诸如AMPS、TDMA、CDMA、PCS和GSM。其他类型的独立和集成的数据和语音网络也可以用于与移动设备10共同工作。
网络接入请求根据通信系统的类型而变化。例如,在Mobitex和DataTAC网络中,使用唯一个人识别号或者与各个设备相关联的PIN来在网络中登记移动设备。然而在GPRS网络中,网络接入与设备的用户相关联。因而,GPRS设备需要用户识别模块(通常称为SIM卡),以便在GPRS网络上进行操作。
当所需的网络登记或者激活过程已经完成时,移动设备10可以基于通信网络140发送和接收通信信号。将通过天线154从通信网络140接收的信号路由到接收器150,接收器150提供信号的放大、下变频、滤波、信道选择等,而且还提供模数转换。对接收信号的模数转换允许DSP158执行更加复杂的通信功能,诸如解调和解码。以类似的方式,通过DSP158对要发送到网络140的信号进行处理(例如调制和编码),而后将其提供给发射器152以进行数模转换、上变频、滤波、放大,并经由天线156发送到通信网络140(或多个网络)。
除了处理通信信号之外,DSP158还提供对接收器150和发射器152的控制。例如,可以通过在DSP158中执行的自动增益控制算法来自适应地控制应用于接收器150和发射器152中的通信信号的增益。
在数据通信模式中,诸如文本消息或网页下载这样的接收信号由通信子系统100来处理,并且被输入到处理设备18。而后进一步通过处理设备18对接收信号进行处理以便输出到显示屏16,或者另选地输出到某些其他辅助I/O设备106。设备用户还可以使用键盘14和/或诸如触摸板、摇臂开关、拇指轮(旋转控制器)的某些其他辅助I/O设备106、或其他类型的输入设备对诸如电子邮件消息的数据项进行编辑。而后可以经由通信子系统100、基于通信网络140来发送被编辑的数据项。
在语音通信模块中,整个设备的操作实际上类似于数据通信模式,除了接收信号被输出到扬声器100并且发射信号由麦克风112产生之外。也可以在设备10上实现诸如语音消息记录子系统这样的另选语音或者声音I/O子系统。另外,在语音通信模式中也可以使用显示屏16,例如用于显示呼叫方的身份、语音呼叫持续时间或者其他语音呼叫相关信息。
近程通信子系统使能够在移动设备10与其他最近的系统或设备(不要求必须是类似的设备)之间进行通信。例如,近程通信子系统可以包括红外设备以及相关联的电路和部件,或者BluetoothTM通信模块,以提供与类似使能的系统和设备的通信。
正如上面所提到的,诸如所描述的移动通信设备这样的设备一般包括用于存储应用的存储器。应用程序代码被存储到设备中的一个或者多个存储位置,并且根据要求来执行应用程序代码,一般是响应于设备用户的输入。在对操作或通信中的安全性有要求的设备中,可能需要在应用(或其部分)能够执行和/或访问设备上的某个安全位置之前就要求应用认证。在一种管理应用认证的方法中,应用将获得位于设备上的密钥存储器中的一个或多个密钥值。拥有这样的密钥值就允许应用根据设备的安全特性来执行,或者允许访问该设备上的安全位置。例如,电子邮件应用可能需要一个私钥对由使用公钥加密方案的通信方发送到设备的电子邮件消息进行解密。该密钥可以被放置到该设备的密钥存储器中。限制应用对密钥存储器的访问以确保仅被适当授权的应用才能够获得密钥或者对密钥存储器本身进行修改。在一些实施方案中,密钥存储器还可以存储诸如通信方用的公钥这样的公共信息,以及诸如用户私钥这样的专用信息。在这些例子中,应用可以只要求认证对通常被加密的专用信息的访问。
在一种现有技术的应用认证方法中,在每次应用试图访问密钥存储器时都要求用户提示密码。在该方法中,应用的执行将导致提示用户提供密码。如果用户对该应用提供正确的密码,则对该应用授权以以访问设备上的密钥存储器、并且检索该应用的密钥、或者对密钥存储器进行适当的修改(例如改变密钥值或者增加一个密钥值)。利用该密钥,应用就能够执行要求该密钥的操作。
在优选实施例中,通过由应用来获取用于允许访问密钥存储器的应用级标签来执行应用认证。通过使这些标签与应用相关联,可以使设备上的应用变为可信应用。这是通过将该应用与特定的标签相关联来实现的。因此,该应用能够访问设备的密钥存储器而无需针对每次访问所实现的密钥存储器都要求用户重新输入密码。此外,在某些实施方案中,由用户输入的密码可能本身就在接收了合适的标签之后由所述应用丢弃。在这种实施方案中,安全管理器保留密码信息,但应用本身不保留密码信息。当认为保留密码信息的应用对设备安全性来说是一种潜在的危险时,这种实施方案可能是有利的。另选地,应用可以高速缓存密码。如上所述,优选实施例中对标签的使用使得允许对密钥存储器访问的认证独立于应用对密码的保持或者重复获取。
图2是表示在设备上可执行的应用210、212的示范性布置的框图。该示例的设备包括密钥存储器214。本领域的普通技术人员应当理解,可以将密钥存储器214实现为具有多种不同的配置。图2的例子包括密钥存储器子集216。在密钥存储器子集216中,密钥值218、220、222在图2中示出。图2的例子是简单的示意性表示,旨在例示如下方式,在该方式中,可以对密钥值进行设置以作为单个密钥值、密钥值子集或者整个密钥存储器被参照。
在图2的例子中,设备包括安全管理器224。在优选实施例中,安全管理器224执行所定义的安全性功能,包括提供应用所使用的标签,如下面更加详细说明的。在图2中以独立的元件示出了安全管理器224。然而,为安全管理器224执行的应用生成标签的功能也可以包括在这样的功能性中,该功能性被实现作为密钥存储器214的一部分。包括有针对安全管理器224的下述功能的密钥存储器214的实现是一种设计选择,即该设计选择在实现优选实施例中是可用的。
在图2中,安全管理器224是按照由应用210、212可用的方式示出的。安全管理器224根据请求来产生与应用相关联的标签。在优选实施例中,这些标签是相对长寿命的对象,这些对象用于允许应用访问密钥存储器的某些或全部内容而不要求用户针对每次访问为该应用提供密码。
在图2的例子中,安全管理器224是按照由应用210可用的方式示出。在操作中,应用210可以从安全管理器224中请求一个标签(ticket)。这种请求的环境一般是应用试图访问密钥存储器214并且要求认证以进行这样的访问。在该优选实施例中,应用210可以具有在该应用中被高速缓存的由用户提供的密码。然而,如果该应用的执行被中断且重新启动,则这种被高速缓存的密码将可能丢失。在图2的优选实施例中,当应用210想要访问密钥存储器214时,首先的步骤是确定应用210是否具有被高速缓存的合适的密码。如果没有(且如果没有合适的标签存在),则应用210会提示设备用户输入合适的密码。一旦接收到所请求的密码,应用210随后就可以提示该设备用户来确定该应用是否可信。另选地,安全管理器224可以包括用于确定该应用是否被认为是可信的逻辑。设备管理员可以设置不同的安全性策略,这些安全性策略将用于确定应用取得可信与否的资格的难易程度。
如果安全管理器224中的用户或者逻辑表明了该应用210是可信的,则颁发一个合适的标签。在该优选实施例中,该标签由调用API(应用程序接口)方法IssueTicket(发布标签)的应用210来请求。在图2的例子中,通过对象即图2中的标签230示出了请求标签的成功结果,该标签230被返回给正在请求的应用。在该优选实施例中,标签230通过映像到标签220的应用210的单向散列与应用210相关联。安全管理器224建立这种关联并且安全地存储该应用的散列。因此,一旦生成该标签并且与应用210安全地相关联,则密钥存储器214就能够依靠应用210和标签230之间的关联性。执行这种安全关联性的其他方法也是可能的。
在图2所示的例子中,应用212与其标签232、234相关联。这些标签通过应用212来获得,并且以类似于上面描述的用于应用210和标签230的方式与应用212安全地相关联。
当应用与标签相关联时,该应用能够使用该标签来得到访问密钥存储器中由该标签指定的那些部分的权利。以这种方式,例如如果标签230保持有效(下面将更加详细地描述标签的有效性)的话,则应用210就可以继续存在,而如果应用210重新启动执行的话,则该应用210就可以使用标签230来访问密钥存储器214,而不必提示用户输入密码。以这种方式,在修改安全性设置、或运行需要为其操作使用密钥的应用中,应用级标签使得减少了设备用户可能要面对的提示输入密码的次数。此外,如上所述,对应用进行认证以访问密钥存储器与应用保持或者获得密码相独立。
在图2的例子中,以与整个密钥存储器214相关联的方式示出了(借助于虚线)标签230。该例子反映了对应用210访问密钥存储器214的全部内容的认证。应当理解,这种访问并不是为了授权一个应用,除非该应用被建立具有非常高的可信度。针对密钥存储器214给了这种宽权限的应用很可能能够错误地或者恶意地改变或者访问密钥存储器214的内容。因此,希望限制这种应用的数量。在该优选实施例中,标签可以与密钥存储器子集相关联,或者与密钥存储器中的单个密钥值相关联。
在图2中,以与标签232相关联(或者占有)的方式示出了应用212。以与密钥存储器子集216相关联的方式示出了该标签。因此,应用212被授权借助于标签232来访问密钥存储器子集216中存储的所有密钥。正如所属领域技术人员所理解的,密钥存储器子集216不必是密钥存储器存储位置的一个连续集合,而是在密钥存储器214中存在的密钥的一个可识别的子集。因此,应用212不能依赖标签232来获得访问密钥存储器214中所有密钥的权利,而只能够访问在密钥存储器子集216中被识别的那些密钥。可以以不同的方式来实现标签230与密钥存储器214的关联性以及标签232与密钥存储器子集216的关联性。如上所述,密钥存储器本身可以被定义为具有使得标签可以直接与不同的子集或者整个密钥存储器相关联的结构。一种可选择的方法是定义一个基本标签,该基本标签能被用于为密钥存储器中的单个密钥产生标签。在这种可选方法中,可以以定义标签的方式,而不是以如何定义密钥存储器本身的方式来表示在密钥存储器中的密钥之间的关系。在两种方法的任何一种当中,标签都能够最终指定一个或者多个密钥是否对请求访问的应用有效。
在图2中,应用212也是以占用标签234的方式示出的。在图2的例子中,标签234仅与密钥存储器214中的密钥222相关联。因此,标签234为应用212提供认证,以仅仅访问密钥222而非密钥存储器214中的其他密钥。
标签的其它方面是,在优选实施例中标签可能是时间受限的。在特定时间段后,该标签可能被安全管理器224撤销。在图2的例子中,标签232可能在标签234之前期满。因此,应用212被授权访问密钥存储器子集216中的所有密钥,直到标签232期满为止。随后,应用212将要求另外的用户或者系统证实被提供有另外的标签。然而,因为标签234具有比标签232更长的使用期限,所以即使在标签232期满的情况下,应用212也能够访问密钥222而无需另外的认证。在另选实施方式中,安全管理器224可以周期性地指示撤销标签230、232、234。例如,被配置为清除设备10存储器内容的应用可以周期性地请求安全管理器214撤销已颁发的标签。
如上所述,标签的使用使得应用避免必须保留密码。标签可以也可不必包括密码信息。这种是否包括密码信息的设计决策的作出基于所讨论的设备的实现目标。在密码信息被包括在标签中的优选实施例的实施中,可以通过比较标签密码与密钥存储器中的密码值来确定应用访问密钥的认证,以允许或者拒绝应用访问密钥存储器中的值。为了有效地完成标签的有效性,可以改变或者删除密钥存储器中的相应密码。因而标签中的密码将不再与密钥存储器中的密码相匹配,并且用于该应用的认证被有效地取消。
根据上面阐述的优选实施例,可以产生不同的应用级标签,并且可以允许应用(1)增加、删除或者改变密钥存储器中的记录,(2)访问安全位置以获得例如在设备中存储的私钥信息,以及(3)访问安全性证明状态项目以及安全性证明(certificate)本身。该优选实施例包括通过颁发与应用相关联的且允许访问密钥存储器的标签而将应用定义为可信的能力,以便可能执行上面所列的操作。
已经借助于例子详细地描述了本发明的各种实施方式,对所属领域技术人员显而易见的是可以在不脱离本发明范围的情况下进行各种改变和修改。
权利要求
1.一种用于对访问设备中的密钥存储器授权的系统,该设备包括用于存储在该设备上可执行的一个或多个应用的一个或多个存储位置,该密钥存储器包括密钥存储项目,该系统包括用于产生标签的安全管理器,每个标签都与一个或多个应用相关联,并且与密钥存储器中的一个或多个项目相关联,以及各个密钥存储项目,该每个密钥存储项目在标签存在的条件下对于应用是可用的,该标签与该应用以及该密钥存储项目是相关联的。
2.根据权利要求1的系统,其中安全管理器通过包含有根据一个或多个应用特性导出的单向散列值的标签来产生与该应用相关联的标签。
3.根据权利要求1的系统,其中安全管理器产生包含有基本标签的标签,并且其中标签可能参考基本标签来使得一个或者多个应用与密钥存储器中的多个项目相关联。
4.根据权利要求1的系统,其中安全管理器提供具有时间戳的各个标签,而且使这些标签在预定的时间段后无效。
5.根据权利要求1的系统,其中标签包括可变地允许相关的应用完成如下动作的信息增加、删除或者改变密钥存储器中的项目,访问安全位置,访问安全性证明状态信息,以及访问安全性证明。
6.根据权利要求1的系统,其中安全管理器保留用于设备的密码信息。
7.根据权利要求1的系统,其中该设备为手持无线通信设备。
8.一种用于对访问设备中的密钥存储器授权的方法,该设备包括用于存储可在设备上执行的一个或者多个应用的一个或者多个存储位置,该密钥存储器包括密钥存储项目,该方法包括如下的步骤(a)产生标签,每个标签都与一个或者多个应用相关联并且与密钥存储器中的一个或者多个项目相关联,以及(b)基于一个或者多个将应用与密钥存储项目相关联的标签来准予该应用访问密钥存储项目。
9.根据权利要求8的方法,其中产生标签的步骤包括基于该应用的一个或者多个特性,执行单向散列操作以定义该标签与应用的关联性。
10.根据权利要求8的方法,其中产生标签的步骤包括定义基本标签的步骤,而且这些标签可能参考其他基本标签来使得一个或者多个应用与密钥存储器中的多个项目相关联。
11.根据权利要求8的方法,还包括提供具有时间戳的各个标签的步骤,以及使这些标签在预定的时间段后无效的步骤。
12.根据权利要求8的方法,其中这些标签包括可变地允许相关的应用完成如下动作的信息增加、删除或者改变密钥存储器中的项目,访问安全位置,访问安全性证明状态信息,以及访问安全性证明。
13.一种计算设备程序产品,包括可操作地执行权利要求8的方法的计算机程序代码。
14.一种计算设备程序产品,包括可操作地执行权利要求9的方法的计算机程序代码。
15.一种计算设备程序产品,包括可操作地执行权利要求10的方法的计算机程序代码。
16.一种计算设备程序产品,包括可操作地执行权利要求11的方法的计算机程序代码。
17.一种计算设备程序产品,包括可操作地执行权利要求12的方法的计算机程序代码。
全文摘要
一种用于认证在具有密钥存储器的设备上执行的应用的方法和系统。这些应用获得一个应用级标签,以允许访问位于密钥存储器中的一个或者多个密钥值。各个标签都安全地与应用相关联并且在确定了该应用为可信的应用的情况下产生该标签。这些标签潜在地与密钥存储器中的一个密钥值相关联,与密钥存储器中的密钥值的子集相关联,或者与密钥存储器中的所有密钥值相关联。独立于为每个这种访问提供密码的用户,而由一个应用来访问密钥值是可能的。
文档编号G06F17/30GK1906599SQ200480040650
公开日2007年1月31日 申请日期2004年11月26日 优先权日2004年5月3日
发明者迈克尔·K·布朗, 迈克尔·S·布朗, 赫伯特·A·利特尔, 迈克尔·G·柯卡普, 尼尔·P·亚当斯 申请人:捷讯研究有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1