安全远程用户设备解锁的制作方法

文档序号:11291527阅读:428来源:国知局
安全远程用户设备解锁的制造方法与工艺

相关专利申请的交叉引用

本专利申请要求2014年10月3日提交的美国临时申请no.62/059,818的优先权,该申请的全部内容通过引用并入本文。



背景技术:

移动通信设备(如智能手机)通常被运营商锁定(carrier-locked)到无线通信运营商。许多无线通信运营商将移动通信设备锁定到其蜂窝网络以防止欺诈。例如,未锁定的移动通信设备可能被盗窃和转售,以最小的检测风险使用新的订户识别模块(sim)卡。在另一个示例中,恶意用户可以使用虚假身份以运营商补贴价格购买移动通信设备,其中提供运营商补贴价格以换取有期限的服务合同。恶意用户可能随后未用无线通信运营商激活移动通信设备。相反,恶意用户可能将移动通信设备出售给第三方买家以获利。由于无线通信运营商依赖有期限的服务合同来收回提供给恶意用户的初始补贴,所以这种欺诈活动可能导致无线通信运营商遭受损失。

然而,无线通信运营商可以根据请求为符合条件的客户运营商解锁移动通信设备。例如,无线通信运营商可以在客户完成有期限的服务合同之后解锁移动通信设备。为了区分符合条件的客户和不符合条件的客户的运营商解锁请求,无线通信运营商可以使用客户服务代表作为守门人。一旦从移动通信设备的客户接收到运营商解锁请求,客户服务代表可以发起审查以确定客户是否有资格使移动通信设备被解锁。在成功验证之后,客户服务代表随后可以向客户提供解锁码以解锁移动通信设备。客户随后在适当的用户输入界面将解锁码输入到移动通信设备中,以解锁设备。在某些情况下,客户服务代表验证运营商解锁的资格可能需要长达三天的时间。

这种解锁资格验证的持续时间可能导致差的客户体验。此外,当客户请求移动通信设备的部分解锁时,诸如外出旅行时解锁无线通信以使用外国移动运营商时,这种解锁资格验证可能是非常繁冗的。此外,由于特定制造商和型号的移动通信设备可以共享公共解锁码,所以恶意用户可以使用解锁码来解锁不符合解锁资格的其他移动通信设备。

附图说明

参考附图描述了具体实施方式,其中附图标记中最左边的数字标识附图标记首次出现的图。不同图中使用相同的附图标记表示相似或相同的项目。

图1示出了用于实现用户设备的安全远程解锁的示例性网络架构。

图2是示出支持安全远程解锁的示例性用户设备的各种组件的框图。

图3是示出远程解锁用户设备的示例性完整性服务器的各种组件的框图。

图4是为了从完整性服务器请求用户设备的运营商解锁的目的而向完整性服务器注册用户设备的示例性过程的流程图。

图5是用于将来自用户设备的解锁请求发送至完整性服务器上的策略引擎的示例性过程的流程图。

图6是用于确定用户设备是否符合运营商解锁资格的示例性过程的流程图。

图7是用于发送来自完整性服务器的解锁命令以在设备启动时禁止用户设备执行运行商验证的示例性过程的流程图。

具体实施方式

本公开涉及用于提供自动运营商解锁用户设备的远程解锁功能的技术。远程解锁功能可以从无线通信运营商的网络的独占使用中解锁用户设备。用户设备可以经由位于用户设备的调制解调器内的订户识别模块(sim)锁定引擎而被运营商锁定到无线通信运营商。

在制造用户设备时,运营商代码可以永久地嵌入在用户设备中。当用户随后与无线通信运营商签订服务时,可以在用户设备上安装提供对移动通信运营商的网络进行接入的sim卡。在使用用户设备的每个启动(boot)时间,用户设备的sim锁定引擎可以执行运营商验证检查。运营商验证检查可以将嵌入的运营商代码与存储在sim卡中的运营商代码进行比较。因此,如果sim锁定引擎确定嵌入的运营商代码与存储在sim卡中的运营商代码相匹配,则sim锁定引擎可以允许用户设备发起正常的启动。否则,sim锁定引擎允许用户设备启动到有限功能模式。

在各种实施例中,响应于解锁请求,远程解锁功能可以从无线通信运营商的网络解锁用户设备。解锁请求可以由用户通过安装在移动通信上的解锁应用来发起。解锁请求可以由无线通信运营商的策略引擎接收。策略引擎可以执行解锁资格验证。当验证用户设备符合运营商解锁的条件时,策略引擎可以向用户设备发送解锁命令。解锁命令可以在用户设备的每次启动时间禁止sim锁定引擎执行运营商验证检查。在一些实施例中,可以使用完整性保护通信来执行用于用户设备的解锁请求和解锁命令的传输。

