用安全模块来管理应用程序安全性的方法

文档序号:7608754阅读:278来源:国知局
专利名称:用安全模块来管理应用程序安全性的方法
技术领域
本发明涉及也被称为蜂窝网络的移动网络领域。尤其是涉及对具有和移动电话的移动设备相关的安全模块功能的应用程序的安全性进行管理。
移动电话或便携式电话的安全模块的已知名称为构成这些电话的中央安全元件的“SIM卡”(用户识别模块)。在制造和/或个性化阶段,电话操作者引入一个被称为IMSI(国际移动用户身份识别)的号码,该号码用来以安全、唯一的方式识别希望连接到移动网络的每个用户。下面被称为移动设备的每个移动电话由一个存储在移动设备的非易失性存储器中的号码在物理上识别。这个号码被称为IMEI(国际移动设备识别码),它包含对移动设备类型的识别以及在GSM(全球移动通信系统)、GPRS(通用分组无线系统)或UMTS(通用移动电信系统)类型的网络中用于以唯一方式识别一个给定移动设备的序列号。此外,移动设备的特性由表明安装在移动设备上的基本软件的更新状态的软件版本SVN(软件版本号)来描述。具有软件版本(SVN)的移动设备的类型识别和序列号的组合给出了一个新的识别,被称为IMEISV(国际移动设备识别码和软件版本序列号)。同样的识别概念也适用于WLAN(无线局域网)或者双向有线电视。物理识别符可以是对应于唯一地址的MAC地址(媒体访问控制),该地址识别了在一个网络IP(互联网协议)上一个用户的材料配置,并且软件版本可以基于IP通过上层协议传输。
ETSI条例(“欧洲电信标准协会”)定义了一种移动台(MS,移动台),它由一项移动设备(ME,移动设备)和一个订用模块(SIM,用户识别模块)组成。这个用户模块通常是可拆卸的,也就是说它可以被抽回或者从一项移动设备转移至另一设备。
在启动一个移动设备期间,特别是在其连接至一个操作员的网络的过程中,在授权或禁止其使用的操作员的移动设备和管理中心之间交换包含识别数据的数据。
文件EP0757502描述了一种当移动设备IMEI的物理识别码出现在黑名单上时锁定一个用户识别模块的方法。当该移动设备连接至移动网络时,它将识别码IMEI发送至管理中心。后者进行比较,以验证所接收的识别码和操作员注册被盗识别码或故障移动设备识别码的数据库的内容。如果所接收的识别码存在于该数据库中,则管理中心将一个包含锁定指令的信息发送至有问题的移动设备。在确认其真实性之后,将该指令发送至一个执行锁定步骤的识别模块,该锁定步骤阻止移动设备进一步连接至网络。
文件US5864757描述了一种基于生成一个对应于用户模块识别码的代码、附属于手机的密钥的使用,利用用户模块启动移动手机的方法。手机包含一个单一防干扰密钥。在其启动时,操作员的管理中心向手机发送一条信息,通过使用手机的唯一密钥,用来计算一个对于操作员特定的密钥。这个新的密钥与网络识别码或用户模块识别码结合使用,以产生一个对照存储在用户模块中的一个代码的控制字。如果控制字与用户模块代码相符合,则启动手机。
这两个文件中所描述的方法仅仅涉及例如基于识别码IMEI需要在物理上识别的移动设备方面。当实施这些方法时,为了阻止移动设备连接至网络,它们的作用只集中在用户模块和/或移动设备的锁定/解锁。
目前,移动设备提供给用户的除了通过访问一个移动网络建立电话通话的普通功能之外,还使用许多其他的补充增值业务,如多种信息咨询、远程金融交易、电子商务、访问多媒体内容等。为了保护用户避免由第三方寻找移动设备可能存在的安全漏洞而导致的可能欺诈,这些改进的业务需要渐增的较高层次的安全性。
因此,有必要执行至少两个层次的验证一方面是移动设备本身的层次,另一方面是允许操作员或第三方所建议的不同业务功能的软件应用的层次。其目的在于保证用户模块只与适当授权或者由操作员和/或应用软件提供商所认可的移动设备的类型和软件版本一起工作。用户模块的作用被理解为通过执行预先安装在移动设备的存储器中的特定数目的软件应用程序,允许使用一个用户所要求的业务的能力,并且其使用用户模块作为保护装置。
在移动设备中执行的这些应用程序使用用户模块中的可用资源。资源被理解为不同功能和一个应用程序的正确所必需的数据。某些资源可能对于多个应用程序来说是共用的,尤其是涉及安全性的功能。用户模块因此可能被阻塞或者改变某些应用程序的功能,对于这些应用程序,在有问题的移动设备中并不重视由操作员和/或应用程序提供商所建立的安全条件,或者移动设备的用户权限不足。
以上提到的文件并没有涉及与一组移动设备有关的软件方面,例如与所安装的软件应用程序有关的信息、软件版本序列号、或者甚至是对移动设备类型或款式的参考等等。因此,为了有选择性地启动/解除使用这些资源的应用程序或应用程序功能,需要考虑到用户模块资源的目标管理方法的使用。然而,通过这些操作完全锁定用户模块以阻止移动设备访问网络的效果并不理想。
本发明的目的在于提供移动设备、用户模块和应用程序的安全性的管理方法,减少发生以下事实的风险,即在无法实现某些预定安全性标准的一种类型和/或一种软件版本的移动设备上所执行的应用程序可能欺诈性地使用一个用户模块。
另一个目的在于保护移动设备的用户和应用程序的提供商,防止由于复制移动设备和/或用户模块而导致的滥用。
这些目的通过利用在连接至一个网络的设备中工作的一个安全模块来管理应用程序安全性的方法来实现,所述网络通过操作员的一个控制服务器来管理,所述应用程序使用存储在本地连接至所述设备的安全模块中的资源(数据或功能),包括以下主要步骤-经由网络由控制服务器接收数据,所述数据至少包含设备的类型和软件版本以及安全模块的识别,-由控制服务器对该数据进行分析和验证,-由对该数据的验证结果中产生密文,并经由网络和设备将该密文传输至安全模块,所述方法的特征在于,安全模块分析所接收到的密文,并分别启动和解除由至少一个安装在设备中的应用程序所使用的资源(数据或者功能),所述密文包含根据所述应用程序的提供商和/或操作者和/或设备的用户所预定的标准对应用程序的功能进行调整的指令。
为了锁闭或降低某些应用程序的功能,周一种目标方法来锁闭用户模块的资源。设备的应用程序未被直接锁闭一是间接作用于应用程序,也就是说,只有当设备试图执行这些应用程序时才会注意到锁闭效果。
这一方法最好适用于移动网络,因此,该设备是一个移动设备,例如移动式通话设备或便携式电话。安全模块是插入到SIM卡(用户识别模块)类型的移动电话中的用户模块,这一组件连接至由操作员的控制服务器来管理的GSM(全球移动通信系统)、GPRS(通用分组无线系统)、UMTS(通用移动电信系统)或类似类型的移动网络。为了使用存在于用户模块中的资源(数据或功能),将软件应用程序安装在移动设备上并加以配置。因此,只有当安全条件满足操作员和/或应用程序提供商所预定的标准时,才能在整体上使用它们。对标准的验证负责管理控制服务器。在控制服务器发出指令之后,应用程序最终负责管理安全模块,其可以释放或锁闭安装在移动设备中的一个应用程序的正确操作所需的资源访问。
这些资源的数据包含如帐号、程序(采用可安装在移动设备中的代码的形式)、加密/解密密钥、对内容的访问权限等数据。
这些资源的功能可包括密文算法、验证处理、数字签名生成处理、加密处理、认证处理、数据确认处理、访问控制处理、数据安全处理、付款处理等。
控制服务器在管理与所设定的移动设备/用户模块相关的信任或安全单元中起着重要的作用。为了通过用户模块来控制或限制应用程序、功能或可用资源的使用,它解译由移动设备所传输的数据。
根据特定标准,从一个移动设备及其用户模块接收识别信息、并包含IMEISV和IMSI的服务器判断是否需要将一个新指令发送到用户模块,以重新定义一个新的保护概略,这个新的保护概略界定了可由在移动设备中执行的应用程序所使用的用户模块资源。例如,该标准可参考在移动设备上所安装的软件版本的更新、移动设备上新应用程序的下载、保护概略的更新周期、多个至网络的连接、用于访问网络所使用的技术、以及所使用的访问网络的识别。这些标准也涉及与所使用的材料或软件有关的、操作员和/或应用程序提供商和/或移动设备的用户所希望加以考虑的不同风险。
根据本发明的方法通常是在移动设备每次连接到网络的过程中执行的,或者是在移动设备或用户模块或者甚至用户模块上的资源的软件版本每次更新之后执行的。它也可以在每次启动或解除移动设备上的应用程序的期间执行。
根据一个实施例,可以以控制服务器所提供的速率周期性地执行,或者在移动设备上的应用程序每次被初始化之后执行。根据另一个实施例,只要移动设备识别码IMEISV保持不变,用户模决将不会从控制中心接收到新信息。
在用户模块重新初始化期间,最好锁闭一定数量的资源,直到密文到达。因此,当移动设备希望拦截密文而不它发送到用户模块时,用户模块的所有或者部分资源(数据或者功能)将无法提供给移动设备中所执行的应用程序。根据实现的类型,可以在密文到达之前以缺省方式实现由低安全等级的应用程序所使用的用户模块的某些资源。这也适用于对获得网络访问所需的资源的情况,否则将不可能通过同一网络发送密文。
当用户模块验证密文的合法性时,它也间接地识别移动设备,并确保数据有效地来自控制服务器。换句话说,通过该密文,控制服务器暗中为用户模块确保了在将指令发送至用户模块之前,移动设备的类型和软件版本已经加以考虑。实际上,如果必要时载入后者,给予或拒绝完整或部分授权,以供移动设备的某些应用程序使用。
在这个验证步骤中,移动设备起到中继作用,在用户模块和控制服务器之间建立一个几乎为直接的对话。因此,通过在移动设备上执行的应用程序的执行环境,在控制服务器和用户模块之间从头到尾保证交换信息的安全性。因此,这无法“欺骗”或转变与用户模块相关的数据。
本发明还涉及一种安全模块,其包含预定由连接至网络的设备中所安装的至少一个应用程序所局部访问的资源,所述设备包括至少含有设备的类型和软件版本以及安全模块识别码的读取和数据传输装置,所述模块的特征在于,它包括用于接收、分析和执行包含在密文中的指令的装置,该指令根据应用程序提供商和/或操作员和/或设备的用户所预定的标准,调整应用程序的功能。
这个安全模块例如用作连接至移动设备的用户模块或SIM卡。
参考作为非限制性实例给出的附图的以下具体描述,将更好地理解本发明,即-

