安全推送消息的制作方法

文档序号:7942935阅读:209来源:国知局
专利名称:安全推送消息的制作方法
安全推送消息
背景技术
在无线通信中,装置可以根据无线应用协议(WAP)向无线装置(例如,蜂窝电 话、便携式数字助理等)推送单向的消息。根据WAP,推送消息涉及两个阶段。在第 一阶段中,如由WAP规范164(WAP-164)或WAP-247所规定的,装置根据推送访问协议 (PAP push access protocol)向推送代理网关发送消息。在第二阶段中,如由WAP-189 或WAP-235所规定的,推送代理网关可以根据推送空间传输(OTA over-the-air)协议来 向无线装置中继消息。

发明内容
根据一个方面,一种方法包括从管理员装置接收安全推送消息。该方法还包括 通过将管理员码、标识客户装置的客户装置标识符以及与用户预订的业务相关联的订户 信息结合来产生第一密钥。此外,该方法还包括对第一密钥进行散列(hash)处理以产生 第二密钥,使用该第二密钥对安全推送消息内部的数据块进行签名以产生电子签名,并 基于该电子签名来验证该安全推送消息。另外,该方法还包括从所述安全推送消息获取将设置在客户装置内部的参数。另外,所述获取所述参数的步骤包括从所述安全推送消息内部获取可扩展标记 语言数据。另外,该方法还包括将所述安全推送消息中包含的临时值(nonce)与存储在所 述客户装置中的临时值进行比较,以确定所述安全推送消息是否与回放式攻击(replay attack)相关联。另外,接收所述安全推送消息的步骤包括根据无线应用协议(WAP)接收所述安 全推送消息。另外,该方法还包括从所述管理员装置接收所述管理员码,并使得所述客户装 置能够接收安全推送消息,包括验证个人解锁码(PUK : personal unblocking code)或者在 成功验证了所述PUK时在所述客户装置中存储所述管理员码中的至少一种。另外,验证所述PUK的步骤包括将从所述管理员装置接收的所述PUK与从所述 客户装置的可移动存储器获取的PUK进行比较。另外,该方法还包括根据包含在所述安全推送消息中的命令来执行任务。另外,该方法还包括向所述管理员装置发送回复,以指示成功执行了所述任 务。另外,验证所述安全推送消息的步骤包括将所述电子签名与包含在所述安全推 送消息中的电子签名进行比较。根据另一个方面,一种装置包括可移动存储器和处理器。该可移动存储器包括 订户信息。该处理器可被配置为从第一装置接收安全推送消息,并从所述可移动存储器 检索所述订户信息。此外,该处理器还可被配置为将与所述第一装置相关联的第一码的 散列值、客户装置标识符以及所述订户信息相结合以获取第一值。此外,该处理器可被配置为对所述第一数值进行散列处理以产生密钥,使用该密钥和所述安全推送消息的一 部分来产生电子签名,以及通过将所述电子签名与包含在所述安全推送消息中的电子签 名进行比较来验证所述安全推送消息。另外,该装置还包括蜂窝电话、个人计算机或者便携式数字助理。另外,所述可移动存储器包括订户信息模块(SIM subscriberinformation module)卡。另外,所述处理器还可被配置为在成功验证了所述安全推送消息时向所述管理 员装置发送回复。另外,所述回复可包括包含在所述安全推送消息中的所述临时值。另外,所述客户装置标识符可包括国际移动设备身份码(IMEI: International Mobile Equipment Identity)。另外,所述订户信息可包括电话号码、个人解锁码(PUK)或者国际移动设备身 份码(IMSI)中的至少一种。另外,所述处理器可被进一步配置为将所述安全推送消息中的临时值与存储在 所述装置中的临时值进行比较,以确定所述安全推送消息是否与攻击相关联。另外,所述安全推送消息可包括数据、通过对所述安全推送消息的一部分进行 签名而产生的电子签名、随机数、时间戳或者用来指示包含在所述安全推送消息中的数 据格式的数据类型值中的至少一种。根据另一个方面,一种装置包括用来对命令进行格式化的单元以及用来将所述 管理员码、与客户装置相关联的客户装置标识符以及与用户预订的业务相关联的订户信 息相结合以产生第一密钥的单元。此外,该装置可包括用来使用所述第一密钥和所述命 令来产生电子签名的单元、用来将所述电子签名和所述经格式化的命令相结合以产生安 全推送消息的单元,以及用来向所述客户装置发送所述安全推送消息的单元。