这些技术可以提供完全自动化的运营商解锁,其使得用户设备的用户提高了便利性。用户设备可以在较短的时间内解锁,例如在短至几秒钟之内,而不是等待客户服务代表用长达几天的时间履行(fulfill)运营商解锁请求。此外,这些技术不依赖于使用由用户设备全线共享的通用解锁代码。因此,可以减少或消除由恶意第三方滥用此类解锁码对用户设备执行非法解锁。此外,使用完整性保护通信来传输解锁请求和解锁命令实际上排除了恶意第三方冒用(spoof)这些请求和命令。本文描述的技术可以以多种方式来实现。下面参考以下附图提供示例性实现方式。

示例性网络架构

图1示出了用于实现用户设备的安全远程解锁的示例性架构100。所述架构100可以包括用户设备102和无线通信运营商104。无线通信运营商104可以操作无线网络106。无线网络106可以包括基站和核心网络。基站可以是无线网络106的接入网络结构的一部分。基站负责处理用户设备(例如用户设备102)和核心网络之间的语音和数据业务。可选地,用户设备102可以经由无线通信运营商104和/或连接到核心网络的第三方提供商的其他通信网络来访问核心网络。核心网络可以向用户设备提供电信和数据通信服务。例如,核心网络可以将用户设备102连接到其他电信和数据通信网络。在多个实施例中,核心网络可以包括一个或更多个完整性服务器(integrityserver)108。

用户设备102可以是智能手机、平板电脑或能够使用sim卡110从无线网络106获得电信和/或数据通信服务的任何其他设备。用户设备102可以包括调制解调器112和设备解锁应用114。调制解调器112是使得用户设备102能够执行与无线网络106的电信和数据通信的硬件部件。调制解调器112可以包括软件sim锁定引擎116。sim锁定引擎116能够访问在制造设备时嵌入到用户设备102中的设备运营商代码118。此外,sim锁定引擎116还能够访问存储在sim卡110中的sim运营商代码120。

在用户设备102每次启动时,sim锁定引擎116可以对sim运营商代码120执行设备运营商代码118验证。因此,如果sim锁定引擎116确定设备运营商代码118匹配sim运营商代码120,sim锁定引擎116可以允许用户设备102发起正常的启动。否则,sim锁定引擎116允许用户设备启动到有限功能模式。例如,有限功能模式最多可以允许用户设备使用无线通信运营商的网络进行紧急服务呼叫。

在多个实施例中,用户设备102的用户可以使用设备解锁应用114来发起设备的运营商解锁请求122。设备解锁应用114可以使用完整性保护通信124来将解锁请求122发送到完整性服务器108。解锁请求122可以由驻于完整性服务器108上的策略引擎126来接收。策略引擎126可以基于与用户和用户设备102相关的信息来执行解锁资格验证。在验证用户设备102符合运营商解锁的资格后,策略引擎126可以经由完整性保护通信130向用户设备102发送解锁命令128。完整性保护通信124和130可以使用在设备发放给消费者使用之前分配给用户设备102的唯一设备和应用密钥来实现。设备和应用密钥可以包括相应的公共密钥和私钥。解锁命令128可以禁止sim锁定引擎116在用户设备每次启动时执行运营商验证检查。因此,无论兼容无线通信运营商的运营商代码如何,用户设备102随后将启动并使用兼容无线通信运营商的可用网络。在多个实施例中,完整性保护通信124和完整性保护通信130可以经由无线网络106、由无线电信运营商104管理的移动热点、第三方数据通信网络或其任何组合在用户设备102和策略引擎126之间交换。

在一些实施例中,用户设备102上的设备解锁应用114可以提供使用户能够定制解锁请求的用户界面菜单。例如,用户可以指定解锁请求是否用于永久性运营商解锁或临时运营商解锁,即解锁用户设备一段时间。在一些实施例中,可以存在多个级别的临时运营商解锁,其中每个级别对应于不同的持续时间。可选地或同时地,用户可以使用界面菜单来指定期望哪一个或更多个地理区域的运营商解锁,使得用户可以采用服务于这些区域的无线通信运营商的网络来使用用户设备。因此,解锁请求122的定制可以导致解锁请求的多个方案,其中解锁请求的每个方案具有诸如永久解锁、解锁持续时间、解锁地理区域等之类的因素的唯一组合。在某些情况下,用户还可以使用界面菜单来请求取消对用户设备102的运营商解锁,无论运营商解锁是临时性的还是永久性的,使得用户设备102可以还原回到运营商锁定状态。

策略引擎126可以使用解锁请求122的方案来确定在解锁资格验证期间执行的检查的数量或类型,因为解锁请求的每个方案可以具有一套相应的需要执行的验证。例如,临时运营商解锁60天的请求可能导致用户设备的用户没有未完成的服务账单的验证。在另一个例子中,临时运营商解锁30天的请求可能导致用户最多推迟一个月支付服务账单的验证。相比之下,对永久性运营商解锁的请求可能导致用户设备完全支付并且用户设备的用户没有未完成的服务账单的验证。因此,永久运营商解锁请求可能导致比临时运营商解锁请求更多的验证。

示例性的用户设备组件

