数据资源的密钥控制使用的方法和系统、相关网络以及计算机程序产品的制作方法

文档序号:6378387阅读:222来源:国知局
专利名称:数据资源的密钥控制使用的方法和系统、相关网络以及计算机程序产品的制作方法
技术领域
本发明涉及数据资源的密钥控制使用的技术,例如,计算机系统中的敏感数据的密钥控制保护和/或计算机系统或诸如因特网之类的媒体内容传输网络中用户的密钥控制注册和登录的技术。
背景技术
利用例如口令或口令短语,可保护计算机系统中的敏感和有价值的信息。由于用户一般选择易于记忆的口令,而这些口令可被特定的攻击,例如字典或强力攻击和社会工程技术破译,因此这些解决方案通常很弱。另一方面,长而复杂的口令或口令短语更安全,但是从用户的观点来看,也不太便于使用。保护计算机系统中有价值的数据还涉及“自组织(ad hoc)”保密硬件,例如智能卡、USB令牌或PCI/PCMCIA卡的使用。但是,由于获得、分配和管理智能卡、USB令牌或PCI/PCMCIA卡的成本的缘故,这些装置很少被使用。
为了克服这些缺陷,WO-A-00/31608提出使用移动电话机自动将计算机用户登录到计算机系统上的系统和方法。用户身份模块(SIM)被引入计算机系统,以致计算机系统将SIM和计算机用户联系起来。SIM随后被插入移动电话机中。当移动电话机被通电时,提示用户输入个人身份识别号(PIN)。当用户希望登录到计算机系统时,用户在移动电话机和计算机之间建立通信信道。移动电话机和计算机交换识别信息,计算机用户被自动登录到计算机系统上。该系统的一种例证配置方法规定按照信息可被写入SIM的模式,例如SAT配置模式设定移动电话机。SIM包含SIM应用工具包(SAT)。SAT是包含在GSM标准中的用于编写在SIM上运行的程序的开发环境。为了将产生公钥和私钥的程序安装到SIM上,SIM被插入智能卡读/写器中。计算机产生一组公钥和私钥。公钥被存储在计算机,或者计算机网络中的管理数据库中。私钥被存储在SIM中。另外,用于对在移动电话机和计算机之间传送的数据编码的各种参数也被存储在SIM上。所述各种参数是RSA算法中使用的数字。一旦系统已被配置成使SIM和计算机系统的一个或多个用户账户/身份相联系,并且移动电话机的用户已将PIN输入移动电话机中,那么用户可自动登录到计算机上。
在US-A-2003/0028763中,公开了另一种方案,其中在网际协议的模块化验证和授权方案的框架内,用户身份模块(SIM)可被用于产生将用于访问所请求资源的客户用密钥的副本。

发明内容
本发明的目的在于提供一种实现保护存储在计算机系统中的任何敏感数据和/或对计算机系统本身的本地访问的安全并且成本低的方法的方案。
借助SIM(用户身份模块)实现这种新的保护水平。
在本说明书的剩余部分和权利要求书中,我们将将一般在GSM网络中使用的SIM卡或一般在UMTS网络中使用的USIM卡,或者在不同的无线网络中使用的,并且具有基于加密的验证或识别特征,例如基于质询和回应机制的类似卡定义为SIM。
由于其可靠的GSM/UMTS保密功能,SIM利用提供了一种解决客户机安全性问题的途径。具体地说,这里描述的方案利用与安装在计算机系统中的特定处理模块结合的SIM来保密地产生强密码密钥。这些密码密钥被用于有效地加密敏感数据,例如机密文件、文件夹、虚拟磁盘、软件许可证或者保护访问计算机系统所需的用户凭证。从而,只有合法的SIM才能够对敏感数据解密,或者允许对计算机系统的本地访问。
根据本发明的一个方面,提供一种存储在与计算机系统相关的数据库中的数据资源的密钥控制使用的方法,包括下述步骤
-提供携带至少一种保密算法的用户身份模块;-借助所述至少一种保密算法产生密钥;和-利用所述密钥保护所述数据资源。
根据本发明的另一方面,提供一种数据资源的密钥控制使用的系统,包括-携带至少一种保密算法的至少一个用户身份模块;-至少包含至少一个处理模块的计算机系统,所述处理模块与所述用户身份模块连接,从而借助所述至少一种保密算法产生至少一个密钥,并被配置成借助所述密钥保护所述数据资源;和-与所述计算机系统相关的数据库,用于存储由所述密钥保护的所述数据资源。
根据本发明的另一些方面,提供一种相关的通信网络和可装入至少一个计算机的存储器中的计算机程序产品,所述计算机程序产品包括当其在计算机上运行时,执行本发明的方法的步骤的软件代码部分。对“至少一个计算机”的引用显然意图突出按照分布式模块化方式实现本发明的系统的可能性。
在从属权利要求和下面的说明中描述了本发明的其它优选方面。