附图被结合到本说明书中且构成本说明书的一部分,附图例示了本文所述的一 种或更多种实施方式,并与说明书一起用于解释本发明。在附图中图1是其中可以实施本文所述的概念的示例性网络的图;图2A和图2B是图1的示例性装置的前视图和后视图;图3是示例性装置的框图;图4是图1的示例性客户装置的功能框图;图5是图1的示例性管理员装置的功能框图;图6是图1的示例性数据库装置的功能框图;图7是图6的示例性数据库的框图;图8是示例性推送消息的框图;图9是获取并存储用来产生电子签名的信息的示例性处理的流程图;图10示出了图9的示例性处理的示例;图11是使得客户装置能够接收推送消息的示例性处理的流程图;图12示出图11的示例性处理的示例;
5
图13是发送推送消息的示例性处理的流程图;图14是接收推送消息的示例性处理的流程图;以及图15描述了示出图9、图11、图13和图14中的示例性处理的场景。
具体实施例方式以下参照附图来进行详细说明。不同附图中相同的附图标记用来表示相同的或 类似的元件。在本文使用时,术语“推送消息”是指从为了发送该消息而在装置与一 个或者更多个其它装置之间发起通信的所述装置发送的消息。此外,以下将说明的术语
“管理员码”以及“管理员码的散列值”在适当的情况下可以交换使用。例如,发送管 理员码的装置也可以发送该管理员码的散列值。概述下文中,发送器可以向客户装置发送安全推送消息。为了客户装置的安全,该 安全推送消息承载了用来在客户装置处确认(例如,验证)该安全推送消息的电子签名。在发送安全推送消息之前,发送器通过利用密钥对消息进行签名来产生电子签 名。该消息包括安全推送消息的实质部分(例如,有效载荷)。该密钥包括由客户装置 用来验证安全推送消息的码。针对客户装置,利用该码来验证安全推送消息可以以多种方式保护客户装置。 例如,利用该码,客户装置可以验证发送器。在另一种示例中,利用该码可以检验安 全推送消息的期望接收者是该客户装置,并且检验该客户装置包括正确的组件。例如, 利用该代码可以检验所述安全推送消息用于包含了特定的用户身份识别模块(SIM: Subscriber IdentityModule)卡的装置。以上,针对客户装置,利用安全推送消息的电子签名中的码可以以多种方式验 证安全推送消息。通过这种方式,安全推送消息可以提供高级别的安全性。安全推送消 息的格式可以很简单灵活,并且可以被很方便地修改以兼容接收/发送安全推送消息的 不同类型的应用/装置。示例性网络和装置图1示出了本文说明的概念。如图所示,网络100包括客户装置102、管理员装 置104、网关106和数据库装置108。根据具体实现,相比图1所示的这些,网络100可 包括附加的、更少的或者不同的装置。例如,网络100可以包括多个客户装置102。装置102可包括能够或者适于与其它装置通信或交互的如下装置,例如,具有 超宽带或者蓝牙通信功能的无线电话或移动电话;将蜂窝无线电话与数据处理、传真和 /或数据通信功能相结合的个人通信系统(PCS personal communications system)终端; 与无线外围设备(例如,无线键盘、扬声器等)通信的电子记事本、便携式计算机和/或 个人计算机;包括电话的个人数字助理(PDA);全球定位系统装置和/或其它类型的定 位装置;游戏装置或控制台;外围设备(例如,无线双耳式耳机);数字照相机;或者 其它类型的计算或通信装置。管理员装置104包括用来管理和/或控制客户装置102的任意装置。管理员装 置104的示例包括服务器、个人计算机、便携式计算机和/或具有足够管理/控制一个或 更多个客户装置102的存储器、处理速度和/或带宽的任何其它类型的装置。
网关106可以包括这样的装置,客户装置102可经由该装置与网络100中的装置 进行通信。在一种实现中,如由无线应用协议(WAP)规范164(WAP_164)或WAP-247 所规定的,网关106可以根据推送访问协议从管理员装置104接收推送消息。此外,如由 WAP规范189 (WAP-189)或WAP-235所规定的,网关106可以根据推送空间传输(OTA over-the-air)协议来向客户装置102发送来自管理员装置104的推送消息。数据库装置108可包括有关于客户装置102的信息的数据库。在一些实现中, 该数据库可包含在管理员装置104中,并且在这样的情况中,网络100可不包括独立的数 据库装置108。以上,管理员装置104可经由电缆110来配置客户装置102。另选地,管理员装 置104可经由无线通信来配置客户装置102。在该配置期间,管理员装置104可以获取 专用于客户装置102的信息,在数据库装置108的数据库中存储该信息,并且在客户装置 102中存储管理员码。一旦配置了客户装置102,则管理员装置104可以从数据库装置108检索与客户 装置102相关的信息,通过基于该信息对消息进行签名来产生电子签名,并且将该消息 与该电子签名相结合来产生安全推送消息。随后,管理员装置104可以向客户装置102 发送该安全推送消息。当客户装置102接收到该安全推送消息时,客户装置102可以基于该电子签名来 验证该安全推送消息。如果客户装置102能够验证该安全推送消息,则客户装置102向 管理员装置104发送响应,以指示客户装置102已经成功地接收和/或验证了该安全推送 消息。根据该实现,客户装置102可以根据该安全推送消息的内容来执行特定任务。 例如,客户装置102可以设置与客户装置102中的应用相关的参数,更新固件,重新设置 与预订业务相关联的参数,设置安全参数等。图2A和图2B分别是客户装置102的前视图和后视图。在此实现中,客户装置 102可以采用便携式电话(例如,蜂窝电话)的形式。如图2A和图2B所示,装置102 包括扬声器202、显示器204、控制按钮206、键盘208、麦克风210、传感器212、棱镜 组件214、外壳216和可移动存储器218 (例如,SIM卡)。扬声器202可向客户装置102 的用户提供听觉信息。显示器204可向用户提供视觉信息,诸如呼叫方的图像、视频图 像或者图片。控制按钮206允许用户与客户装置102交互,使得客户装置102执行诸如 发起或接收电话呼叫的一种或者更多种操作。键盘208包括标准电话键盘。麦克风210 可以从用户接收听觉信息。传感器212可以收集用来帮助用户采集图像的信息(例如, 声学的、红外的信息等),并向客户装置102提供该信息。棱镜组件214可包括对来自给 定或选定的范围的光线进行处理的装置,使得以期望的方式来采集该范围内的图像。外 壳216可以为客户装置102的部件提供外罩,从而保护这些部件不受外部元素影响。可移动存储器218可以存储与用户(例如,业务订户)相关联的信息。可移动 存储器218中的信息(例如,国际移动用户识别(IMSI:)码、电话号码、个人解锁码 (PUK)等)可以用来识别用户和/或该用户预订的业务。在一种实现中,用户可以通过 将可移动存储器218从客户装置102传送到其它装置来在不改变预订的情况下使客户装置 102与其它装置进行交换。
7
图3是装置300的框图,该装置300可对应于客户装置102、管理员装置104、 网关106或者数据库装置108。如图所示,装置300可包括处理器302、存储器304、输 入/输出组件306、网络接口 308和通信通路310。在不同的实现中,相比图3所示,装 置300可包括附加的、更少的或者不同的组件。例如,装置300可包括附加的网络接口, 诸如用来接收和发送分组的接口。处理器302可包括处理器、微处理器、应用专用集成电路(ASIC Application Specific Integrated Circuit)、现场可编程门阵列(FPGA FieldProgrammable GateArray)和
/或能够控制装置300的其它处理逻辑。存储器304可包括静态存储器(例如只读存储器 (ROM))和/或动态存储器(例如,随机存取存储器(RAM)或机载缓存),用来存储数 据和机器可读的指令。存储器304还可包括存储装置,例如,软盘、CD ROM、CDa/ 写(R/W)盘和/或闪存,以及其它类型的存储装置。输入/输出组件306可包括显示屏幕、键盘、鼠标、扬声器、麦克风、数字化视 频光盘(DVD)写入器、DVD读取器、通用串行总线(USB)以及/或者将物理事件或现 象转换为与装置300相关的数字信号和/或将与装置300相关的数字信号转换为物理事件 或现象的其它类型的组件。网络接口 308可包括使得装置300能够与其它装置和/或系统进行通信的任何收 发机式的装置。例如,网络接口 308可包括用来经由网络(例如,互联网、地面无线网 (例如,WLAN)、基于卫星的网络、WPAN等)进行通信的装置。另外地或者另选地, 网络接口 308可包括调制解调器、到LAN的以太网接口和/或用来将装置300连接到其 它装置的接口 /连接(例如,蓝牙接口)。通信通路310可以提供接口,装置300的组件可以通过该接口相互进行通信。图4是客户装置102的功能框图。如图所示,客户装置102可包括WAP逻辑402 和安全推送消息客户端404。尽管图4中没有示出,但是客户装置102可包括附加的功 能性组件,例如,图3所示的组件、操作系统(例如,Symbian OS、PalmOS、Windows Mobile OS、Blackberry OS等)、应用程序(例如,即时通讯工具客户端、电子邮件客户 端等)、用于除WAP之外的无线或有线通信协议的逻辑等。WAP逻辑402可以根据WAP来对通过无线通信链路发送或接收的消息进行处 理。例如,当客户装置102和网关106以无线方式通信时,客户装置102和网关106可 以根据WAP-164或WAP-247来交换消息。安全推送消息客户端404可以对从管理员装置104接收的安全推送消息进行验 证。当安全推送消息客户端404验证安全推送消息时,安全推送消息客户端404执行与 该安全推送消息相关的一组任务(例如,在客户装置102中设置安全参数)并向管理员装 置106发送响应,以指示客户装置102已经验证了该安全推送消息。在一些实现中,安全推送消息客户端404可以提供应用程序/用户接口,以接 收、存储和/或检索与处理安全推送消息相关的信息。例如,当管理员装置104请求客 户装置102提供客户装置标识符(例如,国际移动设备身份码(IMEI))时,安全推送消息 客户端404可以向管理员装置104提供该客户装置标识符。在另一种示例中,安全推送 消息客户端404可以在客户装置102内的安全位置中存储由管理员装置104发送的代码。图5是管理员装置104的功能框图。如图所示,管理员装置104可包括WAP逻辑502和安全推送消息服务器504。尽管图5中没有示出,但是,管理员装置104可包括 附加的功能性组件,例如,图3所示的组件、操作系统(例如,Windows、Linux、Mac OSTM等)、应用程序(例如,电子邮件服务器、文件传输协议(FTP)服务器等)、数据 库、用于除WAP之外的无线或有线通信协议的逻辑等。WAP逻辑502可以根据WAP来对通过无线通信链路发送或接收的消息进行处 理。例如,当管理员装置104和网关106通过有线网络通信时,管理员装置104和网关 106可以根据WAP-189或WAP-235来交换消息。安全推送消息服务器504可以经由无线网络或网关106来向客户装置102发送安 全推送消息。给定来自应用程序、用户或管理员的消息或有效载荷,安全推送消息服务 器504可以产生密钥、电子签名和安全推送消息。安全推送消息服务器504可以基于从客户装置102、客户装置102中的组件(例 如,可移动存储器218)和管理员处获取的码(例如,IMEI)产生该密钥。根据该实现, 附加的码或信息可以用来产生该密钥。一旦产生了密钥,安全推送消息服务器504可以 基于该密钥和消息来产生电子签名。拥有该电子签名和密钥,安全推送消息服务器504可以产生该安全推送消息, 并向客户装置102发送该安全推送消息。在一种实现中,安全推送消息服务器504可以通 过将该电子签名附加到该消息和/或其它信息(例如,时间戳)来产生该安全推送消息。除了产生并向客户装置102发送安全推送消息之外,安全推送消息服务器504还 可以获取并存储产生该密钥所需要的信息。在一种实现中,在配置客户装置102时,安 全推送消息服务器504可以从客户装置102获取客户装置标识符,从还没有安装在客户装 置102中的可移动存储器218获取订户信息,并从管理员获取管理员码。此外,安全推 送消息服务器504可以在数据库中存储客户装置标识符、该信息以及该管理员码。图6是数据库装置108的功能框图。如图所示,数据库装置108可包括数据库 602,该数据库602存储用于产生密钥的信息,并且,该密钥用于产生电子签名。在不同 的实现中,数据库602可包含在管理员装置104中。此外,尽管图6中没有示出,但是, 数据库装置108可包括附加的功能性组件,例如,图3所示的组件、操作系统(例如, Windows、Linux等)、应用程序等。数据库602可以包括与生成电子签名相关联的信息。当管理员装置104获取用 于生成电子签名或密钥的信息和/或码时,管理员装置104可以在数据库602中存储该信 息/码。另外,管理员装置104也可以从数据库602检索该信息/代码,例如,以产生 安全推送消息或向客户装置102发送码。图7是数据库602的框图。如图7所示,数据库602可包括记录702-1至 702-M(下文统称为记录702并分称为记录702-x)。如图所示,各个记录702_x可包括 客户装置标识符字段704、订户信息字段706和管理员码字段708。根据该实现,相比图 7所示,记录702-x可包括附加的、更少的或者不同的字段。客户装置标识符字段704可包括与客户装置相关联的标识符(例如,IMEI)。订 户信息字段706可包括订户信息,诸如IMSI码、电话号码、PUK等。在一种实现中, 管理员装置104可以从客户装置102的组件(例如,SIM卡)获取订户信息,并在记录 702-x中存储该订户信息。管理员码字段708可包括由管理员提供的码或者该管理员码的散列值。当管理员出于安全目的改变该代码时,可以更新管理员码字段708以反映该变 化。图8是示例性安全推送消息802的框图。如图所示,安全推送消息802可包括 数据块804和签名块806。数据块804可包括与内容相关的字段。签名块806可包括用 于数据块804的电子签名的字段。如图所示,数据块804可包括版本字段808、保护机制(PM protectionmechanism)字段810、临时值长度字段812、临时值字段814、时间字段816、 数据类型字段818、数据长度字段820和数据字段822。签名块806可包括签名长度字段 824和签名字段826。版本字段808可包括与安全推送消息802的具体格式相关联的版本号(例如,版 本1、版本2等)。PM字段810可以指示用来产生签名、对数据进行加密或者执行产生 签名并且对数据进行加密的组合的具体方法。临时值长度字段812可以指示临时值字段 814的长度。临时值字段814可以包括临时值(例如,随机数)。时间字段816可包括 在管理员装置104处生成安全推送消息802的时间。数据类型字段818可以指示数据字段822中的数据的格式,下文进行解释。例 如,在一种实现中,如果数据类型字段818包括XML DATA TYPE,则数据字段822可能 承载可扩展标记语言(XML)数据。在这种情况下,XML数据可以被规范化(例如,将 XML表示标准化),使得对XML数据进行签名所得到的电子签名是唯一的。可以利用如下表达式来总结数据类型字段818和数据字段822之间的关系如果(DATA_TYPE= “ XML_DATA_TYPE ” )
DATA = C14N (XML_Data)否则DATA = RAW_Data (1).在表达式(1)中,DATA_TYPE表示数据类型字段818的内容,DATA表示数据 字段822的内容,C14N(XML_Data)表示XML_Data(例如,XML格式的数据)的规范 化(例如,归一化)。RAW_Data表示其它类型的数据,诸如,二进制数据、文本数据、 超文本标记语言(HTML: hypertextmarkup language)数据等。数据长度字段820可包括数据字段822的长度。数据字段822可包括内容(例 如,有效载荷)。签名长度字段824可指示签名字段826的长度。签名字段824可包括数据块804 的电子签名。在一种实现中,签名字段826可包括由如下表达式提供的值SIG = S (DATA_BLOCK,KEY)(2).在表达式(2)中,SIG表示签名字段826的内容,DATA_BLOCK表示数据块804 的内容,KEY表示基于记录702-x中的信息构造的密钥,而S (DATA_BLOCK,KEY)表 示基于KEY来对DATA_BLOCK进行签名。在一种实现中,可以通过附加IMSI、IMEI和管理员码来产生初始密钥然后对初 始密钥进行散列处理来产生表达式(2)中的KEY。在这种情况中,KEY、IMSI、IMEI 和管理员码之间的关系可以提供如下KEY = H (IMSI Il IMEI Il ADMIN_CODE)(3).
在表达式(3)中,KEY是表达式(2)中的KEY,ADMIN_CODE可以表示管理 员码字段708的内容。IMSI Il IMEI Il ADMIN_CODE可以表示通过根据具体数学运算将 IMSK IMEI和ADMIN_CODE相结合所形成的初始密钥。例如,在一种实现中,可以 通过连接 IMSI、IMEI 和 ADMIN_CODE 来形成该初始密钥。H (IMSI Il IMEI Il ADMIN_ CODE)表示 IMSI Il IMEI Il ADMIN_CODE 的散列值。尽管图8示出了按照特定序列设置的字段808-826,但是,在其它实现中,可以 按照不同的次序来设置字段808-826。此外,取决于实现,相比图8所示,安全推送消息 802可包括更少的、附加的或者不同的字段。对装置进行配置以发送/接收安全推送消息的示例性处理图9是示例性处理902的流程图,该示例性处理902获取用来产生安全推送消息 的电子签名的信息,并在数据库中存储该信息,图10示出了与处理902相关联的示例。 假设管理员物理上拥有客户装置102和组件和/或与客户装置102和组件相接触。包括 订户信息的组件(例如,SIM卡1002)可以安装或者不安装在客户装置102中。处理902可以从块904开始,在块904处,获取来自客户装置102的组件的订户 信息(块904)。图10示出了获取订户信息。如图10所示,管理员装置104可以从SIM 卡1002获取订户信息(例如,PUK、IMSI、电话号码等)。在一种实现中,管理员装置 104可以经由用户接口从管理员接收该订户信息。可以获取客户装置标识符(块906)。如图10所示,管理员装置104可以从客户 装置102获取IMEI。可以获取管理员码(块908)。例如,安全推送消息服务器504可以经由用户接 口从管理员接收该管理员码。在其它实现中,安全推送消息服务器504可以自动产生管 理员码。订户信息、客户装置标识符和管理员码可以存储在数据库中(块910)。例如, 如图10所示,管理员装置104可以在安放在数据库装置108中的数据库602中存储订户 信息(例如,IMSI、PUK、电话号码等)、IMEI和管理员码。在其它实现中,管理员装 置104可以在安放在管理员装置104中的数据库中存储订户信息、IMEI和管理员码。图11是使得客户装置能够接收推送消息的示例性处理1102的流程图,而图12 示出了与处理1102相关的示例。假设在处理902中从其获取预订信息的组件是安装在客 户装置102中(例如,SIM卡1002安装在客户装置102中)。客户装置102和管理员装 置104可经由无线或有线通信链路相互进行通信。处理1102从块1104开始,在块1104处,客户装置标识符和订户信息的一部分 可用来检索管理员码和订户信息的其它部分(块1104)。例如,如图12所示,管理员装 置104可以发送包括订户信息的所述一部分(例如,电话号码)和客户装置标识符(例 如,IMEI)、IMSI等的数据库查询。如进一步所示的,管理员装置104可以响应于该查 询从数据库装置108接收该订户信息的其它部分(例如,PUK)和该管理员码。该订户信息的所检索出的部分和该管理员码可被发送到客户装置102(块 1106)。如图12所示,管理员装置104可以向客户装置102发送PUK和管理员码。管理员码可存储在客户装置102中(块1108)。在一些实现中,当客户装置102 接收该订户信息的所检索出的部分(例如,PUK)时,客户装置102可以将所接收到部分与在所安装的组件(例如,安装在客户装置102中的SIM卡1002)内部获得的该订户信息 的部分进行比较。如果所接收的部分与从所安装的组件获取的部分相匹配,则客户装置 102在客户装置102内部的安全存储位置存储该管理员码。在一种实现中,订户不能访问 该存储位置。由于订户也不能访问该存储位置处的管理员码,所以,除非用户关闭客户 装置102,否则,订户不能修改该管理员码,以防止客户装置102根据在客户装置102处 接收的安全推送消息来执行任务。在处理902和1102中,仅客户装置102、管理员装置104和/或数据库装置108 可以访问客户装置标识符、订户信息和管理员码。此外,管理员可以在方便的时候(例 如,当能够经由无线通信链路到达客户装置102时)根据处理1102来改变(替换)客户 装置102中的管理员码。发送推送消息的示例性处理图13是发送推送消息的示例性处理1302的流程图。假设管理员装置104经由无 线或有线通信链路与客户装置102进行通信。处理1302从块1304开始,在块1304处, 可以对消息(例如,针对客户装置102的命令)进行格式化。在一些实现中,安全推送消息服务器504可以根据预设的格式化方案或者由管 理员选择的格式化方案来对消息进行格式化。例如,基于安全推送消息服务器504和/ 或安全推送消息客户端404的具体实现细节,可以根据HTML或者XML语法来对消息进 行格式化。如果根据XML语法来对消息进行格式化,则可以将经格式化的消息规范化(例 如,归一化)。通过将经格式化的数据规范化,安全推送消息服务器504可以确保该消息 被唯一地表示,并且针对该经格式化的数据生成了唯一的电子签名。在一种实现中,可以如下表示XML格式化的消息的规范化形式<command><name/><data/></command> (4).在表达式(4)中,<name/>*<data/>可以提供名称-数值对。例如,假设XML 格式的消息包括进入电子邮件服务器的域名(其为“pop3.talktome.com”)。则该XML 格式的消息可采用如下形式〈command〉<name>设置进入电子邮件服务器的域名</name><data>pop3.talktome.com</data>〈/command〉(5)当安全推送消息客户端404接收到有效的、包括表达式(5)的安全推送消息时, 安全推送消息404可以将客户装置102内部的进入电子邮件服务器的域名的名称设置为 pop3.talktome.com。一般地说,XML格式的消息包括一个或者更多个<name/>*<data/>对。此 外,安全推送消息客户端404响应于<name/>和<data/>对的接收所采取的动作可能取决 于与安全推送消息客户端404和安全推送消息服务器504相关的实现细节。
在一些情况中,管理员装置104可以不对消息进行格式化,因此,避免了与数 据格式化相关的存储器密集或处理密集的操作。在这样的情况下,数据类型字段818可 被设置为RAW_Data,如表达式(1)所示。可以获取时间(块1306)。例如,安全推送消息服务器504可以额从管理员装置 104的操作系统请求当前时间。假设时间是“1208439990”。数值“1208439990”表 示自1970年1月1日午夜的格林尼治时间(UTC Coordinated Universal Time)以来的秒 数。在此情况中,1970年1月1日之后的1208439990秒等同于2008年4月17日下午 1:46:30。可以获取临时值(块1308)。例如,安全推送消息服务器504可以通过调用伪随 机数生成器来获取临时值。可以生成数据块804(块1310)。例如,安全推送消息服务器504可以通过获取 版本字段808、PM字段810、临时值长度字段812、临时值字段814、时间字段816、数 据类型字段818、数据长度字段820和数据字段822的值,并将这些值相结合来生成数据 块 804。可以在安全推送消息服务器504内部预设版本号字段808和PM字段810的值。 可以预先确定临时值长度字段812的值(例如,20字节),或者另选地,可以通过对表示 在块1308处获取的临时值所需要的字节数进行计数来获取临时值长度字段812的值。时 间字段816可以承载在块1306处获取的日期。可以根据用来在块1304处对消息进行格式化的具体格式化方案来获取数据类型 字段818。例如,如果将该消息格式化为XML消息,则数据类型字段818可包括XML_ DATA_TYPE。数据长度820可包括数据字段822中的字节数。数据字段822可包括经 格式化的数据。可以生成密钥(块1312)。在一种实现中,管理员装置104中的安全推送消息服 务器504可以使用客户装置标识符和/或订户信息的一部分(例如,电话号码)来执行该 订户信息的其它部分(例如,IMSI、PUK等)以及管理员码的数据库查找。当安全推送消息服务器504从数据库接收到订户信息的其它部分、客户装置标 识符以及管理员码时,安全推送消息服务器504可以生成密钥。在一种实现中,安全推 送消息服务器504可以基于表达式(3)通过将IMSI、IMEI和管理员码相结合并对结合的 结果进行散列处理来生成该密钥。可以生成签名(块1314)。例如,安全推送消息服务器504可以根据表达式(2) 通过利用在块1312处生成的密钥对数据块804进行签名来根据表达式(2)生成该签名。可以生成安全推送消息(块1316)。在一种实现中,安全推送消息服务器504可 以获取签名字段826的长度(即,来自字段824的值),并将在块1314处生成的签名附加 到该长度以获取签名块806。此外,安全推送消息服务器504可以将签名块806附加到在 块1310处生成的数据块804,以生成安全推送消息。可以发送安全推送消息(块1318)。在一些实现中,安全推送消息504可以根据 具体通信协议来发送安全推送消息。在发送该安全推送消息时,安全推送消息的数据块 804的数据字段822中的初始消息(例如,表达式(5))可能不需要验证,因为签名块806 中的有效电子签名可以确保整个安全推送消息的完整性。
接收推送消息的示例性处理图14是发送安全推送消息的示例性处理1402的流程图。假设管理员已经根据 处理902配置了客户装置102,并且管理员装置104已经生成安全推送消息并向客户装置 102发送了该安全推送消息。在一种实现中,可以根据WAP来发送该安全推送消息。处理1402从块1404开始,在块1404中,可以接收安全推送消息(块1404)。 例如,客户装置102可以接收在块1318处从管理员装置104发送的安全推送消息。可以从客户装置102内获取构造密钥的信息(块1406)。在一种实现中,安全 推送消息客户端404可以检索已经在块1108处存储在客户装置102中(图11)的管理员 码、客户装置102的IMEI(例如,客户装置标识符)和来自客户装置102内部的组件(例 如,SIM卡218或1002)的订户信息。可以构造密钥(块1408)。在一些实现中,安全推送消息客户端404可以通过将 管理员码、订户信息和客户标识符相结合来构造密钥。在一种实现中,安全推送消息客 户端404可以根据表达式(3)来构造密钥。可以确定安全推送消息是否有效(块1410)。例如,为了验证安全推送消息,安 全推送消息客户端404可以从在块1404处接收的安全推送消息中获取数据块804和签名 块806,基于在块1408处构造的密钥来对所获取的数据块804进行签名,并且将签名块 804中的签名字段826的值与经签名的数据块804进行比较。如果经签名数据块804等于 签名字段826的值,则安全推送消息客户端404可以确定该安全推送消息有效。否则, 安全推送消息客户端404可以确定该安全推送消息无效。如前所述,由于基于仅通过与客户装置102的物理接触而获取的信息(例如,管 理员码、IMSI、IMEI等)来构造密钥,验证该安全推送消息可以指示发送者的真实性。在块1410处,如果将安全推送消息确定为有效消息,则处理1402进行到块 1412。否则,处理1402终止。可以获取安全推送消息的数据块804中的字段808-822的值(块1412)。在一 种实现中,安全推送消息客户端404可以从该安全推送消息的数据块804获取版本字段 808、PM字段810、临时值长度字段812、临时值字段814、时间字段816、数据类型字 段818、数据长度字段820和数据字段822各自的值。可以确定临时值字段814和时间字段816的值是否有效(块1414)。例如,安全 推送消息客户端404可以将临时值字段814中的临时值和时间字段816中的时间戳与客户 装置102中存储的先前的临时值字段值/时间字段值进行比较。如果该临时值和时间戳 与先前的临时值字段/时间字段值中的任何一个相匹配,则可以确定该临时值和时间戳 无效。也就是说,相同的临时值和/或时间戳表明该消息是复制的消息。通过检查该临 时值和时间戳,安全推送消息客户端404可以保护客户装置102不受回放攻击或其它类型 的攻击的影响。如果临时值字段814和/或时间字段816的值有效,则处理1402进行到块1416。 否则,处理1402终止。在块1416中,可以在客户装置102中存储临时字段814和时间字段816的值(块 1416)。安全推送消息客户端404稍后可使用所存储的值来在客户装置102接收安全推送 消息时确定临时值/时间戳的有效性。
可以根据安全推送消息来执行任务(块1418)。在一种实现中,安全推送消息客 户端404可基于数据字段822的值来执行具体任务。例如,假设数据类型字段818的值 是XML_DATA_TYPE,并从上述表达式(5)获取数据字段822的值。基于<name/>和 <data/>标签内的值“设置进入邮件服务器的域名”和“pop3.talktome.com”,安全推送 消息客户端404可以将进入邮件服务器的域名设置为pop3.talktome.com。在一些情况中,数据字段822中的数据可包括原始数据。在这样的情况下,安 全推送消息客户端404可以避免与对经格式化的数据进行扫描相关的存储器密集或者处 理密集的操作。可以发送回复(块1420)。在一种示例中,安全推送消息客户端404可以向管理 员装置104发送临时值字段814的值和状态码(例如,指示是否成功完成了任务、安全推 送消息是否有效等的代码)。示例参照图15,如下示例示出上述处理902、1102、1302和1402。在该示例中,假 设Bill配置了便携式计算机1504 (管理员装置104)、配置了 John的蜂窝电话1502 (客户 装置102),并通过全球移动通信系统(GSM)/通用移动通信系统(UMTS)从便携式计算 机1504向蜂窝电话1502发送了安全推送消息。蜂窝电话1502接收安全推送消息并执行 任务。在该示例中,还假设初始时Bill拥有蜂窝电话1502、用于蜂窝电话1502的SIM 卡以及便携式计算机1504,并选择“Johnphone”作为管理员码。假设在蜂窝电话1502
中没有安装SIM卡。Bill经由SIM卡读取器从SIM卡获取IMSI、PUK和电话号码(订户信息),并 从蜂窝电话1502获取IMEI (客户装置标识符)。Bill在数据库装置1508中存储IMSI、 PUK> 电话号码、IMEI 禾Π “Johnphone”。Bill在John的电话中安装SIM卡并将John的蜂窝电话1502返还给John。稍
后,在认识到忘了在蜂窝电话1502中存储管理员码时,Bill经由有线通信链路向蜂窝电 话1502发送PUK和管理员码。蜂窝电话1502通过验证PUK来核实该管理员码来自Bill, 并在蜂窝电话1502内的安全存储位置(例如,John不能访问的存储器位置)中存储管理员码。假设经过了几星期,John呼叫Bill,解释John丢失了蜂窝电话1502并关闭了蜂 窝电话1502的个人识别码(PIN)保护特性。在本文所使用时,术语“PIN保护特性” 可以指蜂窝电话的安全特性,当开始该特性时,可在蜂窝电话可以与SIM卡一起使用之 前要求用户输入该PIN。因为关闭了蜂窝电话1502上的PIN保护特性,所以,任何发现 蜂窝电话1502的人都可以访问John在SIM卡中的预订信息。Bill决定尝试开启John的蜂窝电话1502中的PIN保护。在便携式计算机1504 中,Bill经由用户界面输入将发送到蜂窝电话1502的具体命令(例如,“开启PIN保 护”)。便携式计算机1504按照规范的XML语法将该命令格式化。如图15所示,便携式计算机1504接触数据库装置1508,发送与该SIM相关的 电话号码以及蜂窝电话1502的IMEI。便携式笔记本1504从数据库装置1508接收IMSI 和管理员码。
当便携式计算机1504从数据库装置1508接收到订户信息时,便携式计算机1504 生成数据块804,生成密钥,并使用该密钥来生成签名块806。此外,便携式计算机1504 将数据块804和签名块806相结合,以产生安全推送消息。随后,如图15所示,便携式 计算机1504经由GSM/UMTS 1506向蜂窝电话1502发送该安全推送消息。如图15进一步所示,蜂窝电话1502从便携式计算机1504接收安全推送消息。 蜂窝电话1502中的安全推送消息客户端404构造密钥,并验证该安全推送消息。此外, 安全推送消息客户端404验证该安全推送消息中的临时值字段814/时间字段816的值, 并在客户装置102中存储所述值。安全推送消息客户端404对数据字段822中的XML格式的命令进行扫描,并开 启蜂窝电话1502中的PIN保护特性,以防止对于蜂窝电话1502内的SIM卡中的信息的 未经授权的访问。结论以上描述提供了对实施方式的说明,但并不是穷举性的也不是为了将实施限制 为所公开的具体形式。根据上述教导可以得到修改和变型,或者可以从对本教导的实践 来获得修改和变型。如上所述,尽管已经参照图9、图11、图13和图14所示的示例性处理说明了一 系列块,但是,在其它实现中可以修改这些块的顺序。此外,独立块可以表示并行于其 它块执行的动作。很明显,可以在附图所示的实施中以很多不同的软件、固件和硬件形式来实现 本文所述的方面。用来实现这些方面的实际软件代码或专用控制硬件并不限制本发明。 因此,在不参照具体软件代码的情况下说明了这些方面的操作和行为,可理解,可以基 于本文的说明来设计软件和控制硬件以实现这些方面。应当强调,当在本说明书中使用时,术语“包括/包含”指的是存在所述的特 征、要件、步骤、操作或组件,但并不排除存在或添加一个或更多个其它特征、要件、 步骤、单元、组件和/或它们的组合。此外,这些实现的一些部分被描述为执行一种或者更多种功能的“逻辑”。该 逻辑包括硬件(诸如处理器、微处理器、应用专用集成电路或者现场可编程门阵列)、软 件或者硬件和软件的组合。尽管已经在权利要求中叙述和/或在说明书中公开了特征的具体组合,但是, 这些组合不是为了限制本发明。实际上,可以按照没有在权利要求中具体叙述和/或没 有在说明书中具体公开的方式来组合很多这些特征。除非明确指出,否则,本申请使用的元件、动作或指令都不应当被理解为对于 本文说述的实施方式是关键的或实质性的。并且,如本文所使用,冠词“一”旨在包括 一个或者更多个项。当是指一个项时,使用术语“一个”或者类似语言。此外,除非 明确指出,否则,短语“基于(based ση)”旨在表示“至少部分基于”。
权利要求
1.一种方法,所述方法包括 从管理员装置接收安全推送消息;通过将管理员码、标识客户装置的客户装置标识符以及与用户预订的业务相关联的 订户信息相结合来产生第一密钥;对所述第一密钥进行散列处理以产生第二密钥;使用所述第二密钥对所述安全推送消息内部的数据块进行签名以产生电子签名;以及基于所述电子签名来验证所述安全推送消息。
2.根据权利要求1所述的方法,所述方法还包括从所述安全推送消息中获取将在所述客户装置内部设置的参数。
3.根据权利要求2所述的方法,其中,获取所述参数包括 从所述安全推送消息内部获取可扩展标记语言数据。
4.根据权利要求1所述的方法,所述方法还包括将所述安全推送消息中包含的临时值与存储在所述客户装置中的临时值进行比较, 以确定所述安全推送消息是否与回放式攻击相关联。
5.根据权利要求1所述的方法,其中,接收所述安全推送消息包括 根据无线应用协议WAP接收所述安全推送消息。
6.根据权利要求1所述的方法,所述方法还包括 从所述管理员装置接收所述管理员码;以及使得所述客户装置能够接收安全推送消息,这包括如下步骤中的至少一个 验证个人解锁码PUK;或者在成功验证了所述个人解锁码PUK时在所述客户装置中存储所述管理员码。
7.根据权利要求6所述的方法,其中,验证所述个人解锁码PUK包括将从所述管理员装置接收的所述PUK与从所述客户装置的可移动存储器获取的PUK 进行比较。
8.根据权利要求1所述的方法,所述方法还包括 根据包含在所述安全推送消息中的命令来执行任务。
9.根据权利要求8所述的方法,其中,所述方法还包括 向所述管理员装置发送回复,以指示成功执行了所述任务。
10.根据权利要求1所述的方法,其中,验证所述安全推送消息包括 将所述电子签名与包含在所述安全推送消息中的电子签名进行比较。
11.一种装置,所述装置包括可移动存储器,其包括订户信息; 处理器,其被配置为 从第一装置接收安全推送消息; 从所述可移动存储器检索所述订户信息;将与所述第一装置相关联的第一码、客户装置标识符以及所述订户信息相结合以获 取第一值;对所述第一值进行散列处理以产生密钥;使用所述密钥和所述安全推送消息的一部分来产生电子签名;以及 通过将所述电子签名与包含在所述安全推送消息中的电子签名进行比较来验证所述 安全推送消息。
12.根据权利要求11所述的装置,其中,所述装置包括 蜂窝电话;个人计算机;或者 便携式数字助理。
13.根据权利要求11所述的装置,其中,所述可移动存储器包括 订户信息模块SIM卡。
14.根据权利要求11所述的装置,其中,所述处理器还被配置为 在成功验证了所述安全推送消息时向所述管理员装置发送回复。
15.根据权利要求14所述的装置,其中,所述回复包括 包含在所述安全推送消息中的临时值。
16.根据权利要求11所述的装置,其中,所述客户装置标识符包括 国际移动设备身份码IMEI。
17.根据权利要求11所述的装置,其中,所述订户信息包括如下信息中的至少一种电话号码;个人解锁码PUK ;或者国际移动设备身份码IMSI。
18.根据权利要求11所述的装置,其中,所述处理器还被配置为将所述安全推送消息中的临时值与存储在所述装置中的临时值进行比较,以确定所 述安全推送消息是否与攻击相关联。
19.根据权利要求11所述的装置,其中,所述安全推送消息包括如下信息中的至少一种数据;通过对所述安全推送消息的一部分进行签名而产生的电子签名; 随机数; 时间戳;或者用来指示包含在所述安全推送消息中的数据格式的数据类型值。
20.—种装置,所述装置包括 用来对命令进行格式化的单元;用来将管理员码、与客户装置相关联的客户装置标识符以及与用户预订的业务相关 联的订户信息相结合以产生第一密钥的单元;用来使用所述第一密钥和所述命令来产生电子签名的单元;用来将所述电子签名和所述经格式化的命令相结合以产生安全推送消息的单元;以及用来向所述客户装置发送所述安全推送消息的单元。
全文摘要
一种装置可以从管理员装置接收安全推送消息。此外,该装置可以通过将管理员码、标识客户装置的客户装置标识符以及与用户预订的业务相关联的订户信息结合来产生第一密钥。此外,该装置可以对第一密钥进行散列处理以产生第二密钥,并使用该第二密钥对安全推送消息内部的数据块进行签名以产生电子签名。此外,该装置可以基于该电子签名来验证该安全推送消息。
文档编号H04L29/06GK102017567SQ200880129018
公开日2011年4月13日 申请日期2008年11月10日 优先权日2008年5月12日
发明者米兰·莱克奇, 纳德·帕夫洛维奇 申请人:索尼爱立信移动通讯有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1