图2是示出支持安全远程解锁的示例性用户设备102的各种组件的框图。用户设备102可以包括通信接口202、一个或更多个传感器204、用户接口206、一个或更多个处理器208和存储器210。

通信接口202可以包括使得电子设备能够经由无线网络106以及其他电信和/或数据通信网络发送或接收语音或数据通信的无线和/或有线通信组件。传感器204可以包括接近传感器、罗盘、加速计和/或全球定位系统(gps)传感器。接近传感器可以检测靠近用户设备102的物体的移动。罗盘、加速计和gps传感器可以检测用户设备102的方向、移动和地理位置。

用户接口206可以使用户能够从用户设备102提供输入和接收输出。用户接口206可以包括数据输出设备(例如,视觉显示器、音频扬声器)和一个或更多个数据输入设备。数据输入设备可以包括但不限于手机按键、键盘、鼠标设备、触摸屏、麦克风、语音识别包以及任何其它合适的设备或其他电子/软件选择方法中的一个或更多个的组合。

存储器210可以使用计算机可读介质(诸如计算机存储介质)来实现。计算机可读介质包括至少两种类型的计算机可读介质,即计算机存储介质和通信介质。计算机存储介质包括用于存储诸如计算机可读指令、数据结构、程序模块或其他数据的信息的、以任何方法或技术实现的易失性和非易失性、可移除和不可移除的介质。计算机存储介质包括但不限于ram、rom、

eeprom、闪存或其他存储器技术、cd-rom、数字通用光盘(dvd)或其他光学存储、磁带盒、磁带、磁盘存储或其他磁存储设备或可用于存储计算设备能够访问的信息的任何其它非传输介质。相比之下,通信介质可以具体化为计算机可读指令、数据结构、程序模块或调制数据信号中的其他数据,例如载波或其他传输机制。

用户设备102还可以包括调制解调器112其它设备硬件214。如上文图1所述,调制解调器112是使得用户设备102能够采用无线网络106执行电信和数据通信的硬件组件。调制解调器112可以实现软件sim锁定引擎116。设备硬件214可以包括通常位于移动电信设备中的其他硬件。例如,设备硬件214可以包括信号转换器、天线、硬件解码器和编码器、图形处理器、sim卡插槽和/或诸如此类,其使得用户设备102能够执行应用以及提供电信和数据通信功能。sim卡110可以被插入到用户设备102的sim卡插槽中。sim卡110可以包含用户识别信息和sim运营商代码120。因此,sim卡110可以使用户设备102能够获得来自由sim运营商代码120识别的无线通信运营商的电信和/或数据通信服务。

用户设备102的一个或更多个处理器208和存储器210可以实现操作系统214、设备软件216和一个或更多个应用218。该软件可以包括执行特定任务或实现特定抽象数据类型的例程、程序指令、对象和/或数据结构。

操作系统214可以包括使用户设备102能够经由各种接口(例如,用户控制、通信接口202和/或存储器输入/输出设备)来接收和发送数据的组件。操作系统214还可以使用一个或更多个处理器208处理数据,以基于经由用户接口206接收的输入来生成输出。例如,操作系统214可以为执行应用218提供执行环境。操作系统214可以包括呈现输出的呈现组件(例如,在电子显示器上显示数据、将数据存储在存储器中、将数据发送到另一电子设备等)。

操作系统214可以包括使应用程序与调制解调器112和/或通信接口202接口的接口层。接口层可以包括公共api、专用api或公共api和专用api两者的组合。另外,操作系统214可以包括执行通常与操作系统相关联的各种其他功能的其他组件。设备软件216可以包括使用户设备能够执行功能的软件组件。例如,设备软件216可以包括基本输入/输出系统(bios)、启动芯片或在设备通电之后启动用户设备102并且执行操作系统214的引导加载程序。

应用218可以包括向用户设备102的用户提供实用、娱乐和/或生产功能的应用。例如,应用218可以包括电话应用、电子邮件应用、远程桌面应用、网络浏览器应用、导航应用、办公生产应用、多媒体流应用等等。

用户设备102的一个或更多个处理器208和存储器210可进一步实现可信环境220。可信环境220是由设备的专用软件和/或硬件提供的隔离执行空间。例如,可信环境220可以使用专用存储器空间或存储器芯片,其不能由不位于专用存储器空间或存储器芯片中的应用和/或硬件组件访问,除非这样的应用和/或硬件组件通过安全通信信道具有特殊的访问权限。可选地或同时地,驻于可信环境220中的应用可以由专用处理器执行。可信环境220的隔离为存储在执行空间中的执行代码或数据提供高度的安全。