下面参考附图,举例说明本发明,其中图1是如这里所述的系统的体系结构的例证方框图,图2、4、6和7是根据这里描述的方案的系统的可能操作的例证流程图,图3和5是表示这里所述的方案中的数据处理的功能/方框图。
具体实施例方式
这里说明的方案包含下面列举的实体计算机系统这里使用的计算机系统表示能够执行计算,存储数据,运行应用程序,和利用特定的开发环境和编程语言,例如C、C++、Java、C#等编程的任何系统。于是,计算机系统(图1中的CS)可以是个人计算机,笔记本计算机,膝上型计算机,个人数字助理(PDA),智能电话机等。计算机系统还能够连接SIM。
SIM这里使用的SIM表示在移动网络,例如GSM或UMTS网络中分别用于控制和保护用户对网络资源的访问的SIM卡或USIM卡。具体地说,为了可以接入移动网络,用户必须被验证。在GSM/UMTS网络中,这种验证被实现成质询-回应机制。网络向用户移动电话机发送称为RAND的随机值,用户移动电话机又将该值转发给SIM。包含称为Ki的唯一私钥的SIM用称为A3的随移动电话运营商而定的算法对该RAND加密,以便产生验证回应SRES。该验证回应被返回给网络,知晓SIM密钥Ki的网络进行相同的计算,并对照用户供给的SRES检查其SRES。如果这两个值相符,那么准许用户接入,否则,接入请求被拒绝。在前一情况下,SIM可利用称为A8的另一随移动电话运营商而定的算法以及密钥Ki对RAND值加密,从而产生称为Kc的会话密钥。该密钥将被传送给移动电话机,以便保护移动电话机和GSM/UMTS收发机站之间的无线电链路。
处理模块这里使用的处理模块表示安装在计算机系统CS中,能够与SIM和安装在计算机系统CS中的操作系统通信的软件组件。具体地说,该处理模块能够对存储在计算机系统中的敏感数据进行加密操作,和对访问操作系统所需的用户凭证进行加密操作。
用户用户是SIM和待保护的敏感数据的合法所有者。
有利的是,本发明中涉及的SIM不需要任何定制或修改,因为这里描述的方案只利用了嵌入的标准(例如GSM或UMTS)保密函数。
下面的说明只是基于GSM网络和相关的SIM基础结构,举例说明这里描述的方案的一个可能实施例。本领域的技术人员易于认识到通过采用相关的USIM基础结构,这里描述的方案可适用于例如UMTS网络的框架内的操作。所述方案可应用于由基本和SIM基础结构类似的用户识别基础结构支持的任何其它网络架构。
于是,这里使用的术语“SIM”意图包含基于相同操作原理的所有这些备选基础结构。
具体地说,SIM可利用几种方法与计算机系统CS连接,例如(但不限于)(参见图1)-标准的PCSC阅读器10;-经由蓝牙通道的移动电话机/终端20(用作无线SIM阅读器);-经由IrDA通道的移动电话机/终端30,或者-经由与串行/并行/USB/火线端口连接的电缆的移动电话机/终端40(用作有线SIM阅读器)。
当然,预期技术进展将提供连接SIM和计算机系统的新装置和协议。从而,本发明包含这样的新装置和协议的可能使用。
将结合两个基本的例证实施例说明这里描述的方案-基于SIM的敏感数据保护,-基于SIM的本地访问保护就第一实施例而论,要求SIM产生强密钥,所述强密钥将被对称密钥算法,例如(但不限于)AES、3DES、RC6、Serpent或Twofish用于对用户敏感数据加密。对称密钥算法被存储在处理模块中。在这种情况下,敏感数据包括可存储在计算机系统上的任何数字信息,例如文件、文件夹、虚拟磁盘、软件许可证、文档等。只有授权的SIM稍后能够重建相同的密钥,于是能够解密数据和访问数据。在加密和解密过程中都不需要用户口令或口令短语。
第二实施例利用类似的方法将基于SIM的本地访问服务设置到计算机系统CS中。这种情况下,只有当与计算机系统CS连接的SIM能够对访问计算机系统本身所需的用户凭证解密时,才允许对操作系统的访问。用户凭证可被存储在远程数据库上,或者本地存储在计算机系统CS中。
根据本发明的第一实施例,基于SIM的敏感数据加密以由图2的流程图表示的程序为基础。
在步骤100中,用户请求对选择的一组敏感数据的保护。例如,在Microsoft WindowsTM平台中,用户能够在文件管理器ExplorerTM中选择待保护的文件和文件夹。随后,利用环境菜单(右击鼠标),他或她可选择处理模块可用的例如“SIM Encrypt”菜单项。
在步骤102中,处理模块开始检查与计算机系统CS连接的SIM的存在。如果找到SIM,那么处理模块检查SIM访问是否受PIN保护,如果需要,那么它请求用户例如利用GUI(图形用户界面)输入对应的PIN。
一旦在步骤104中结束访问(直接地,如果SIM不受PIN保护,或者如果用户提供的PIN是正确的),那么处理模块产生两个随机值RAND1和RAND2,具体地说两个128位的随机值(步骤106)。
这两个随机值RAND1和RAND2随后被转发给存储在SIM上的A8 GSM保密算法(例如参见[GSM Technical Specification GSM03.20(ETSI TS 100 929 v8.1.0)“Digital cellular telecommunicationsystem(Phase 2+);Security Related network functions”,EuropeanTelecommunications Standards Institute,July 2001];或者[GSMTechnical Specification GSM 11.11(ETSI TS 100 977 v8.3.0)“Digitalcellular telecommunication system(Phase 2+);Specification of theSubscriber Identity Module-Module Equipment(SIM-ME)interface”,European Telecommunications Standards Institute,August 2000])。
这返回在步骤108中以Kc1=A8(RAND1)和Kc2=A8(RAND2)的形式,并且根据SIM的私钥Ki计算的两个会话密钥Kc1和Kc2,具体地说两个64位会话密钥。
随后,利用散列函数h,比如(但不限于)SHA-1函数(例如参见[National Institute of Standards and Technology(NIST),“FederalInformation Processing Standards Publication 180-2-SECUREHASH STANDARD(SHS)”,August 1,2002]或者MD5函数(例如参见[A.J.Menezes,P.C.van Oorscot,S.A.Vanstone,“Handbookof Applied Cryptography”,CRC Press,ISBN0-8493-8523-7,October 1996]混合这两个会话密钥Kc1和Kc2。
在步骤110中,该操作产生一个加密密钥K=h(Kc1,Kc2)。
更具体地说,通过利用由函数f混合的经由验证质询(随机值)RAND1和RAND2而获得的验证符号响应SERS和会话密钥Kc1,Kc2,可计算加密密钥K,即K=f(Kc1,Kc2,…,Kcn,SRES1,SRES2,…,SRESn)。这样,为了获得更长并且更安全的加密密钥K,可对混合函数f和使用的验证质询的数目n进行处理。最后,混合函数f还可引入不依赖于GSM保密函数的附加秘密。例如,混合函数f可包括用户特有的私钥KU,以使对于通常知道嵌入SIM中的密钥Ki的移动电话运营商来说,加密密钥K也是不可预测的。于是在这种情况下,K=f(KU,Kc1,Kc2,…,Kcn,SRES1,SRES2,…,SRESn)。混合函数f可以是例如消息验证码(MAC)函数,例如(但不限于)HMAC-SHA-1,HMAC-MD5,AES-XCBC-MAC。
在步骤112中,处理模块还可产生将被用作初始化向量(IV)的随机向量,以便按照CBC模式(密码块链接再次参见已在上面引用的Menezes等的参考文献)利用对称密钥密码对敏感数据加密。当然可以使用其它加密方式,例如(但并不限于)CFB(密码反馈),或者OFB(输出反馈)。随机向量的位长度取决于选择的特定算法。例如,就AES(先进加密标准)来说,随机向量长度为128位。
按照用于密码的特定模式,随机向量也可被省略(例如在ECB模式,电子密码本再次参见Menezes等的参考文献)。
在步骤114,处理模块利用加密密钥K和随机向量IV,例如在CBC模式下利用AES密码对选择的敏感数据加密。可以使用其它对称密码,例如(但不限于)3DES、RC6、Serpent或者Twofish。
作为一个选项,在加密阶段之前,处理模块还可压缩加密的敏感数据,以便减小待处理的数据的大小,并从统计的观点来看,使加密的敏感数据更独立。为此,可使用几种无损压缩算法,例如(但不限于)PKZIP、GZIP、RAR、ACE、ARJ或LZH。
加密的敏感数据ESD(参见图3)随后将和密码首标CH一起存储在计算机系统CS中。特别地,密码首标CH包含用于解密阶段的信息。
具体地说,密码首标CH可包括图3中所示的字段-两个随机值RAND1和RAND2;-随机向量IV;-包含诸如处理模块版本,密码,加密方式,使用的压缩算法和其它数据之类的信息的字符串Version;和-与加密的敏感数据相关,并且包括基于加密密钥K的三个在先字段的密码校验和MACK。例如,HMAC-SHA-1算法可被用于此目的,但是可以使用任何其它MAC(消息验证码)算法,例如(但不限于)HMAC-SHA-1、HMAC-MD5或者AES-XCBC-MAC。
对用户选择的每组敏感数据重复该处理。
要认识到密码校验和MACK的使用在检测方面提供保护以防对加密的敏感数据的未授权修改。事实上,不知道加密密钥K的对手不能连同密码校验和MACK的完整性一起改变加密的敏感数据。
处理模块还可实现密钥K和用于完整性的密钥Kint之间的隔离。例如,如密码学中的最佳实践通常所建议的那样,处理模块可得出密钥KEnc=f1(K)对敏感数据加密,和密钥KInt=f2(K)对文件“MAC”。
处理模块并不将任何SIM标识符存储到密码首标CH中,例如SIM IMSI(国际移动用户身份模块),SIM MSIDSN(移动用户ISDN)或者SIM序号。对用户加密的敏感数据来说,这提供了更高的保密水平。
但是,应该可将该信息加入密码首标CH中,以便加速解密程序。这种情况下,在开始敏感数据的解密之前,SIM将检查其标识符在密码首标CH中的存在。
基于SIM的敏感数据解密程序以图4的流程图所示的程序为基础。
在步骤200中,用户请求访问选择的一组敏感数据。例如,在Microsoft WindowsTM平台上,用户能够在文件管理器ExplorerTM内选择待保护的敏感数据。随后,借助环境菜单(右击鼠标),他或她可选择处理模块可用的“SIM Decrypt”菜单项。
在步骤202中,借助下述装置(但不限于),处理模块开始检查与计算机系统CS连接的SIM的存在-标准的PCSC阅读器;-经由蓝牙通道的移动电话机;-经由IrDA通道的移动电话机,或者-经由与串行/并行/USB/火线端口连接的电缆的移动电话机如果找到SIM,那么处理模块检查SIM访问是否受PIN保护,如果需要,那么它要求用户例如利用GUI(图形用户界面)输入PIN。
一旦在步骤204中实现SIM访问(直接地,如果SIM不受PIN保护,或者如果用户提供的PIN是正确的),那么在步骤206中,处理模块解析与加密的敏感数据相关的密码首标CH字段,特别地,字符串Version和两个随机值RAND1和RAND2。具体地说,它检查用于对敏感数据加密的处理模块版本是否和支持的处理模块版本相符(例如在密码、方式、压缩算法等方面)。这种情况下,处理模块将两个随机值RAND1和RAND2转发给存储在SIM中的A8GSM保密算法,在步骤208中,A8GSM保密算法的执行返回两个会话密钥Kc1和Kc2,具体地说计算为Kc1=A8(RAND1)和Kc2=A8(RAND2)的两个64位会话密钥Kc1和Kc2。
在步骤210中,随后利用散列函数h,例如(但不限于)SHA-1函数或MD5函数混合这两个会话密钥Kc1和Kc2。
该操作产生解密密钥K=h(Kc1,Kc2)。
更具体地说,通过利用由函数f混合的经由验证质询(随机值)RAND1和RAND2而获得的验证符号响应SERS和会话密钥Kc1,Kc2,可计算解密密钥K,即K=f(Kc1,Kc2,…,Kcn,SRES1,SRES2,…,SRESn)。这样,为了获得更长并且更安全的解密密钥K,可对混合函数f和使用的验证质询的数目n进行处理。最后,混合函数f还可引入不依赖于GSM保密函数的附加秘密信息。例如,混合函数f可包括用户特有的私钥KU,以使对于通常知道嵌入SIM中的密钥Ki的移动电话运营商来说,解密密钥K也是不可预测的。于是在这种情况下,K=f(KU,Kc1,Kc2,…,Kcn,SRES1,SRES2,…,SRESn)。混合函数f可以是例如消息验证码(MAC)函数,例如(但不限于)HMAC-SHA-1,HMAC-MD5或AES-XCBC-MAC。
此时在步骤212中,处理模块能够利用解密密钥K核实包含在密码首标CH内的密码校验和MACK。
在核实成功的情况下,在步骤214中,处理模块继续进行加密的敏感数据的解密,否则,它断定SIM未被批准访问加密的敏感数据,或者加密的敏感数据已被修改。这种情况下发出警报。
具体地说,如果密码校验和核实阶段是成功的,那么处理模块利用解密密钥K,包含在密码首标CH内的随机向量IV和由同样包含在密码首标CH内的字符串Version指定的密码和加密方式,对加密的敏感数据解密。它还从解密的敏感数据中除去密码首标,这种情况下,它按照在字符串Version中指定的压缩算法对解密后的敏感数据解压缩。
对用户选择的每组敏感数据重复该处理。
这里描述的方案还提供一种密钥恢复服务。事实上,如果由于SIM已被丢失或者硬件故障,用户的SIM不可用,那么通过向移动电话运营商询问与包括在加密的敏感数据的密码首标CH中的随机值RAND1和RAND2相关的两个会话密钥Kc1,Kc2,用户能够重建加密密钥K。于是,借助新的SIM,用户能够对所有受保护的敏感数据解密,并对它们重新加密。
如前所述,提出的方案还适合于和UMTS SIM(通常称为USIM)一起操作。这归因于用户利用GSM的相同保密函数(A3和A8GSM保密算法)的事实。
这里描述的第二实施例涉及基于SIM的本地访问保护。具体地说,该方案可和提供基于密码的用户验证工具的任何操作系统,例如(但不限于)Windows NT/2000/XP,Sun Solaris,Linux或MAC-OS一起使用。
在本实施例中,用户凭证按照第一实施例被保护,并被本地存储在计算机系统CS中,或者远程存储在数据库上。当用户想要登录计算机系统CS时,使SIM与计算机系统CS连接,并按照前面结合图2说明的程序产生加密密钥K。加密密钥K随后被用于对用户凭证解密,并将用户凭证传送给底层的操作系统,所述操作系统通过检查这些用户凭证,照常完成验证阶段。
更具体地说,第二实施例涉及两个不同的程序,即-用户注册进程-基于SIM的登录进程。
在用户注册进程中,利用按照前面结合图2说明的程序,由用户SIM产生的加密密钥K对用户凭证加密。加密的用户凭证将被存储在远程数据库中的一条记录中,或者本地存储在计算机系统CS中,例如存储在配置文件或系统注册表内。相对于第一实施例,现在存储SIM的识别参数,以便在计算机系统CS中,建立用户凭证和对应的用户SIM之间的联系。在第二实施例中,如图5中所示,IMSI(国际移动用户身份模块)被用作SIM的唯一标识符。但是,可以使用其它的标识符,例如(但不限于)SIM MSIDSN(移动用户ISDN)或者SIM序号。
用户注册进程以图6中所示的步骤为基础。
借助下述装置(但不限于)使用户SIM与注册服务器连接-标准的PCSC阅读器;-经由蓝牙通道的移动电话机;-经由IrDA通道的移动电话机,或者-经由与串行/并行/USB/火线端口连接的电缆的移动电话机。
在步骤300中激活注册模块。注册模块请求用户凭证,例如与连接的SIM相关的用户的用户名和口令。根据操作系统,其它信息可被包括在用户凭证内,例如网络域名,如同在Microsoft Windows平台中一样。
注册模块按照包含基本上与前面结合图2说明的步骤S102-114相同的步骤302-314的程序,对提供的用户凭证加密。
在步骤316,加密程序的结果(密码首标CH和加密数据ED)和SIM IMSI一起被存储在远程数据库的一条记录中,或者本地存储在计算机系统CS中(同样参见图5)。
一旦用户已注册,那么通过按照下面说明的基于SIM的登录进程,他或她能够登录到计算机系统CS中。
在图7中所示的例证的基于SIM的登录进程中,用户SIM并被假定为通过下述装置(但不限于)与计算机系统CS连接-标准的PCSC阅读器;-经由蓝牙通道的移动电话机;-经由IrDA通道的移动电话机,或者-经由与串行/并行/USB/火线端口连接的电缆的移动电话机。
当收到访问请求(步骤400),并与SIM连接(步骤402)时,监听先前的通信信道的处理模块检测SIM的存在(图7)。处理模块被存储在计算机系统CS上。
处理模块检查SIM访问是否受PIN保护,如果需要,那么它请求用户例如利用GUI(图形用户界面)输入对应的PIN。
一旦在步骤104中结束该访问(直接地,如果SIM不受PIN保护,或者如果用户提供的PIN是正确的),那么在步骤406中,处理模块从SIM读出IMSI。随后,在步骤408中,它在远程数据库内或者在计算机系统CS内将该值用作主要的搜索关键字。
如果匹配,那么处理模块读出该条记录或者配置文件/系统注册表,并执行前面详细说明的处理(在步骤410-414中,这样的步骤基本上和图4的步骤206-210相同),以便对用户凭证解密。
解密(步骤414)之后,处理模块将用户凭证直接转发给操作系统,操作系统又将照常验证用户。处理模块还负责安全地擦除解密的用户凭证,以防止未经批准的用户凭证恢复。
提供的该解决方案提高了总的安全水平。事实上,每次登录时,用户不需要键入他或她的口令。这样,可按照在构成、长度和循环时间方面更严格的安全策略来选择口令。于是,传统的攻击,例如强力攻击,字典攻击或者社会工程技术不再适用。此时,用户凭证受SIM保护在不拥有SIM和知道对应的PIN的情况下,使数据库包含加密的用户凭证的泄秘方法无效。此外,每个用户凭证由不同的随SIM而定的密钥加密。这大大有助于降低与泄露秘密的数据库相关的风险。
如前所述,本发明还可和其它SIM型卡一起操作,例如,UMTSSIM(一般称为USIM)。这归因于UMTS利用和GSM相同的保密函数(A3和A8GSM保密算法)。另外,USIM包括藉此可从单个验证RAND开始,产生一个或多个密钥(CK,IK)的保密函数。
就USIM来说,沿着前面说明的方法的路线,甚至可从单个随机值RAND开始产生密码密钥。
于是,在不损害本发明的基本原理的情况下,细节和实施例可变化,而不会脱离如下面的权利要求中限定的本发明的范围,另外重要的是,前面描述的只是对本发明的举例说明。在这方面,要认识到措词“加码处理”中性地适用于加密数据(明文)从而产生加密的数据,和解密加密的数据,从而从加密的数据恢复解密的明文数据。
上述方案可获得下述优点。
具体地说,这里描述的方案利用完全标准的SIM(它是被广泛使用和接受的装置)来保密地产生变长的强密码密钥,以便保护计算机系统资源,例如文件、文件夹、软件许可证等,或者对计算机系统本身的本地访问。
特别地,为了在这里描述的方案的构架内正确地工作,SIM不需要任何定制或修改。为了起智能卡的作用或者处理数字证书,SIM不需要用SIM应用工具包(SAT)或者任何其它类似的技术来修改。
此外,这里描述的方案还完全遵守其用户验证程序以口令为基础的任何操作系统。
此外,不需要用户管理程序方面的任何变化。这归因于这里描述的方案利用SIM保护操作系统用户凭证或者操作系统用户简表,而不改变用户凭证或用户简表本身。
另外,不要求用户键入他或她的口令。为此,可按照更严格的安全策略来选择口令和口令短语,以便排除攻击,比如字典攻击,强力攻击或社会工程。当用户访问计算机系统时,这里描述的方案并不直接验证用户事实上,它保护访问操作系统的用户凭证,而操作系统将维持其验证用户的任务,既然这一般是在计算机系统环境中进行的。
权利要求
1.一种存储在与计算机系统相关的数据库中的数据资源的密钥控制使用的方法,包括下述步骤-提供携带至少一种保密算法的用户身份模块(SIM);-借助所述至少一种保密算法产生密钥(K);和-利用所述密钥(K)保护所述数据资源。
2.按照权利要求1所述的方法,其特征在于,利用所述密钥保护所述数据资源的所述步骤包括下述步骤-借助于所述密钥(K)对所述数据资源加密;-将所述加密的数据资源存储在与所述计算机系统相关的所述数据库中;-从所述数据库检索所述加密的数据资源;和-借助于所述密钥(K)对所述加密的数据资源解密。
3.按照权利要求1或2所述的方法,其特征在于,产生密钥的所述步骤包括下述步骤-产生至少一个随机值(RAND1,RAND2);-对所述至少一个随机值(RAND1,RAND2)应用所述至少一种保密算法,产生至少一个会话密钥(Kc1,Kc2);和-借助混合函数(h)处理所述至少一个会话密钥(Kc1,Kc2),产生所述至少一个密钥(K)。
4.按照权利要求3所述的方法,其特征在于,它包括下述步骤-产生至少两个随机值(RAND1,RAND2);-对所述至少两个随机值(RAND1,RAND2)应用所述至少一种保密算法,产生至少两个会话密钥(Kc1,Kc2);和-借助混合函数(h)组合所述至少两个会话密钥(Kc1,Kc2),产生所述至少一个密钥(K)。
5.按照权利要求3或4所述的方法,其特征在于,所述混合函数包括散列函数(h)。
6.按照权利要求3-5任意之一所述的方法,其特征在于,它包括将与所述用户身份模块保密算法无关的用户特有秘密信息(KU)插入所述混合函数(h)中的步骤,从而即使根据所述用户身份模块(SIM)中携带的所述保密算法的知识,所述密钥(K)也是不可预测的。
7.按照权利要求1-6任意之一所述的方法,其特征在于,它包括从用户敏感数据或用户凭证中选择所述数据资源的步骤。
8.按照权利要求7所述的方法,其特征在于,使用所述密钥(K)保护所述数据资源的所述步骤包括利用所述密钥(K),将所述用户敏感数据或所述用户凭证从明文加密成加密格式的步骤。
9.按照权利要求7或8所述的方法,其特征在于,使用所述密钥(K)保护所述数据资源的所述步骤包括利用所述密钥(K),将所述用户敏感数据或所述用户凭证从加密格式解密成明文的步骤。
10.按照权利要求8或9所述的方法,其特征在于,加密格式的所述用户敏感数据或所述用户凭证具有相关的密码首标(CH)。
11.按照权利要求10所述的方法,其特征在于,所述密码首标(CH)包括所述用户身份模块(SIM)的标识符和基于所述密钥(K)的密码校验和(MACK),所述密码校验和(MACK)被用于检测所述加密格式的任何未授权修改。
12.按照权利要求7-11任意之一所述的方法,其特征在于,所述数据资源是用户凭证,与所述计算机系统相关的所述数据库是远程数据库,基于所述用户凭证的所述数据资源按照所述加密格式,被存储在所述远程数据库中。
13.按照权利要求12所述的方法,其特征在于,它包括建立以所述加密格式存储在所述远程数据库中的所述用户凭证和对应的用户身份模块(SIM)之间的关系的步骤。
14.按照权利要求13所述的方法,其特征在于,利用所述用户身份模块(SIM)的标识符建立所述关系。
15.按照权利要求14所述的方法,其特征在于,它包括利用所述标识符在所述远程数据库内搜索,从而允许所述用户使用所述用户凭证的步骤。
16.一种数据资源的密钥控制使用的系统,包括-携带至少一种保密算法的至少一个用户身份模块(SIM);-至少包含至少一个处理模块(CS)的计算机系统,所述处理模块与所述用户身份模块(SIM)连接,从而借助所述至少一种保密算法产生至少一个密钥(K),并被配置成借助所述密钥(K)保护所述数据资源;和-与所述计算机系统相关的数据库,用于存储由所述密钥(K)保护的所述数据资源。
17.按照权利要求16所述的系统,其特征在于,所述至少一个处理模块被配置成-利用所述密钥(K)对所述数据资源加密;-将所述加密的数据资源存储在与所述计算机系统相关的所述数据库中;-从所述数据库检索所述加密的数据资源;和-利用所述密钥(K)对所述加密的数据资源解密。
18.按照权利要求16或17所述的系统,其特征在于,所述数据库包括在所述计算机系统中。
19.按照权利要求16或17所述的系统,其特征在于,所述数据库远离所述计算机系统。
20.按照权利要求16-19任意之一所述的系统,其特征在于,所述处理模块通过智能卡阅读器、蓝牙移动终端、IrDA移动终端或者通过电缆的移动终端,与所述用户身份模块(SIM)连接。
21.按照权利要求16-20任意之一所述的系统,其特征在于,所述计算机系统包括个人计算机、笔记本计算机、膝上型计算机、PDA或智能电话机。
22.一种包括按照权利要求16-21任意之一所述的系统的通信网络。
23.一种可装入至少一个计算机的存储器中,并包括执行按照权利要求1-15任意之一所述的方法的软件代码部分的计算机程序产品。
全文摘要
数据资源的密钥控制使用(例如保密地存储和检索敏感数据,或者保密地注册和登录计算机系统)的方案包括下述步骤提供携带至少一种保密算法的用户身份模块(SIM);产生至少一个,例如两个随机值(RAND1,RAND2);对随机值(RAND1,RAND2)应用所述至少一种保密算法,从而产生至少一个,例如两个会话密钥(Kc1,Kc2);利用诸如散列函数之类的混合函数(h)处理会话密钥(Kc1,Kc2),从而产生密钥(K);和利用这样产生的密钥(K)使用所述数据资源。
文档编号G06F21/62GK1910531SQ200380111038
公开日2007年2月7日 申请日期2003年12月30日 优先权日2003年12月30日
发明者玛纽·里昂, 艾托·E·卡普瑞拉 申请人:意大利电信股份公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1