安全用户识别模块服务的制作方法

文档序号:7896370阅读:521来源:国知局

专利名称::安全用户识别模块服务的制作方法
技术领域
:本公开总体上涉及经由无线网络进行通信的移动设备和计算机系统中的用户识别模块。
背景技术
:经由无线网络(本文中也称为移动网络)进行通信的计算机和移动电话设备包括物理用户识别模块(SIM)卡。SIM卡安全地存储服务-用户密钥(也被称为国际移动用户标识符(IMSI)),其在服务被激活时由无线服务提供方进行分配。SIM卡还存储由移动设备所使用的、用于接入该设备的归属移动网络的认证密钥。当前,在服务可被激活之前,服务提供方必须向移动设备用户发放物理SIM卡。物理SIM卡被绑定到发放服务提供方和归属网络。公众陆地移动网络(PLMN)的每个位置区域都具有被称为位置区域标识(LAI)的唯一的标识符。位置区域标识包括移动国家码(MCC)、移动网络码(MNC)和位置区域码。给定移动网络中的基站在广播控制信道(BCCH)中传送该区域的LAI。给定移动设备可与之进行通信的移动网络被存储在SIM中的各种不同的列表中,例如等效归属PLMN(EHPLMN)列表,其提供关于归属网络位置区域中的小区的信息,或者存储在用于确定应当选择哪个网络的用户控制的或运营商控制的PLMN选择器列表中。在网络注册期间,移动设备从其当前位置中的可用PLMN中选择移动网络。自动选择过程根据3GPP规范TS23.122来搜索可用PLMN的列表以找到适当的PLMN,该3GPP规范TS23.122可在URLwww-3gpp-org/ftp/Specs/html-info/23122-htm中获得,其中已经对该URL进行了更改,即用字符“_”代替字符“.”,以避免来自该文档中的主动超链接。如果发现了适当的匹配,则移动设备向所选择的PLMN注册并将其作为归属网络。当移动设备尝试接入移动网络时,物理SIM卡提供与归属网络相关联的认证密钥。如果该移动设备位于该归属网络区域之外,则伙伴网络服务提供方从该归属网络服务提供方处请求认证证书,以便授权该移动设备接入无线网络。对于接入该伙伴移动网络,该伙伴服务提供方实施“漫游收费”。为了避免漫游收费,移动设备用户可获取用于该移动设备经常旅行到的区域的另一物理SIM卡,并然后在旅行到那个区域时切换物理SIM卡。图1是根据本发明一个实施方式的被配置来提供安全用户识别模块(SIM)服务的系统的框图。图2是示出了在激活使用安全用户识别模块(SIM)服务的通信时用户与图1中系统的部件之间的交互的流程图。图3是根据本发明一个实施方式的被配置来提供多个安全用户识别模块(SIM)服务的系统的框图。图4是用于基于主设备的位置从多个配置的用户识别模块(SIM)服务中选择安全SIM服务的方法的流程图。图5示出了根据本发明一个实施方式的针对两个配置的SIM服务的优选移动网络列表的组合。图6示出了根据本发明一个实施方式的用于实现安全用户识别模块服务的虚拟机环境。具体实施例方式本发明的实施方式可以提供方法、装置、系统和计算机程序产品来提供安全用户识别模块(SIM)服务。在一个实施方式中,安全用户识别模块服务由平台芯片组中的固件来实现,而非物理SIM卡。通过提供请求为移动设备获取物理SIM卡的选择,可以立即激活并配置无线通信服务。另外,可以配置不止一个安全SIM服务,并且可基于移动设备的位置来为通信选择其中一个安全SIM服务。说明书中提及的本发明的“一个实施方式”或“实施方式”意味着结合该实施方式描述的特定特征、结构或特性包含在本发明的至少一个实施方式中。因此,在整个说明书中出现在不同地方的短语“在一个实施方式中”、“根据一个实施方式”等并不必然都指代同一实施方式。出于解释的目的,阐述了特定的配置和细节,以便提供对本发明的透彻理解。然而,对于本领域普通技术人员而言显而易见的是,在没有本文呈现的这些特定细节时也可实现本发明的实施方式。另外,为了不模糊本发明,可以省略或简化公知的特征。在整个说明书中可以提供各种示例。这些仅仅是本发明的特定实施方式的描述。本发明的范围不限于给出的这些示例。在一个实施方式中,在安全分区中提供安全用户识别模块服务,该安全分区确保了用于激活服务的隔离和受控环境。该安全分区确保将系统上要被激活的服务验证为源自经认证的源。该安全分区与系统的主操作系统相隔离,从而确保系统上要被激活的服务免受fe舍。安全平台用户识别模块的隔离和安全的环境可包括各种不同类型的分区,包括完全分离的硬件分区(例如,使用因特尔公司的管理性引擎(“ME”)、主动管理技术(“AMT”)、平台资源层(“PRL”)和/或其它可比较的或类似的技术)和/或虚拟分区(例如,因特尔⑧公司的虚拟技术(“VT”)方案中的虚拟机)。对本领域普通技术人员显而易见的是,虚拟主机也可用于实现ME、AMT、PRL技术(将在下文参照图6进一步详细描述)。本文中将安全分区描述为通过使用管理性引擎(“ME”)技术来实现,但是本领域技术人员将意识到,本发明并不局限于此并且其它实现方式落入本发明的范围内。图1是根据本发明一个实施方式的被配置为能够激活安全用户识别模块服务的系统的框图。相当于主计算机系统的平台100包括连接到芯片组/安全分区120的处理器110。处理器110向平台100提供处理能力并可以是单核或多核处理器,并且不止一个处理器可以包含在平台100中。处理器110可经由一个或多个系统总线、通信路径或介质(未示出)连接到平台100的其他部件。处理器110可执行诸如主应用程序112之类的应用程序,其在主操作系统111的控制下运行。主应用程序112可经由诸如以太网NIC114之类的网络控制器来与诸如网络170上的服务提供方服务器180或许可服务器190之类的其他系统进行通信。芯片组/安全分区120包括管理性引擎(ME)130,该管理性引擎(ME)130可被实现为独立于主处理器110而进行操作的嵌入式微处理器,以便管理平台100的配置和操作。在一个实施方式中,处理器110在主操作系统111的指示下进行操作,然而管理性引擎(ME)130提供了不能被主操作系统111访问的安全和隔离的环境。在一个实施方式中,管理性引擎(ME)130对用户进行认证、控制对外围设备的访问、管理加密密匙以保护存储在平台100的存储设备上的数据,并且为安全用户识别模块(SIM)服务的激活提供安全环境。在一个实施方式中,如下文将进一步描述的,管理性引擎(ME)130被配置为通过使用非对称RSA公钥加密技术来以与诸如许可服务器190之类的外部实体的相互信任关系进行操作。在一个实施方式中,运行在处理器110上的主应用程序112与管理性引擎(ME)130之间通过主嵌入式控制器接口(HECI)116进行通信。为了利用在管理性引擎(ME)130与诸如许可服务器190之类的外部实体之间的信任关系,主应用程序112可从诸如许可服务器190之类的外部实体、为主应用程序112期望传递给管理性引擎(ME)130的数据获取签名。平台100包括闪存122并可包括其他存储设备(未示出),诸如动态随机存取存储器(DRAM)、静态随机存取存储器(SRAM)以及可通过存储控制器(未示出)进行访问的外部存储设备。这些存储设备可包括随机存取存储器(RAM)和只读存储器(ROM)。为了本公开的目的,术语“ROM”通常可用于指代诸如可擦除可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)、快闪ROM、闪存等之类的非易失性存储设备。存储设备还可包括诸如集成驱动电子(IDE)硬盘之类的大容量存储设备和/或诸如软盘、光存储器、磁带、闪存、存储棒、数字视频盘、生物存储器等之类的其他设备或媒体。闪存122可由芯片组/安全分区120经由快闪接口121访问。可将存储在闪存122中的数据加密。在芯片组/安全分区120和管理性引擎(ME)130的制造期间,可将用于实现平台100与诸如许可服务器190之类的其他系统之间经由网络170的安全通信的加密/解密密钥存储在闪存122中。在芯片组/安全分区120和管理性引擎(ME)130的制造期间所存储的这些加密/解密密钥建立了管理性引擎(ME)130与诸如许可服务器190之类的外部实体之间的信任关系。由与存储在闪存122中的公钥相关联的私钥所签名的数据可被管理性引擎(ME)130所信任。闪存122还可包含用于初始化平台100的固件(未示出)。该初始化固件可包括基本输入/输出系统¢10固件以及一些其他硬件设备(包括管理性引擎(ME)130),该BIOS固件用于识别并初始化系统部件硬件(例如视频显卡和硬盘)。BIOS固件为平台100的系统部件硬件在公知的低性能状态下工作作准备,从而存储在各种媒体上的其他软件程序(包括操作系统)可被加载、执行并控制平台100。闪存122还可包括芯片组固件(未示出)以配置芯片组/安全分区120。处理器110还可通信地耦合到其他部件,诸如视频控制器、小计算机系统接口(SCSI)控制器、网络控制器、通用串行总线(USB)控制器、诸如键盘和鼠标之类的输入设备等。平台100还可包括一个或多个桥接器或集线器,诸如存储控制器集线器、输入/输出(I/O)控制器集线器、PCI根桥接器等,用于通信地耦合各种系统部件。如本文中所使用的,术语“总线”可用于指代共享的通信路径以及点对点路径。诸如以太网NIC114之类的一些部件例如可被实现为具有用于与总线进行通信的接口(例如,PCI连接器)的适配器卡。在一个实施方式中,通过使用诸如可编程或不可编程逻辑设备或阵列、专用集成电路(ASIC)、嵌入式计算机、智能卡等之类的部件,可将一个或多个设备实现为嵌入式控制器。如本文中所使用的,术语“处理系统”和“数据处理系统”意在广泛地涵盖单个机器或者具有一起操作的通信地耦合的机器或设备的系统。示例性的处理系统包括但不限于分布式计算系统、超级计算机、高性能计算系统、计算集群、大型计算机、微型计算机、客户端-服务器系统、个人计算机、工作站、服务器、便携式计算机、膝上型计算机、输入板(tablet)、电话、个人数字助理(PDA)、手持设备、诸如音频和/或视频设备之类的娱乐设备、以及用于处理或传输信息的其他设备。平台100可至少部分地由来自诸如键盘、鼠标等之类的传统输入设备的输入进行控制,和/或由接收自另一机器、生物计量反馈或其他输入源或信号的命令进行控制。平台100可使用至一个或多个远程数据处理系统(例如服务提供方服务器180或许可服务器190)的一个或多个连接,例如通过以太网网络接口控制器(NIC)114、调制解调器或其他通信端口或耦合。平台100可通过诸如局域网(LAN)、广域网(WAN)、内联网、因特网等之类的物理和/或逻辑网络170的方式,来与其他处理系统(例如服务提供方服务器180或许可服务器190)进行互连。涉及网络170的通信可使用各种有线和/或无线短程或远程载波和协议,包括射频(RF)、卫星、微波、电气和电子工程师协会(IEEE)802.11、蓝牙、光、红外线、电缆、激光等。平台100包括以太网网络接口控制器114,用于使用以太网协议进行通信。平台100还包括3GNIC160,用于经由3G无线协议在3G网络172中进行通信。诸如SIM服务150之类的安全平台用户识别模块服务的激活可使得平台100能够通过使用3G无线网络协议经由3GNIC160和3G网络172进行无线通信。3GNIC160经由互连164连接到芯片组/安全分区120,该互连164可以是例如USB连接。3GNIC160也经由互连162连接到管理性引擎130,该互连162可以是使得管理性引擎130能够经由3G网络172进行通信的分离的物理总线。管理性引擎(ME)130包括准许(license)服务140和SIM服务150。在一个实施方式中,准许服务140被实现为固件模块,该固件模块结合许可服务器190而工作以便激活平台100上的服务(诸如SIM服务150)。例如,准许服务140和许可服务器190可用于启用可在平台100硬件离开工厂之后被激活的处理器、芯片组和/或平台部件。这些处理器、芯片组和/或平台部件可在OEM生产线上、在零售店或在消费者已经准许安装硬件之后购买。准许服务140可在服务被激活之前通过签名验证算法来与许可服务器190对平台100进行认证。SIM服务150是可经由准许服务140和许可服务器190激活的服务的一个示例。SIM服务150在被激活之前初始地处于禁用状态。当被激活时,SIM服务150使得平台100能够使用3GNIC160来经由3G网络172进行通信。SIM服务150的激活将在下文参考图2做进一步的详细描述。图2是示出了在激活使用安全用户识别模块(SIM)服务的通信时用户与图1中系统的部件之间的交互的流程图。在步骤2.1,用户发起通信服务的激活。在一个实施方式中,用户使用在处理器110上运行的网页浏览器(未示出)来经由以太网NIC114和网络170连接到服务提供方服务器180。从服务提供方服务器180处,用户下载并运行诸如主应用程序112之类的应用程序,以发起无线通信服务的激活。在步骤2.2,主应用程序112经由主嵌入式控制器接口(HECI)116从管理性引擎130的准许服务140处请求激活数据。响应于来自主应用程序112的对激活数据的请求,准许服务140可生成激活请求许可。该激活请求许可可以包括临时值(nonce),其为仅使用一次的随机数,以唯一地识别激活请求并避免由恶意软件发起的重复攻击。在步骤2.3,准许服务140将激活数据返回给主应用程序112,例如包含临时值的激活请求许可。在步骤2.4,主应用程序IM将SIM激活请求许可转发给服务提供方服务器180。在步骤2.5,服务提供方服务器180批准激活通信服务并将SIM数据添加进激活请求许可中。例如,服务提供方服务器180可在批准激活服务之前确认已经收到了付费。服务提供方服务器180可通过添加诸如服务器-用户密钥(也称为国际移动用户标识(IMSI),其是移动用户的国际唯一号码)之类的信息来修改激活请求许可。服务器-用户密钥/IMSI的前三个数字表示移动国家码(MCC);接下来的两个数字表示移动网络码(MNC);以及接下来的十个数字表示移动台标识号码。服务提供方服务器180还可以向用户识别模块分配认证密钥,该SIM将使用该认证密钥来在3G网络172上进行认证。服务提供方服务器180还可通过增加认证密钥来修改激活请求许可。服务提供方服务器180可在自身网络的数据库中存储用于SIM的认证密钥。当向激活请求许可中增加SIM数据时,服务提供方服务器180还可将其自己的公钥添加进激活请求许可中,以便促成未来在管理SIM服务150时与平台100管理性引擎(ME)130的通信。因为激活请求许可由与管理性引擎(ME)130有信任关系的许可服务器190来签名,所以获取用于服务提供方服务器180的公钥的许可服务器190的数字签名将在未来与管理性引擎(ME)130的通信中把来自许可服务器190的信任关系委托给服务提供方服务器180。在步骤2.6中,服务提供方服务器180将激活请求许可转发给许可服务器190。一旦接收到激活请求许可,许可服务器190就可确认包含在激活请求许可中的信息。例如,许可服务器190可以确认已经安排了准许以激活平台100的特定功能。许可服务器190还可针对关于平台100和/或管理性引擎(ME)130的信息来检查激活请求许可,以确认存在与在其上激活所述部件的平台之间的信任关系。如果许可服务器190批准激活平台100的安全用户识别模块(SIM)服务,则许可服务器190向激活请求许可中增加数字签名,从而产生签名后的激活请求许可。由许可服务器190提供的数字签名提供了许可服务器190接收到激活请求许可的证据并反映了管理性引擎(ME)130和许可服务器190之间的信任关系。管理性引擎(ME)130可使用它的许可服务器190的公钥的拷贝来验证数字签名是源自许可服务器190的。如果激活请求许可包含服务提供方服务器180的公钥,则该公钥上许可服务器190的数字签名将在未来与管理性引擎(ME)130的通信中把来自许可服务器190的信任关系委托给服务提供方服务器180。在步骤2.7,许可服务器190将签名的激活请求许可返回给服务提供方服务器180。在步骤2.8,服务提供方服务器180将签名的激活请求许可提供给主应用程序112。在步骤2.9,主应用程序112将安装请求与签名的激活请求许可一起发送给管理性引擎130的准许服务140。在步骤2.10,准许服务140通过使用许可服务器190的公钥来验证签名的激活请求许可中的数字签名,许可服务器190的公钥存储在管理性引擎130的安全存储器中,例如在闪存122中。如果不能验证数字签名源自许可服务器190,则准许服务140将不采取响应于签名的激活请求许可的进一步行动。准许服务140可进一步验证签名的激活请求许可中所提供的临时值是否与初始针对激活请求许可所生成的临时值相匹配。在步骤2.11中,准许服务140通过执行包含在SIM服务150的固件模块中的代码来激活SIM服务150,SIM服务150存储在闪存122中。例如,可加载需要与3GNIC进行通信的驱动。在加载了3GNIC驱动之后,SIM服务150准备好响应从3GNIC接收到的命令。在一个实施方式中,签名的激活请求许可被存储在管理性引擎130的安全存储器中,例如闪存122中。如果签名的激活请求许可包括服务提供方服务器180的公钥,则服务提供方服务器180的公钥也可存储在闪存122中。用于服务提供方服务器180的公钥的许可服务器190的数字签名将在未来与管理性引擎(ME)130的通信中把来自许可服务器190的信任关系委托给服务提供方服务器180。在步骤2.12中,准许服务器140向主应用程序112确认SIM服务150已被激活。一旦被激活,SIM服务150就向3GNIC160提供SIM功能。3GNIC160可向服务提供方服务器180注册为3G网络172中的节点。如果服务提供方服务器180的公钥被添加到签名的激活请求许可中,则服务提供方服务器180可远程管理SIM服务150。例如,月艮务提供方180可通过随后去激活通信服务、改变诸如PLMN列表之类的SIM数据和/或改变通信服务的参数来远程管理SIM服务150。服务提供方服务器180将发送命令来修改与服务提供方服务器180的公钥相关联的通信中的通信服务参数。例如,可使用服务提供方服务器180的私钥来签名所述通信。然后,管理性引擎(ME)130可使用由许可服务器190签名的服务提供方服务器180的公钥来验证该通信源自服务提供方服务器180。SIM服务150向平台100提供通信服务的操作可如下发生。在一个实施方式中,当3GNIC160启动时,3GNIC160从SIM服务150获取国际移动用户标识(IMSI)。SIM服务150获取包含来自与管理性引擎130相关联的安全存储器的(诸如来自闪存122的)国际移动用户标识(IMSI)和认证密钥的经过签名的激活请求许可。3GNIC160将IMSI传送给服务提供方服务器180,以请求接入和认证。服务提供方服务器180搜索其数据库来寻找进入的IMSI及其相关联的认证密钥。服务提供方服务器180然后生成随机数(RAND,其为临时值)并用与IMSI相关联的认证密钥来对该随机数进行签名(并用SIM服务150存储),以计算被称为签名的响应1(SRES_1)的另一数字。在允许接入服务提供方服务器180的网络之前,签名的响应1(SRES_1)是对认证的挑战。服务提供方服务器180向3GNIC160发送RAND,3GNIC160向SIM服务150传送该RAND。SIM服务150用其认证密钥对RAND进行签名,从而产生第二签名的响应SRES_2。SIM服务150将SRES_2与加密密钥Kc一起传递给3GNIC。3GNIC160将SRES_2传递给服务提供方服务器180。服务提供方服务器180将其计算的SRES_1与由3GNIC160返回的计算的SRES_2相比较。如果这两个数字匹配,则SIM服务150已经满足了挑战并因此被认证,从而3GNIC160被授权接入服务提供方服务器180所提供的网络172。密钥Kc用于加密3GNIC160与服务提供方服务器180的网络之间的所有进一步的通信。参考图1和图2所描述的系统使得系统(移动电话设备或膝上型计算机)能够在没有物理SIM卡的情况下经由移动网络来激活通信服务。响应于接收到由系统的安全分区来为系统激活通信服务的请求,来激活经由移动网络的通信。响应于接收到所述请求,创建请求激活所述通信服务的许可,并将所述许可发送给所述通信服务的服务提供方。该服务提供方与许可服务进行通信,以获取所述许可的数字签名来激活服务。安全分区接收来自服务提供方的签名的许可,从仅安全分区可访问的存储器获取许可服务的密钥,用该密钥来确认签名的许可包含许可服务的数字签名,以及响应于确认签名的许可包含许可服务的数字签名来为所述系统激活通信服务。在一个实施方式中,在为所述系统激活通信服务之前,安全分区生成所述许可的临时值并确认签名的许可包含该临时值。该签名的许可可以存储在仅可由安全分区访问的存储器中。在一个实施方式中,在制造安全分区的硬件时,将用于许可服务的密钥嵌入仅可由安全分区访问的存储器中。签名的许可还可以包含服务提供方的密钥,并且当从该服务提供方接收到随后的通信时,安全分区可以在响应该随后的通信进行动作之前确认该随后的通信与服务提供方的密钥相关联。本发明的另一特征包括服务提供方服务,该服务提供方服务从请求系统接收请求激活通信服务的许可。该服务提供方向所述许可中添加密钥,并从许可服务处获得签名的许可。该许可服务向所述许可中添加数字签名,以创建签名的许可。该服务提供方向所述请求系统发送签名的许可,并且在为所述系统激活通信服务之前,所述请求系统验证签名的许可包含所述许可服务的数字签名。服务提供方向请求系统发送随后的通信,其中该随后的通信包含修改通信服务参数的命令。在修改所述通信服务之前,该请求系统验证所述随后的通信与所述密钥相关联。为了去激活通信服务,可以遵循与参照图2中的步骤2.1至2.12所描述过程相类似的过程,其中,用去激活请求许可代替激活请求许可,以及在签名的去激活请求许可中用空数据代替SIM数据。通过实现在没有物理SIM卡的情况下激活通信卡,安全用户识别模块服务能够立即激活无线通信服务。可在没有物理SIM卡插槽的计算机上激活无线通信服务。安全用户识别模块服务使得无线服务提供方能够在没有物理SIM卡的情况下激活和/或更新SIM属性以及配置服务。通过在与移动设备的主操作系统相隔离的安全分区中提供安全用户识别模块服务,无线通信服务可以免受标识盗窃攻击和拒绝服务攻击。由于SIM服务的固件模块驻留在芯片组硬件中,所以即使在主系统上存储设备和/或操作系统改变或者被损坏时仍然可以提供通信服务。由于安全用户识别模块服务不需要物理SIM卡,所以可为给定的移动设备/平台配置不止一个用户识别模块服务。为单个平台配置多个SIM服务的能力使得那些旅行并需要接入多个移动网络的用户受益。在有多个SIM服务可用于连接到不同的移动网络的情况下,移动设备的位置可用于识别移动通信的合适的SIM服务。图3是根据本发明一个实施方式的被配置来提供多个安全用户识别模块(SIM)的系统的框图。SIM服务150示出了已经为平台100配置的两个不同的SIM服务,即SIMl服务352和SIM2服务354。例如,SIMl服务352可以是为美国移动网络配置的服务,而SIM2服务354可以是为加拿大移动网络配置的服务。SIM服务150可基于平台100的位置来采用SIMl服务352或者SIM2服务354的标识。运行在处理器110(受主操作系统111的控制)上的连接管理器310经由主嵌入式控制器接口(HECI)116与管理性引擎(ME)130中的SIM位置管理器320进行通信。当平台100的用户发起无线通信时,连接管理器310请求管理性引擎(ME)130中的SIM位置管理器320经由3GNIC160为无线通信建立连接。SIM位置管理器320经由3GNIC160进行通信以确定可用的移动网络,并然后使SIM服务150采用最合适的配置的SIM服务的标识,诸如SIMl服务352或者SIM2服务354中的一个。将在下面参考图4来进一步详细描述SIM位置管理器320识别最合适的配置的SIM服务的操作。图4是用于基于主设备的位置从多个配置的用户识别模块(SIM)服务中选择SIM服务的方法的流程图。SIM位置管理器320被配置来允许移动设备向配置的SIM服务的优选移动网络列表所指定的归属网络中的一个进行注册。该配置确保避免漫游费,除非没有归属网络可用。如果多个归属网络可用,则选择具有最高质量的信号的归属网络。在“获取可用移动网络和信号质量”的步骤410中,SIM位置管理器320向3GNIC160请求可用移动网络(PLMN)的列表以及每个网络的相关信号质量。在“选择最高质量的移动网络的国家码”的步骤420中,一旦接收到可用移动网络列表,SIM位置管理器320就选择最高质量信号的国家码(诸如移动国家码(MCC))。如果多个移动网络/国家码具有相同的信号质量(在边界区域这是可能的),则可以使用其它标准或者随机地选择国家码。在“将来自所有配置的SIM服务的移动网络列表与所选择的国家码相组合”的步骤430中,SIM位置管理器320通过将所选择的国家码与配置的SIM服务的优选列表中的移动网络的国家码相匹配来创建新的优选移动网络列表。在一个实施方式中,该新的优选移动网络列表被安排以便在多个SIM服务之间以及在一个SIM服务中使得条目保持它们原始的优先顺序。如果多个SIM服务具有相同优先级的匹配条目,则可以使用其它的标准或者可以随机地给移动网络分配优先级。将在下面参考图5进一步讨论对移动网络列表的组合。一旦形成了组合的移动网络列表,控制就进行到“组合的移动网络列表为空?”的决策点432。在“组合的移动网络列表为空?”的决策点432,SIM位置管理器320检查以获知是否组合的移动网络列表为空。如果该列表不为空,则控制进行到“从组合的移动网络列表中选择网络”的步骤440。一旦形成了组合的移动网络列表,则SIM位置管理器320就可向3GNIC160提供该组合的移动网络列表和/或指示3GNIC160尝试一次一个地向该组合的移动网络列表上的每个网络注册。控制进行到“从组合的移动网络列表中选择网络”的步骤440。SIM位置管理器320可以基于该组合的移动网络列表中的优先级来选择网络。一旦选择了网络,控制就进行到“使移动设备使用相应配置的SIM服务的证书来尝试向所选择的网络进行注册”的步骤442。由于已经通过选择网络识别了相应配置的SIM服务,所以还可认为该相应配置的SIM服务是选自配置的SIM服务的。SIM位置管理器320使移动设备通过向3GNIC160提供相应配置的SIM服务的证书来尝试向所选择的网络进行注册。3GNIC160使用所提供的证书来尝试向所选择的网络进行注册。然后控制进行到“注册成功?”的决策点444。如果向所选择的网络的注册是成功的,则控制进行到“使SIM服务采用被用于成功注册的配置的SIM服务的标识”的步骤446。SIM位置管理器320向SIM服务150通知成功注册的配置的SIM服务的标识,从而SIM服务150采用被用于成功地向所选择的网络进行注册的配置的SIM服务的标识。只有成功注册的配置的SIM服务的标识才会被SIM服务150用于尝试3G网络通信。在SIM服务150采用被用于成功地向所选择的网络进行注册的配置的SIM服务的标识之后,其它配置的SIM服务可以保持不活动。这些其他的配置的SIM服务可能由相应的服务提供方进行管理,以接收对SIM数据的改变和/或服务参数的改变,如上文参照来自服务提供方180的随后通信所描述的那样。在“注册成功?”的决策点444,如果向所选择的网络的注册是不成功的,则控制进行到“组合的移动网络列表中有更多的条目?”的决策点446。如果组合的移动网络列表中有其他的条目可用,则控制返回“从组合的移动网络列表中选择网络”的步骤440,其中SIM位置管理器320为所尝试的注册选择不同的网络。在“组合的移动网络列表中有更多的条目?”的决策点448,如果组合的移动网络列表中不存在更多的条目,则控制进行到“更多的移动网络可用?,,的步骤450。即使该组合的移动网络列表已经被用尽,但是在“获取可用移动网络和信号质量”的步骤410,有可能已经识别了具有不同国家码的其他移动网络。控制进行到“选择下一个最高质量的移动网络的国家码”的步骤460。然后,控制返回到“将来自所有配置的SIM服务的移动网络与所选择的国家码相组合”的步骤430,其中新组合的优选移动网络列表形成自具有所选择的国家码的配置的SIM服务,并被提供给3GNIC160。在“更多的移动网络可用?”的决策点450,如果没有网络保留在初始在“获取可用移动网络和信号质量”的步骤410中所识别的可用网络组中,则建立移动设备和移动网络之间的连接不成功。控制进行到“拒绝激活通信服务的请求”的步骤470。SIM位置管理器320已经不能为设备建立通信服务,并拒绝了为设备激活通信服务的请求。返回“组合的移动网络列表为空?”的决策点432,SIM位置管理器320检查以获知是否组合的移动网络列表为空。当没有可用网络与配置的SIM服务相对应时或者当向组合的移动网络列表中的唯一的配置的SIM服务的注册失败时,会出现这种情况。如果该列表为空,则控制进行到“更多的移动网络可用?,,的决策点434。如果没有更多的移动网络可用,则控制进行到“拒绝激活通信服务的请求”的步骤470,其中激活通信服务的请求被拒绝。在“更多的移动网络可用?,,的决策点434,如果在移动设备的位置中存在可用的移动网络,则控制进行到“选择配置的SIM服务”的步骤436。虽然可能没有可用网络的已配置的SIM服务,但是可以尝试通过使用其中一个配置的SIM服务的证书来作为漫游设备连接到可用网络。可以使用可用网络的移动国家码以及使用具有那个国家的国际移动用户标识符(IMSI)的SIM服务来选择配置的SIM服务。如果没有一个配置的SIM服务与可用移动网络的移动国家码相匹配,则可以随机地或者基于某个其他选择标准来选择其中一个配置的SIM服务。控制进行到“使移动设备使用所选择的SIM服务的证书来尝试向可用网络进行注册”的步骤438。SIM位置管理器320使移动设备通过向3GNIC160提供相应的配置的SIM服务的证书来尝试向所选择的网络进行注册。3GNIC160使用所提供的证书来尝试向所选择的网络进行注册。然后控制进行到“注册成功?”的决策点439。如果注册成功,则控制进行到“使SIM服务采用被用于成功注册的配置的SIM服务的标识”的步骤446,并如上所述那样进行。如果注册不成功,则控制返回到“更多的移动网络可用?”的步骤434,并如上所述那样进行。将使用每一个配置的SIM服务和每一个可用网络进行尝试,直到注册成功或者直到用尽所有可用网络。在一个实施方式中,已经参考图4描述了SIM位置管理器320的操作,其中SIM位置管理器运行于管理性引擎(ME)130中。在另一实施方式中,SIM位置管理器320可以在主操作系统111的控制下运行在处理器110上。在该实施方式中,SIM位置管理器320可以与其他主应用程序(诸如GPS应用程序)进行交互,以基于主设备的位置来选择移动网络。SIM位置管理器320还可以访问每个SIM服务的计费数据,以便可以选择使用户成本最小化的移动网络。在一个实施方式中,SIM位置管理器320使用户能够配置对配置的SIM服务和位置区域的优选。图5示出了根据本发明一个实施方式的针对两个配置的SIM服务的优选移动列表的组合。上文参照图4中的“将来自所有配置的SIM服务的移动网络列表与所选择的国家码相组合”的步骤430描述了优选移动网络列表的组合。参考图5,SIMl服务352移动网络列表510以优先级顺序列出了下面的优选移动网络移动网络1(国家码01)、移动网络2(国家码02)、移动网络3(国家码03)以及移动网络4(国家码01)。SIM2服务354移动网络列表520具有以优先级顺序列出的下面的优选移动网络移动网络5(国家码03)、移动网络6(MCC04)以及移动网络7(MCC01)。假设所选择的MCC为MCC01。所得到的组合的优选移动网络列表530包括以优先级顺序列出的下面的移动网络移动网络1、移动网络7和移动网络4。在该示例中,已经组合了移动网络列表以便保持SIMl服务352中的移动网络的优先级顺序(首先是移动网络1,然后是移动网络4),并且通过使移动网络1为第一个(因为对SIMl服务352而言,移动网络1的优先级为1)、接着是移动网络7(对SIM2服务354而言,其为第三优先级)、接着是移动网络4(对SIMl服务352而言,其为第四优先级),还保持了SIM服务之间的移动网络的优先级顺序。在一个实施方式中,从在系统的一个位置处可用的至少一个移动网络中选择移动网络。识别出该系统的多个配置的SIM服务,并选择配置的SIM服务。所选择的配置的SIM服务的证书用于尝试与所选择的移动网络进行通信。在一个实施方式中,多个配置的SIM服务中的每一个的移动网络列表被组合以创建组合的移动网络列表,并且所选择的移动网络选自该组合的移动网络列表。在一个实施方式中,识别最高质量的移动网络,该最高质量的移动网络提供在所述位置处可用的至少一个移动网络所提供的服务中的最高质量的服务。识别该最高质量的移动网络的国家码,并且该国家码用于选择要被包含在所述组合的移动网络列表中的移动网络。在一个实施方式中,所述系统的安全分区中的SIM服务采用所选择的SIM服务的标识。图6示出了根据本发明一个实施方式的用于实现安全用户识别模块服务的虚拟机环境。如果平台600被虚拟化,则它可以包括仅单个的处理器,但主机上的虚拟机监视器("VMM630”)可以呈现该主机的多个抽象和/或视图,从而该主机的底层硬件表现为一个或多个独立操作的虚拟机(“VM,,)。VMM630可以用软件(例如,作为主操作系统的独立程序和/或部分)、硬件、固件和/或它们的任意组合来实现。VMM630管理主机上的资源分配,并根据循环策略或其它预设策略来执行在各种VM之间循环所需的上下文切换。对本领域普通技术人员将显而易见的是,虽然示出了仅一个处理器(“处理器605”),但是本发明的实施方式并不限于此并可在虚拟环境中使用多个处理器。虽然示出了仅两个VM分区(“VM610”和“VM620”,下文总称为“VM”),但是这些VM仅是说明性的并可将其它虚拟机添加到主机中。VM610和VM620可分别用作自包含式平台,运行它们自己的“客体操作系统”(即,VMM630所支持的操作系统,示为“客体OS611”和“客体OS621”,并在下文总称为“客体OS”)和其它软件(示为“客体软件612”和“客体软件622”,并在下文总称为“客体软件”)。每个客体OS和/或客体软件如同它正在专用计算机而非虚拟机上运行那样进行操作。也就是说,每个客体OS和/或客体软件可以期望控制各种事件并可访问平台600上的硬件资源。在每个VM中,客体OS和/或客体软件可以表现的如同它们实际上是运行在平台600的物理硬件(“主硬件640”,其可以包括网络控制器660)上那样。对本领域普通技术人员而言显而易见的是,具有诸如图1中的管理性引擎(ME)130之类的专用处理器的物理硬件分区可以比虚拟分区(如图6中所示)提供更高级别的安全性,但本发明的实施方式可以在任一环境和/或这些环境的组合中实施,以提供各种水平的安全性。对本领域普通技术人员而言还显而易见的是,ME、AMT或PRL平台可以在虚拟环境中实现。例如,VM620可以被专用为主机上的ME分区,而VM610运行该主机上的典型应用程序。在该情形中,该主机可以包括或不包括多个处理器。例如,如果该主机确实包括两个处理器,则VM620可以被分配另一处理器,而VM610(以及该主机上的其它VM)可以共享处理器605的资源。另一方面,如果该主机包括仅单个的处理器,则该处理器可以为这两个VM服务,但是VM620可以在VMM630的合作下仍然与该主机上的其它VM相隔离。出于简化的目的,在管理性引擎(ME)的环境中描述了本发明的实施方式,但本发明的实施方式并不限于此。相反地,对管理性引擎、ME、“分区”、“安全分区”、“安全性分区”和/或“管理分区”的任何引用将包括任何物理和/或虚拟分区(如上所述)。本文公开的机制的实施方式可以在硬件、软件、固件或这些实现方式的组合中实现。本发明的实施方式可以实现为在可编程系统上执行的计算机程序,该可编程系统包括至少一个处理器、数据存储系统(包括易失性和非易失性存储器和/或存储元件)、至少一个输入设备和至少一个输出设备。可将程序代码应用于输入数据,以执行本文描述的功能并生成输出信息。本发明的实施方式还包括机器可访问媒介,该机器可访问媒介包含用于执行本发明操作的指令或者包含诸如HDL之类的设计数据,该设计数据定义了本文描述的结构、电路、装置、处理器和/或系统部件。这种实施方式还可以被称为程序产品。这种机器可访问存储媒介可以包括但不限于由机器或设备制造或形成的有形粒子排列,包括诸如硬盘、任何其他类型盘的存储媒介,该其他类型盘包括软盘、光盘、压缩盘只读存储器(CD-ROM)、压缩盘可重写(CD-RW)、以及磁光盘、半导体器件(诸如只读存储器(ROM)、随机存取存储器(RAM)(诸如动态随机存取存储器(DRAM)、静态随机存取存储器(SRAM))、可擦可编程只读存储器(EPROM)、快闪可编程存储器(FLASH)、电可擦可编程只读存储器(EEPROM))、磁卡或光卡、或者适用于存储电子指令的任何其他类型的媒介。可将输出信息以已知的方式应用于一个或多个输出设备。出于本申请的目的,处理系统包括具有处理器的任何系统,所述处理器诸如数字信号处理(DSP)、微控制器、专用集成电路(ASIC)或微处理器。所述程序可以用高级过程语言或面向对象编程语言来实现,以与处理系统进行通信。如果期望的话,所述程序还可以用汇编语言或机器语言来实现。实际上,本文描述的机制在范围上并不限于任何特定的编程语言。在任何情况中,所述语言可以是编译语言或解释语言。本文呈现的是用于在不需要物理SIM卡的情况下提供基于安全平台的用户识别模块服务的方法和系统的实施方式。虽然已经示出和描述了本发明的特定实施方式,但是对本领域技术人员显而易见的是,可在不背离所附权利要求范围的情况下做出多种改变、变形和修改。因此,本领域技术人员将意识到,可在不背离本发明广泛方面的情况下做出改变和修改。所附权利要求将涵盖其范围内的、落入本发明实际范围和精神内的所有这样的改变、变形和修改。权利要求1.一种在系统的安全分区中执行的计算机实现的方法,包括响应于接收到为所述系统激活通信服务的请求,创建请求激活所述通信服务的许可;将所述许可发送给所述通信服务的服务提供方,其中,所述服务提供方与许可服务进行通信以获得所述许可的数字签名来激活所述通信服务;接收来自所述服务提供方的签名的许可;从仅可由所述安全分区访问的存储器获取所述许可服务的密钥;使用所述密钥来确认所述签名的许可包含所述许可服务的数字签名;以及响应于确认所述签名的许可包含所述许可服务的数字签名,为所述系统激活所述通信服务。2.根据权利要求1所述的方法,还包括生成所述许可的临时值;在为所述系统激活所述通信服务之前,确认所述签名的许可包含所述临时值。3.根据权利要求1所述的方法,还包括将所述签名的许可存储在仅可由所述安全分区访问的所述存储器中。4.根据权利要求1所述的方法,其中在制造所述安全分区的硬件时,将所述密钥嵌入仅可由所述安全分区访问的所述存储器中。5.根据权利要求1所述的方法,其中所述签名的许可包含所述服务提供方的第二密钥,以及所述方法还包括接收来自所述服务提供方的随后的通信;在响应于所述随后的通信而进行动作之前,确认所述随后的通信与所述服务提供方的所述第二密钥相关联。6.一种装置,包括至少一个处理器;与所述处理器的主操作系统相隔离的安全分区;仅可由所述安全分区访问的存储器;以及包含用于在所述安全分区中执行的至少一个服务的指令的存储器,以便执行下述步骤响应于接收到为所述系统激活通信服务的请求,创建请求激活所述通信服务的许可;将所述许可发送给所述通信服务的服务提供方,其中,所述服务提供方与许可服务进行通信以获得所述许可的数字签名来激活所述通信服务;接收来自所述服务提供方的签名的许可;从仅可由所述安全分区访问的所述存储器获取所述许可服务的密钥;使用所述密钥来确认所述签名的许可包含所述许可服务的数字签名;以及响应于确认所述签名的许可包含所述许可服务的数字签名,来为所述系统激活所述通信服务。7.根据权利要求6所述的装置,其中在制造所述安全分区的硬件时,将所述密钥嵌入仅可由所述安全分区访问的所述存储器中。8.一种计算机程序产品,包括计算机可读存储介质;以及所述计算机可读存储介质中的指令,其中,当在处理系统的安全分区中执行所述指令时,使得在所述安全分区中执行的服务执行包括如下步骤的操作响应于接收到为所述系统激活通信服务的请求,创建请求激活所述通信服务的许可;将所述许可发送给所述通信服务的服务提供方,其中,所述服务提供方与许可服务进行通信以获得所述许可的数字签名来激活所述通信服务;接收来自所述服务提供方的签名的许可;从仅可由所述安全分区访问的存储器获取所述许可服务的密钥;使用所述密钥来确认所述签名的许可包含所述许可服务的数字签名;以及响应于确认所述签名的许可包含所述许可服务的数字签名,来为所述系统激活所述通信服务。9.一种计算机实现的方法,包括接收来自请求系统的请求激活通信服务的许可;将密钥添加到所述许可;从许可服务获得签名的许可,其中,所述许可服务将数字签名添加到所述许可以创建所述签名的许可;向所述请求系统发送所述签名的许可,其中,在为所述系统激活所述通信服务之前,所述请求系统验证所述签名的许可包含所述许可服务的数字签名;以及向所述请求系统发送随后的通信,其中,所述随后的通信包含用于修改所述通信服务的参数的命令,以及在修改所述通信服务之前,所述请求系统验证所述随后的通信与所述密钥相关联。10.根据权利要求9所述的方法,还包括在获得所述签名的许可之前,将认证密钥和国际移动用户标识符添加到所述许可。11.一种计算机实现的方法,包括从在系统的一个位置处可用的至少一个移动网络中选择所选择的移动网络;识别用于所述系统的多个配置的SIM服务;选择所述多个配置的SIM服务中的所选择的配置的SIM服务;以及使用所选择的配置的SIM服务的证书来尝试与所选择的移动网络进行通信。12.根据权利要求11所述的方法,还包括组合所述多个配置的SIM服务中的每一个的移动网络列表以创建组合的移动网络列表,其中,所选择的移动网络选自所述组合的移动网络列表。13.根据权利要求12所述的方法,还包括识别最高质量的移动网络,所述最高质量的移动网络提供在所述位置处可用的至少一个移动网络所提供的服务中的最高质量的服务;识别所述最高质量的移动网络的国家码;以及使用所述国家码来选择要被包含在所述组合的移动网络列表中的移动网络。14.根据权利要求11所述的方法,还包括使所述系统的安全分区中的SIM服务采用所选择的配置的SIM服务的标识,其中,所述安全分区与所述系统的主操作系统相隔离。15.一种装置,包括至少一个处理器;与所述处理器的主操作系统相隔离的安全分区;以及包含用于在所述安全分区中执行的至少一个服务的指令的存储器,以便执行下述步骤从在所述系统的一个位置处可用的至少一个移动网络中选择所选择的移动网络;识别用于所述系统的多个配置的SIM服务;从所述多个配置的SIM服务中选择所选择的配置的SIM服务;以及使用所选择的配置的SIM服务的证书来尝试与所选择的移动网络进行通信。16.根据权利要求15所述的装置,其中,所述指令还包括用于执行下述步骤的指令组合所述多个配置的SIM服务中的每一个的移动网络列表以创建组合的移动网络列表,其中,所选择的移动网络选自所述组合的移动网络列表。17.根据权利要求16所述的装置,其中,所述指令还包括用于执行下述步骤的指令识别最高质量的移动网络,所述最高质量的移动网络提供在所述位置处可用的至少一个移动网络所提供的服务中的最高质量的服务;识别所述最高质量的移动网络的国家码;以及使用所述国家码来选择要被包含在所述组合的移动网络列表中的移动网络。18.根据权利要求15所述的装置,其中,所述指令还包括用于执行下述步骤的指令使所述系统的安全分区中的SIM服务采用所选择的配置的SIM服务的标识。19.一种计算机程序产品,包括计算机可读存储介质;以及所述计算机可读存储介质中的指令,其中,当在处理系统的安全分区中执行所述指令时,使得在所述安全分区中执行的服务执行包括如下步骤的操作从在所述处理系统的一个位置处可用的至少一个移动网络中选择所选择的移动网识别用于所述处理系统的多个配置的SIM服务;从所述多个配置的SIM服务中选择所选择的配置的SIM服务;以及使用所选择的配置的S頂服务的证书来尝试与所选择的移动网络进行通信。20.根据权利要求19所述的计算机程序产品,其中,所述指令还包括用于执行下述步骤的指令组合所述多个配置的SIM服务中的每一个的移动网络列表以创建组合的移动网络列表,其中,所选择的移动网络选自所述组合的移动网络列表。21.根据权利要求20所述的计算机程序产品,其中,所述指令还包括用于执行下述步骤的指令识别最高质量的移动网络,所述最高质量的移动网络提供在所述位置处可用的至少一个移动网络所提供的服务中的最高质量的服务;识别所述最高质量的移动网络的国家码;以及使用所述国家码来选择要被包含在所述组合的移动网络列表中的移动网络。22.根据权利要求19所述的计算机程序产品,其中,所述指令还包括用于执行下述步骤的指令使所述安全分区中的SIM服务采用所选择的配置的SIM服务的标识。全文摘要用于安全用户识别模块服务的方法、装置、系统和计算机程序产品。响应于接收到由系统的安全分区来为所述系统激活通信服务的请求,来激活经由移动网络的通信。响应于接收到所述请求,从仅可由安全分区访问的存储器中获取用于许可服务的密钥。该密钥包含在请求激活通信服务的许可中,并且该许可被发送给所述通信服务的服务提供方。该服务提供方与许可服务进行通信,以获取所述许可的数字签名。安全分区接收来自服务提供方的签名的许可,确认该签名的许可包含许可服务的数字签名,以及响应于确认该签名的许可包含数字签名来为所述系统激活通信服务。文档编号H04W12/04GK102104869SQ201010599679公开日2011年6月22日申请日期2010年12月17日优先权日2009年12月17日发明者G·普拉卡什,M·米拉什拉斐,S·达杜申请人:英特尔公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1