在多个实施例中,可信环境220可以存储设备解锁应用114、设备密钥222、调制解调器密钥224、可信密钥226和公共-私人密钥对的公共密钥228。设备密钥222唯一地识别用户设备102。在一些实施例中,设备密钥222可以在制造设备时存储到可信环境220中。在另一些实施例中,设备密钥222可以在运行时由设备解锁应用114从制造时分配给用户设备102的设备种子值生成。类似地,调制解调器密钥224可以唯一地识别安装在用户设备102中的调制解调器112。在一些实施例中,调制解调器密钥224可以在制造调制解调器112时分配给调制解调器112。在另一些实施例中,调制解调器密钥224可以在运行时由设备解锁应用114从制造时分配给调制解调器112的调制解调器种子值生成。可信密钥226是分配给可信环境220的唯一密钥。可信密钥226为实现可信环境220的硬件的制造商所知。此外,用户设备102的身份,例如用户设备的国际移动终端设备标识(imei)也可能为制造商所知。在各种实施例中,可信密钥226及其与可信环境220的关系,以及其与用户设备102的关联也可以被称为验证可信密钥226的可信的第三方所知。可信环境220还可以存储公共-私人密钥对的公共密钥228(例如,公共证书),其中公共-私人密钥对的私人密钥为策略引擎126所知。例如,公共密钥228可以由可信环境220的制造商嵌入到可信环境220的专用存储器空间中。无线通信运营商104反过来可以从制造商获得存储在完整性服务器108中的对应于公共密钥228的私人密钥。存储器210还可以存储设备运营商代码118。例如,在制造用户设备102时,设备运营商代码118可以以不可修改的格式永久存储在存储器210中。

调制解调器112可以存储公共-私人密钥对的公共密钥230(例如公共证书),其中私人密钥为策略引擎126所知。例如,公共密钥230可以在制造时由调制解调器112的制造商嵌入调制解调器112的存储器中。无线通信运营商104反过来可以从调制解调器的制造商获得存储在完整性服务器108中的对应于公共密钥228的私人密钥。在多个实施例中,公共密钥230的副本也可以存储在可信环境220中以供设备解锁应用114访问。

用户设备102的用户可以使用设备解锁应用114来对设备102进行运营商解锁。在注册阶段,用户可以使用设备解锁应用114将用户设备102注册到策略引擎126,使得策略引擎126可以解锁用户设备102。在多个实施例中,用户可以发起由设备解锁应用114提供的注册选项。反过来,设备解锁应用114可以向策略引擎126发送注册请求232。注册请求232可以包括使用公共密钥228加密的设备密钥222和使用公共密钥230加密的调制解调器密钥224。注册请求可以包括其他信息,诸如用户设备102的标识符、注册请求的标识符、创建注册请求的时间和日期等。

注册请求232可以由可信密钥226进行完整性保护。在多个实施例中,设备解锁应用114可以通过使用可信密钥226计算用于注册请求的消息摘要234来完整性保护注册请求。设备解锁应用114可以进一步将消息摘要234附加到注册请求232。以这种方式,注册请求232可以基于可信密钥226进行认证。在认证时,策略引擎126可以使用对应于公共密钥228和230的已知私人密钥来解密设备密钥222和调制解调器密钥224,使设备密钥222和调制解调器密钥224的副本可存储在完整性服务器108中。

在解锁请求阶段,设备解锁应用程序114可以提供使用户定制解锁请求(诸如解锁请求122)的用户界面菜单。例如,用户可以指定解锁请求是否为永久运营商解锁或临时运营商解锁,即在特定持续时间内解锁用户设备。可选地或同时地,用户可以使用界面菜单来指定期望运营商解锁的一个或更多个地理区域,使得用户可以采用服务于这些区域的无线通信运营商的网络来使用用户设备。设备解锁应用程序114可以将用户请求的运营商解锁细节封装到解锁请求122中。

随后,设备解锁应用114可以使用设备密钥222完整性保护解锁请求122。在多个实施例中,设备解锁应用114可以通过使用设备密钥222计算解锁请求122的消息摘要来完整性保护解锁请求。消息摘要由设备解锁应用114进一步附加到解锁请求122。然后,包括消息摘要的解锁请求112由设备解锁应用222发送到策略引擎126。反过来,由于策略引擎126已经知道设备密钥222的副本,所以策略引擎126可以使用设备密钥222的副本来验证解锁请求122。在验证之后,策略引擎126可以基于解锁请求122中包含的信息来确定用户设备102是否符合运营商解锁的资格。

在确定用户设备102有资格进行运营商解锁的情况下,策略引擎126可以将解锁命令128发送到用户设备102的调制解调器112。在多个实施例中,解锁命令128可以包括调制解调器数据包,该调制解调器数据包由附加消息摘要完整性保护,使用调制解调器密钥224的副本为调制解调器数据二进制块(blob)计算该附加消息摘要。此外,解锁命令128的整体可以由附加消息摘要完整性保护,使用设备密钥222的副本为解锁命令128计算该附加消息摘要。用户设备102可以经由通信接口202接收完整性保护的解锁命令128。例如,通信接口202可以基于完整性保护的解锁命令128的消息头将完整性保护的解锁命令128路由到调制解调器112。因此,一旦用户设备102接收到完整性保护的解锁命令128,设备解锁应用114可以使用设备密钥222来验证解锁命令128。