图1说明表示在交互识别数据和密文期间,有贡献的服务器和移动设备的不同部件的方框图。
-图2表示在应用程序工作期间,在不同部件之间形成互动的移动设备/用户模块组件方框图。
图1显示了经由移动网络(NET)传输由控制服务器(CSE)所验证的识别数据(ID)的移动设备(CB)和用户模块(SIM)组件。后者通过移动设备(CB)向用户模块发回一个密文(J)。移动设备(CB)包含在一个执行环境(AEE)中工作的一个或多个软件应用程序(APP)。这些应用程序由与操作员的控制服务器(CSE)相关的应用程序提供商(FA)来提供,或者由移动设备的制造商来初始编程。
用户模块包含由软件应用程序(APP)所使用的资源(RES)。
图2显示了移动设备(CB)的应用程序(APP)的功能直接取决于用户模块中可用的资源(RES)。在缺少足够资源时,应用程序不能启动,或者以缺省参数以非常有限的方式来工作,这些缺省参数可能产生导致用户完成必要的纠正动作,例如改变移动设备(CB)或用户模块(SIM),的错误信息。
例如在每次请求连接至网络的过程中,最好通过传输对于移动设备特定的数据IMEISV(国际移动设备识别码与软件版本序列号)和用户模块代码IMSI(国际移动设备用户识别码),经由移动网络(NET)对控制服务器(CSE)识别移动设备(CB)。第一个号码IMEISV一组为16位数,其包含尤其是来自于移动设备制造商的验证码,以唯一方式在物理上识别移动设备的一个序列号,以及安装在有问题的移动设备上的软件版本。第二个号码IMSI一组为15位数,并包含一个归因于操作者的代码,一个用户已经根据该代码订用,其允许以唯一方式识别一个用户。对于根据由ETSI(欧洲电信标准协会)所建立的在先标准而生产的移动设备,由一组15位数组成的IMEI和一组2位数组成的SVN的结合也提供了实施本方法所需的数据。
在识别移动设备的过程中,控制服务器(CSE)分析并验证所传输的数据(ID),并将其与黑名单(拒绝的数据)或白名单(接受的数据)的内容进行比较。如果有必要的话,数据库允许用户识别的细化以及该用户细节的确定,如授权服务、订用付款和/或是否执行服务、订用期间、与所使用的移动设备相关的安全性概略、安装在移动设备上的应用程序、安全模块中的可用资源、移动设备用户的喜好等。然后为了确定由控制服务器(CSE)发送至移动设备(CB)的、被称为记号(J)的密文,使用验证的结果。应注意的是,控制服务器(CSE)可与移动操作员不同,并来自移动设备的请求向这个控制鉴权中心传送。
移动设备(CB)的应用程序执行环境(AEE)照原样未改变地将记号(J)传送至用户模块,移动设备只用作中继。
如果记号(J)有效,则可释放用户模块,分别阻止某些特定资源(RES)。因此,可根据控制服务器(CSE)所施加的标准来执行应用程序(APP)。实际上,记号(J)包含或伴随着用户模块所预期的特别指令,该用户模块可以调整移动设备(CB)的任何应用程序(APP)的功能。例如,当用户连接至他所订用的另一个网络时,例如由于某些安全性标准或金融服务提供商的喜好、或者由于有问题的国家中的有效法律约束而在与其住所地国不同的国家中(漫游)时,金融交易的执行可能会受到限制。在另一种情况下,当将一个用户模块插入到未由操作员所认可或未经验证的移动设备(CB)中时,由控制服务器(CSE)返回的记号(J)可锁闭用户模块的资源(RES),并通过这种方式阻止或改变应用程序(APP)的执行。
在可能复制移动设备(CB)和/或用户模块(SIM)的情况下,根据操作员和被复制的移动电话所接受的风险,数据库验证的结果包含指令。例如,作为结果而生成的记号(J)可锁闭用户模块的所有资源,或者在一段时间内限制其使用,和/或通过应用程序执行环境(AEE)为用户生成一个警告信息。
例如,记号(J)可与一个借助于来自一个数据集的私有密钥RSA,(Rivest,Shamir,Adelman)KRSA_Prri所生成的签名相关,该数据集例如包含IMSI、IMEISV、用户模块资源参考、计数器。这个密钥仅仅由控制服务器所知晓,而其公知部分KRSA_Pub由用户模块所知晓。使用非对称密钥的优点在于,用于创建签名的密钥不出现在控制服务器(CSE)外部。
当然,也可使用如DSA(数字签名算法)和ECC(椭圆曲线密码法)等其他非对称算法来代替RSA。
由于考虑到制造和实施的简化、验证速度或较低成本的原因,可最好使用对称密钥算法。在这种情况下,该密钥由控制服务器(CSE)和用户模块所知晓,例如可使用算法IDEA(国际数据加密算法)对组件(IMSI,IMEISV,用户模块的资源参考,计数器)进行签名。作为IDEA算法的替代,也可以使用例如TDES(三重数据加密标准)和AES(高级加密标准)的算法。
在这两种非对称和对称密钥的实施例中,用户模块验证出现在记号(J)中的不同区域的一致性,尤其是它通过将计数器(CPT)与存储在定期更新的卡中的一个相应计数器进行比较,从而对计数器(CPT)进行控制。这个计数器允许避免双重使用为用户模块所设置的同一记号(J),以防止重放攻击。
计数器的一个实施例使用了由用户模块所产生的随机变量(随机数)。该随机变量与发送至控制服务器的数据一起被传输。后者在回应密文中传回这个随机变量,用户模块可验证其与一个新信息有关。更一般而言,为了避免使用旧密文的所有风险,后者包含一个用户模块可预测的变量,它是一个计数器或一个随机变量。
用户模块也考虑将由移动设备(CB)中执行的应用程序所授权或禁止使用的资源参考(RES)。
就目前看来,用户模块并不知道应用程序参考(APP)安装在移动设备(CB)中。实际上,某些更多全局应用程序具有相对开放的界面,允许它们在任何外部的第二应用程序中实用。例如,可以根据所使用的付款模式将特定应用程序移植到一个普通付款应用程序上。用户模块只能基于其自身资源的参考(RES)(数据或功能)。通过接受与移动设备相关的风险,操作员通过了解在移动设备(CB)中执行的哪个应用程序(APP)使用用户模块的哪些资源(RES)来做出选择。
在另一个实施例中,借助于一个RSA或IDEA类型的密钥所完成的签名可由一个来自(IMSI,IMEISV,用户模块的资源参考,计数器)组的共享密钥HMAC(信息验证的密钥散列)所产生的数据块来代替。HMAC是一种信息验证机制,其通过使用如MD5(信息摘录)或SHA-1(保密散列算法)的加密散列功能,结合一个共享密钥,即相同密钥位于控制服务器(CSE)和用户模块中。
在用户模块个性化期间或者在用户模块中安装某些特定资源期间,可载入同时存在于控制服务器(CSE)和用户模块中的密钥。根据这些选项,一个不同的密钥可与用户模块的每个资源或资源组相关联,或者密钥可对于资源组件而言是全局性的,而对于所给定的用户模块是唯一的。
为了加强安全性,当用户模块已经接收到一个记号时(J),它可经由移动设备(CB)和移动网络(NET)向控制服务器(CSE)重新发送一个确认信息(CF),确认已由用户模块正确接收并对记号(J)进行了适当处理。该确认信息(CF)包含至少一个操作成功或错误代码以及一个计数器,其类似于记号(J)的处理,用于防止重放攻击。该信息也允许控制服务器(CSE)保持更新与用户模块相关的计数器。
在本发明的一个实施例中,移动设备可以由例如付费电视解码器或计算机等非移动设备来代替。控制服务器从安全模块接收用户模块的同等物、连接至网络的设备识别码、以及安全模块的识别码。在进行应答时,服务器执行如前所述的验证,向安全模块发回密文。该应答将释放或锁闭安全模块中的资源。
权利要求
1.用一个安全模块管理应用程序(APP)的安全性的方法,该安全模块工作在一个连接到网络(NET)的设备(CB)中,所述网络(NET)由操作员的控制服务器(CSE)来管理,所述应用程序使用存储在一个本地连接至所述设备(CB)的安全模块(SIM)中的资源(RES)(数据或功能),包括以下主要步骤-经由网络由控制服务器接收数据,所述数据至少包含设备(CB)的类型和软件版本以及安全模块(SIM)的识别,-由控制服务器(CSE)对该数据(ID)进行分析和验证,-由对该数据(ID)的验证结果产生密文(J),并经由网络(NET)和设备(CB)将该密文(J)传输至安全模块(SIM),所述方法的特征在于,安全模块(SIM)分析所接收到的密文(J),并分别启动和解除由至少一个安装在设备(CB)中的应用程序(APP)所使用的资源(RES)(数据或者功能),所述密文(J)包含根据所述应用程序的提供商和/或操作者和/或设备的用户所预定的标准对应用程序(APP)的功能进行调整的指令。
2.根据权利要求1所述的方法,其特征在于,所述设备(CB)是一个移动电话的移动设备。
3.根据权利要求1所述的方法,其特征在于,所述网络是一种GSM、GPRS或UMTS类型的网络。
4.根据权利要求1所述的方法,其特征在于,所述安全模块(SIM)是插入到移动电话的移动设备中的SIM卡类型的用户模块。
5.根据权利要求4所述的方法,其特征在于,由移动设备(CB)的识别码以及由将一个用户与移动网络相关联的用户模块的识别号(IMSI)来实现对所设定的移动设备/用户模块(SIM)的识别。
6.根据权利要求1所述的方法,其特征在于,所述的标准根据与所述应用程序(APP)相关的风险并根据操作员和/或应用程序提供上和/或移动设备的用户所希望考虑的移动设备的类型和软件版本定义了应用程度(APP)的使用限制。
7.根据权利要求1和2所述的方法,其特征在于,在移动设备每次连接到网络之后执行该方法。
8.根据权利要求1和2所述的方法,其特征在于,在每次移动设备的软件版本被更新之后执行该方法。
9.根据权利要求1和2所述的方法,其特征在于,在每次启动或解除移动设备上的应用程序之后执行该方法。
10.根据权利要求1和4所述的方法,其特征在于,在每次用户模块的软件版本被更新之后执行该方法。
11.根据权利要求1和4所述的方法,其特征在于,在每次用户模块上的资源被更新之后执行该方法。
12.根据权利要求1所述的方法,其特征在于,以控制服务器所给定的速率周期性地执行该方法。
13.根据权利要求1和2所述的方法,其特征在于,在每次移动设备上的应用程序被初始化之后执行该方法。
14.根据权利要求1-4中任一项所述的方法,其特征在于,在执行密文(J)所给出的指令之前,用户模块(SIM)将移动设备(CB)的识别码(IMEISV)与先前接收到的识别码进行比较,只有当识别码(IMEISV)已经改变时才启动验证操作。
15.根据权利要求1-5中任一项所述的方法,其特征在于,在传输密文(J)之前,控制服务器(CSE)将移动设备(CB)的识别码(IMEISV)与先前接收到的识别码进行比较,只有当识别码(IMEISV)已经改变时才启动验证操作。
16.根据权利要求1-4中任一项所述的方法,其特征在于,所述密文(J)由控制服务器(CSE)借助来自一个数据集的对称或非对称的加密密钥所加密的信息组成,除了其他数据外,所述数据集还包含移动设备(CB)的识别码(IMEISV)、用户模块(IMSI)识别号、用户模块(SIM)的资源(RES)参考、以及一个可预测的变量(CPT)。
17.根据权利要求1-4中任一项所述的方法,其特征在于,当用户模块(SIM)已经接收到密文(J)时,所述用户模块经由移动设备(CB)和移动网络(NET)将一个确认信息(CP)发送到控制服务器(CSE),该信息确认用户模块(SIM)已经正确接收并对密文(J)进行了适当的处理。
18.根据权利要求1所述的方法,其特征在于,所述设备是与安全模块相连接的付费电视解码器或计算机。
19.一种安全模块,其包含希望通过一个安装在连接至网络(NET)的设备上的至少一个应用程序(APP)实现本地访问的资源(RES),所述设备包括至少包含设备识别码(IMEISV)和安全模块识别码(IMSI)的读取和数据传输装置,所述模块的特征在于,它包括用于接收、分析和执行包含在一个密文(J)中的指令的装置,所述指令根据由所述应用程序(APP)的提供商和/或操作员和/或设备(CB)的用户所预定的标准来调整应用程序(APP)的功能。
20.根据权利要求19所述的安全模块,其特征在于,它构成连接至一个移动设备的“SIM卡”类型的用户模块。
全文摘要
本发明的目的是提供一种用于管理设备、安全模块和应用程序的组件安全性的方法。所述目的通过用于管理工作在一个连接至网络(NET)的设备(CB)上的应用程序(APP)的安全性的方法来实现,包含以下主要步骤经由网络由控制服务器接收数据,所述数据至少包含设备软件(CB)的类型和版本以及安全模块(SIM)的识别,由控制服务器(CSE)对该数据(ID)进行分析和验证,由对该数据(ID)的验证结果产生密文(J),并经由网络(NET)和设备(CB)将该密文(J)传输至安全模块(SIM)。所述方法的特征在于,安全模块(SIM)分析所接收到的密文(J),并分别启动和解除由至少一个安装在设备(CB)中的应用程序(APP)所使用的资源(RES)(数据或者功能)。
文档编号H04W8/18GK1875653SQ200480031960
公开日2006年12月6日 申请日期2004年11月3日 优先权日2003年11月4日
发明者雷查德·克桑迪尼, 雷纳托·坎迪尼 申请人:纳格拉卡德股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1