设备解锁应用114可以通过使用设备密钥222独立地计算解锁命令128的验证消息摘要来执行验证。然后,设备解锁应用114可以将验证消息摘要与从解锁命令128提取的附加消息摘要进行比较。这样,如果来自解锁命令128的消息摘要和验证消息摘要匹配,则设备解锁应用114可以确定解锁命令128有效。否则,安全通信模块312可以认为解锁命令128无效。在验证之后,设备解锁应用114可以从解锁命令128提取调制解调器数据包,并将调制解调器数据包传送到调制解调器112。

调制解调器112的sim锁定引擎116可以使用调制解调器密钥224验证调制解调器数据包。在多个实施例中,sim锁定引擎116可以通过使用调制解调器密钥224独立地计算调制解调器数据包的验证消息摘要来执行验证。然后sim锁定引擎116可以将验证消息摘要与从调制解调器数据包提取的附加消息摘要进行比较。因此,如果来自调制解调器数据包的消息摘要和验证消息摘要匹配,则设备解锁应用114可以确定调制解调器数据包是有效的。否则,sim锁定引擎114可以认为调制解调器数据包是无效的。

一旦验证,sim锁定引擎116可处理调制解调器数据包中的解锁信息。解锁信息可以指示运营商解锁的永久性(即临时或永久)、运营商解锁的地理区域、调制解调器数据包的唯一标识符、解锁命令128的身份(即会话标识符)、生成调制解调器数据包的时间和日期,和/或等等。sim锁定引擎116可以使用识别信息来防止解锁命令的非法重放。例如,sim锁定引擎116可以自动丢弃具有与先前由sim锁定引擎116处理的另一解锁命令相关联的会话标识符的调制解调器数据包。在运营商解锁是临时的情况下,解锁信息可以指示临时运营商解锁的持续时间、临时运营商解锁的开始日期和时间和/或临时运营商解锁的结束日期和时间。

因此,解锁信息的实现可能导致sim锁定引擎116停止执行运营商代码验证,即,在用户设备102启动时,设备运营商代码118与sim运营商代码120的匹配。可以根据调制解调器数据包中的解锁信息指定的条件来实现运营商代码验证的停止。关于用户设备102和完整性服务器108之间的注册请求232、解锁请求122和解锁命令128的传输的附加细节在图4-7中讨论。

示例性的完整性服务器组件

图3是示出远程解锁用户设备的示例性完整性服务器的各种组件的框图。所述完整性服务器可以包括通信接口302、一个或更多个处理器304、存储器306和服务器硬件308。通信接口302可以包括无线和/或有线通信组件,其使得服务器能够经由无线网络106向其他网络设备发送数据以及从其接收数据。服务器硬件308可以包括执行用户接口、数据显示、数据通信、数据存储和/或其他服务器功能的附加硬件。

存储器306可以使用计算机可读介质来实现,诸如计算机存储介质。计算机可读介质包括至少两种类型的计算机可读介质,即计算机存储介质和通信介质。计算机存储介质包括以用于存储诸如计算机可读指令、数据结构、程序模块或其他数据的信息的、以任何方法或技术实现的易失性和非易失性、可移除和不可移除的介质。计算机存储介质包括但不限于ram、rom、

eeprom、闪存或其他存储器技术、cd-rom、数字通用盘(dvd)或其他光学存储、磁带盒、磁带、磁盘存储或其他磁存储设备、或可由计算设备访问的用于存储信息的任何其它非传输介质。相比之下,通信介质可以使计算机可读指令、数据结构、程序模块或调制数据信号(例如载波或其他传输机制)中的其他数据具体化。

完整性服务器108的处理器304和存储器306可以实现操作系统310和策略引擎126。操作系统310可以包括使完整性服务器108能够经由各种接口(例如用户控制、通信接口和/或存储器输入/输出设备)接收和发送数据以及使用处理器304处理数据以产生输出的组件。操作系统310可以包括呈现输出的呈现组件(例如,在电子显示器上显示数据、将数据存储在存储器中、将数据发送到另一电子设备等)。此外,操作系统310可以包括执行通常与操作系统相关联的各种附加功能的其他组件。

策略引擎126可以包括安全通信模块212、授权模块314和接口模块316。安全通信模块312可以负责与用户设备(例如用户设备102)建立完整性保护通信124和130。例如,安全通信模块312可以将设备密钥222、调制解调器密钥224、私人密钥320和私人密钥322存储在密钥数据库318中。私人密钥320可以是公共密钥228的对应物,并且私人密钥322可以是公共密钥230的对应物。密钥数据库318还可以存储每个用户设备的相关联的运营商锁定状态。因此,安全通信模块312可以使用私人密钥320和私人密钥322来解密注册请求的加密部分,例如设备密钥222和调制解调器密钥224。安全通信模块312还可以具有从可信的第三方认证授权机构324请求属于特定用户设备(例如,用户设备102)的可信密钥(例如,可信密钥226)的验证的能力。例如,安全通信模块312可以向可信第三方认证授权机构324处的验证服务器发送验证请求。验证请求可以包括用户设备(例如,用户设备102)的设备标识符和可信密钥(例如,可信密钥226)。反过来,如果可信密钥属于用户设备,则可信第三方认证授权机构324可以发回可信密钥有效的指示。否则,可信第三方认证授权机构324可以向安全通信模块312指示该可信密钥是无效的。

另外,安全通信模块312可以通过使用设备密钥222相应的副本独立地计算解锁请求122的验证消息摘要来执行解锁请求(例如包括消息摘要326的解锁请求122)的完整性验证。然后,安全通信模块312可以将验证消息摘要与从解锁请求中提取的消息摘要326进行比较。因此,如果从解锁请求128中提取的消息摘要326和验证消息摘要匹配,则安全通信模块312可以确定解锁请求122是有效的。否则,安全通信模块312可以认为解锁请求122无效。

安全通信模块312还可以使用作为解锁命令预期接收者的用户设备的设备密钥来完整性地保护解锁命令。进一步,安全通信模块312还可以利用用户设备的调制解调器密钥来保护解锁命令中的调制解调器数据包。例如,由安全通信模块312生成的解锁命令128可以包括调制解调器数据包328。调制解调器数据包328可以被附加到调制解调器数据包328的消息摘要330完整性保护。消息摘要330可以使用调制解调器密钥224的副本从调制解调器数据包328生成。此外,解锁命令128的整体可以被附加到解锁命令128的消息摘要332完整性保护。可以使用设备密钥222的副本从解锁命令128生成消息摘要332。因此,如图4、5和7进一步描述的,安全通信模块312可以使用密钥数据库318中的一个或更多个密钥来与用户设备102安全通信。

授权模块314可以验证由策略引擎126(例如策略引擎126)接收的运营商解锁请求。在多个实施例中,授权模块314可以首先将运营商解锁请求分类为运营商解锁方案。然后,所述授权可以检查一个或更多个简档(profile)数据库320以确定是否向用户设备发出解锁命令。简档数据库320可以包括保存支付信息、用户设备状态数据库、订户信息数据库等的订户账户数据库。

被检查的简档数据库320的数量和类型可能取决于解锁请求122的方案。例如,临时运营商解锁的请求可能导致验证用户设备的用户没有未完成的服务账单。相比之下,永久性运营商解锁的请求可能导致用户设备完全支付并且用户设备的用户没有未完成的服务账单的验证。因此,授权模块314可以在授权模块314确定相关联的用户设备和/或订户符合运营商解锁资格时,响应于解锁请求而发出解锁命令。授权模块314可以使用通信接口302向用户设备(诸如用户设备102)发送解锁命令。

接口模块316可以使能用户访问授权模块314。在一些实施例中,接口模块316可以生成用于访问模块的功能的一个或更多个网页。例如,网页可以用于覆盖或取消解锁命令的分发、监视由授权模块314执行的验证、收集有关解锁请求和解锁命令的统计数据和度量、更新数据库中的信息等。

虽然策略引擎126被例示为在完整性服务器108上实现,但是在其他实施例中,策略引擎126可以在无线通信运营商104的任何其他服务器上实现。例如,策略引擎126可以在对无线网络106执行核心网络和/或回程功能的服务器上实现。进一步,虽然安全通信模块312被例示为独立组件,但是在一些实施例中,该模块也可以作为策略引擎126的一部分被实现。

示例性过程

图4-7示出了用于远程解锁用户设备的示例性过程400-700。过程400-700中的每个被示出为逻辑流程图中的块的集合,其表示可以用硬件、软件或其组合来实现的一系列操作。在软件的情况,这些块表示计算机可执行指令,当该指令被一个或更多个处理器执行时,执行所述操作。通常,计算机可执行指令可以包括执行特定功能或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等。描述操作的顺序不意图被理解为限制性的,并且任何数量的所述块可以以任何顺序和/或并行组合以实现该过程。为了讨论的目的,参考图1的架构100描述过程400-700。

图4是为了从完整性服务器请求用户设备的运营商解锁的目的而向完整性服务器注册用户设备的示例性过程400的流程图。过程400可以由用户设备102和完整性服务器108的各种组件执行。在多个实施例中,在用户设备102和完整性服务器108之间传输的数据可以通过无线网络106被路由,无论是否通过第三方网络部分路由。

在块402,用户设备102的设备解锁应用114可以向策略引擎126发送注册请求232。注册请求232可以包括加密的设备密钥222和加密的调制解调器密钥224。可以使用公共密钥228来加密设备密钥222,并且可以使用公共密钥230来加密调制解调器密钥224。注册请求232可以由可信密钥226进行完整性保护。设备解锁应用114可以响应于用户设备102的用户对注册选项的激活而发送注册请求232。

在块404,策略引擎126可以接收包括完整性保护的注册请求232的注册请求,其中完整性保护的注册请求232包括加密的设备密钥222和加密的调制解调器密钥224。在块406,策略引擎126可以请求可信的第三方基于可信密钥226验证注册请求232。可信的第三方可以确定可信密钥226是否与包括在注册请求232中的用户设备102的设备标识符相关。因此,如果可信密钥226与设备标识符相关,则可信的第三方可以确定注册请求232是有效的。否则,可信的第三方可以确定注册请求232是无效的。在一些实施例中,如果存在相关性并且没有从用户设备102接收到先前的注册请求,则可信的第三方可以确定注册请求有效232。

因此,在判定块408,如果可信的第三方确定注册请求232是有效的(在判定块408为“是”),则过程400可以进行到块410。在块410,策略引擎126可以从注册请求232解密设备密钥222和调制解调器密钥224。在多个实施例中,策略引擎126可以使用私人密钥320从注册请求232解密设备密钥222。类似地,策略引擎126可以使用私人密钥322从注册请求232解密调制解调器密钥224。在块412,策略引擎126可将解密的设备密钥222和解密的调制解调器密钥224存储在密钥数据库318中,作为用户设备102的关联密钥。

在块414,策略引擎126可以发送用于运营商解锁的设备注册完成的指示。在块416,用户设备102的设备解锁应用114可以接收用于运营商解锁的设备注册完成的指示。在一些实施例中,设备解锁应用114可经由用户设备102的用户接口206显示指示。

返回到判定块408,如果可信的第三方确定注册请求232无效(在判定块408处为“否”),则过程400可以进行到块418。在块418,策略引擎126可以发送用于运营商解锁的设备注册失败的指示。在块420,用户设备102的设备解锁应用114可以接收用于运营商解锁的设备注册失败的指示。在一些实施例中,设备解锁应用114可经由用户设备102的用户接口206显示指示。

图5是用于将来自用户设备的解锁请求发送至完整性服务器上的策略引擎的示例性过程500的流程图。过程500可以由用户设备102和完整性服务器108的各种组件执行。在多个实施例中,在用户设备102和完整性服务器108之间传输的数据可以通过无线网络106被路由,无论是否通过第三方网络部分路由。

在块502,设备解锁应用114可以向策略引擎126发送完整性保护的解锁请求122。在多个实施例中,解锁请求122可以使用设备密钥222进行完整性保护。完整性保护可以包括使用设备密钥222计算用于解锁命令122的消息摘要326。在块504,策略引擎126可以接收完整性保护的解锁请求122。

在块506,策略引擎126可以使用存储的设备密钥验证完整性保护的解锁请求122。存储的设备密钥可以是在用户设备102的注册期间存储在策略引擎126处的用于运营商解锁的设备密钥222的副本。策略引擎126可以通过使用设备密钥222的副本计算验证消息摘要来执行验证,然后将验证消息摘要与消息摘要326进行比较。因此,匹配的消息摘要可以指示解锁请求122是有效的,而非匹配的消息摘要可以指示解锁请求122无效。

在判定块508,如果策略引擎126确定解锁请求122有效(在判定块508为“是”),则过程500可以进行到块510。在块510,策略引擎126可以解析来自解锁请求122解锁请求信息。在多个实施例中,解锁请求信息可以包括解锁是永久的还是临时的、解锁持续时间、解锁的地理位置、解锁请求标识信息、设备标识信息等等。

返回到判定块508,如果策略引擎126确定解锁请求122无效(在判定块508处为“否”),则过程500可以进行到块514。在块514,策略引擎126可以发送解锁请求122无效的指示。在块516,用户设备102上的设备解锁应用114可以接收到解锁请求122无效的指示。在一些实施例中,设备解锁应用114可经由用户设备102的用户接口206显示指示。

图6是用于确定用户设备是否符合运营商解锁资格的示例性过程600的流程图。在块602,策略引擎126可以接收用户设备102的解锁请求信息。解锁请求信息可以指示解锁请求122用于运营商解锁方案。例如,运营商解锁方案可能取决于运营商解锁请求的永久性、在运营商解锁请求中指定的特定解锁持续时间、在运营商解锁请求中指定的特定地理区域和/或等等的组合。

在块604,策略引擎126可以基于运营商解锁请求的方案来确定要执行的一个或更多个验证。一个或更多个验证可以使用包括保存支付信息的订户账户数据库、用户设备状态数据库、订户信息数据库等的数据库来执行。

在块606,策略引擎126可以基于一个或更多个验证来确定用户设备102是否符合运营商解锁资格。在多个实施例中,可以使用一个或更多个简档数据库320来执行验证。例如,临时运营商解锁请求可能导致用户设备的用户没有未支付的服务账单的验证。相比之下,永久运营商解锁请求可能导致用户设备完全支付并且用户设备的用户没有未支付的服务账单的验证。

在判定块608,如果策略引擎126确定用户设备102符合运营商解锁资格(在判定块608为“是”),则过程600可以进行到块610。在块610,策略引擎126可以发起解锁命令128以发送到用户设备102。然而,如果策略引擎126确定用户设备102不符合运营商解锁资格(在判定块608为“否”),则过程600可以进行到块612。在块612,策略引擎126可以发起解锁错误消息,其以发送到用户设备102。在一些实施例中,设备解锁应用114可以在用户设备102的显示器上显示解锁错误消息。

图7是用于发送来自完整性服务器的解锁命令以在设备启动时禁止用户设备执行运营商验证的示例性过程700的流程图。过程700可以由用户设备102和完整性服务器108执行。在多个实施例中,用户设备102和完整性服务器108之间传输的数据可以通过无线网络106被路由,无论是否通过第三方网络部分路由。

在块702,完整性服务器108上的策略引擎126可以使用设备密钥来完整性保护解锁命令128。设备密钥可以是存储在密钥数据库318中的设备密钥222的副本。解锁命令128的完整性保护可以包括使用设备密钥222的副本计算用于解锁命令128的消息摘要332。解锁命令128可以包括使用调制解调器密钥进行完整性保护的调制解调器数据包328。调制解调器密钥可以是存储在密钥数据库318中的调制解调器密钥224的副本。调制解调器数据包328的完整性保护可以包括使用调制解调器密钥224的副本计算用于调制解调器数据包328的消息摘要330。

在块704,策略引擎126可以向用户设备102发送解锁命令128。在块706,用户设备102可以接收解锁命令128。在块708,用户设备102上的设备解锁应用114可以使用设备密钥222来验证解锁命令。在多个实施例中,设备解锁应用114可以通过使用设备222计算用于解锁命令128的验证消息摘要,并将验证消息摘要与消息摘要332进行比较来执行验证。因此,匹配的消息摘要可以指示解锁命令128是有效的,而不匹配的消息摘要可以指示解锁命令128是无效的。

在判定块710,如果设备解锁应用程序114确定解锁命令128有效(在判定块710为“是”),则过程700可以进行到块712。在块712,设备解锁应用114可以从解锁命令128提取调制解调器数据包328。在多个实施例中,调制解调器数据包328的提取可以包括对附加到调制解调器数据包328的消息摘要330的提取。

在块714,调制解调器112的sim锁定引擎116可以使用调制解调器密钥224来验证调制解调器数据包328。在多个实施例中,sim锁定引擎116可以通过使用调制解调器密钥224计算用于调制解调器数据包328的验证消息摘要来执行验证,然后将验证消息摘要与消息摘要330进行比较。因此,匹配的消息摘要可以指示调制解调器数据包328有效,而不匹配的消息摘要可以指示调制解调器数据包328无效。sim锁定引擎116还可以检查其他因素,诸如调制解调器数据包328的会话标识符、调制解调器数据包328的时间戳等,以确定调制解调器数据包是否有效。

在判定716,如果sim锁定引擎116确定调制解调器数据包有效(在判定块716为“是”),则过程700可以进行到块718。在块718处,sim锁定引擎116可以在调制解调器数据包中实现解锁设置,以禁用运营商验证。解锁设置可以在用户设备102启动时禁止由sim锁定引擎116执行运营商验证。在多个实施例中,解锁设置可以包括临时运营商解锁的持续时间、临时运营商解锁的开始日期和时间和/或临时运营商解锁的结束日期和时间。

返回到判定块710,如果sim锁定引擎116确定解锁命令128无效(在判定块710为“否”),则过程700可以进行到块720。在块620,设备解锁应用114可以使用户设备102在用户设备102的显示器上显示无效的运营商解锁命令消息。返回到判定块720,如果sim锁定引擎116确定调制解调器数据包328无效(在判定块720为“否”),则过程700可以进行到块720。在块720,sim锁定引擎116可以使用户设备102在用户设备102的显示器上显示无效的运营商解锁命令消息。在一些实施例中,设备解锁应用114或sim锁定引擎116可以向策略引擎126发送无效指示符。无效指示符可导致策略引擎126向用户设备102重新发送解锁命令。

这些技术可以提供完全自动化的运营商解锁,其使得为用户设备的用户提高了便利性。用户设备可以在较短的时间内解锁,例如在短至几秒钟之内,而不是等待客户服务代表用长至几天的时间履行运营商解锁请求。自动运营商解锁还可以把客户服务代表从必须对多个数据库执行单独检查以确定运营商解锁资格中解放出来。此外,这些技术不依赖于使用由用户设备全线共享的通用解锁代码。因此,可以减少或消除由恶意第三方滥用此类解锁码而对用户设备执行非法解锁。此外,使用完整性保护通信来传输解锁请求和解锁命令实际上排除了恶意第三方冒用这些请求和命令。

结论

尽管已经以特定于结构特征和/或方法动作的语言描述了主题,但是应当理解,所附权利要求中定义的主题不必限于所描述的特定特征或动作。相反,具体特征和动作被公开作为实施权利要求的示例性形式。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1