一种数据短信的传输方法、 系统及设备 【技术领域】
本发明涉及通信领域, 尤其涉及一种数据短信的传输方法、 系统及设备。背景技术 设置在终端内的用户识别模块 (Subscriber Identity Module, SIM) 是一种存储 用户数据、 鉴权数据和密钥的设备, 能够接受移动通信网络侧对所在终端的身份进行鉴别, 同时, 用户可以通过操作终端内的 SIM 卡完成与移动通信系统的连接和信息的交互。
SIM 卡可以通过空中接口与网络侧的设备进行数据短信的交互, 这里的数据短信 是指由二进制串组成, 具有一定编码格式的短信。SIM 卡中还可以安装多种应用客户端, 每 一种应用客户端对应一种应用业务, SIM 卡中的一个应用客户端可以与该应用客户端对应 在网络侧的业务平台进行数据短信的交互, 进而执行相应的应用业务。
下面以电子钱包应用业务为例, 说明包含 SIM 卡的终端与电子钱包业务平台进行 数据短信交互, 以执行对电子钱包进行充值的业务的过程, 如图 1 所示, 包括如下步骤 :
步骤 101 : 用户触发终端中的电子钱包应用客户端, 请求执行对该终端中的电子 钱包进行充值的业务。
步骤 102 : 终端内的电子钱包应用客户端生成业务请求报文, 其中 : 业务请求报文 的安全数据体中的数据是应用数据, 包括表示请求业务是充值业务的信息以及充值的数量 信息等。
步骤 103 : 终端中的电子钱包应用客户端对业务请求报文中的安全数据体进行加 密以及生成消息鉴别码 (Message Authentication Code, MAC), 其中, 采用的密钥为电子钱 包应用客户端与电子钱包业务平台之间协商的密钥。
MAC 的原理是利用公开函数和密钥产生一个固定长度的值作为认证标识, 用这个 认证标识鉴别消息的完整性。具体做法是使用一个密钥生成一个固定大小的小数据块, 即 MAC, 将其加入到消息中并传输, 接收方利用与发送方共享的密钥进行鉴别认证。
如图 2 所示, 为背景技术中 SIM 卡内保存的子密钥与空中下载 (Over-the-Air, OTA) 平台和各业务平台保存的根密钥的关系示意图。SIM 卡中的 SIM COS(SIM 卡中的智能 操作部件 ) 中保存了与 OTA 平台协商的卡片层传输子密钥, OTA 平台保存对应的根密钥 ; 如 果 SIM 卡中安装的应用客户端与对应的业务平台之间协商了应用层传输密钥, 则 SIM 卡中 还保存该应用客户端与对应的业务平台之间协商的应用层传输子密钥, 对应的业务平台保 存相应的根密钥。
步骤 104 : 终端将加密后的业务请求报文通过数据短信的形式发送给电子钱包业 务平台。
步骤 105 : 电子钱包业务平台利用与电子钱包应用客户端协商的密钥, 对数据短 信中的安全数据体进行解密和 MAC 校验, 在校验通过时, 处理用户请求的充值业务, 并生成 确认报文。
步骤 106 : 电子钱包业务平台对确认报文中安全数据体进行加密以及生成 MAC, 其
中, 采用的密钥为电子钱包应用客户端与电子钱包业务平台之间协商的密钥。
步骤 107 : 电子钱包业务平台将加密后的确认报文通过数据短信的形式发送给终 端。
步骤 108 : 终端将接收到的确认报文转发给电子钱包应用客户端, 由电子钱包应 用客户端进行 MAC 校验和解密后, 相应地更改终端内电子钱包账户内的余额。
通过以上步骤的描述, 表明了包含 SIM 卡的终端与网络侧的各种业务平台进行数 据短信交互的过程。 在上述方案中, 为了保证传输数据短信的安全性, 电子钱包应用客户端 和电子钱包业务平台预先协商应用层的安全密钥, 根据该应用层的安全密钥对数据短信的 安全数据体中的内容进行加密, 也就是说, 是由应用层来提供传输的数据短信的安全机制。
但是, 如图 3 所示, 安装在 SIM 卡中的应用程序客户端与对应的业务平台之间不一 定都协商了应用层的安全密钥, 如果图 3 中的应用客户端 3 与对应的业务平台之间没有预 设的密钥, 则应用客户端上行传输的数据短信和下行接收到来自对应业务平台的数据短信 只能以明文形式出现, 将会导致数据短信传输的安全性得不到保证。另外, 即使 SIM 卡中的 应用程序客户端能够利用应用层密钥对安全数据体进行加密, 但是由于数据短信中除安全 数据体外的其他部分 ( 如报文头和报文体中的安全数据头 ) 不加密且不校验 MAC, 因此, 其 他部分的数据的安全性将无法保障, 可能导致操作系统中的文件遭到恶意破坏。 发明内容 本发明实施例提供一种数据短信的传输方法、 系统及设备, 以解决 SIM 卡内的应 用客户端与对应的业务平台之间传输数据短信的安全性问题。
一种数据短信的传输方法, 所述方法包括 :
空中下载 OTA 平台接收应用业务客户端发送的利用 OTA 子密钥加密的业务数据短 信, 所述 OTA 子密钥是所述应用业务客户端所在的用户识别模块 SIM 与 OTA 平台之间协商 的密钥 ;
所述 OTA 平台利用 OTA 子密钥对接收到的业务数据短信进行解密, 并根据业务数 据短信中携带的应用业务标识, 将解密后的业务数据短信发送给所述应用业务标识对应的 应用业务平台, 指示所述应用业务平台执行所述业务数据短信请求的应用业务。
一种数据短信的传输方法, 所述方法包括 :
应用业务平台接收应用业务客户端发送的利用 OTA 子密钥加密的业务数据短信, 所述 OTA 子密钥是所述应用业务客户端所在的 SIM 与 OTA 平台之间协商的密钥 ;
所述应用业务平台从所述 OTA 平台获取所述 OTA 子密钥, 并利用获取的 OTA 子密 钥对接收到的业务数据短信进行解密 ;
所述业务数据短信用于指示所述应用业务平台执行请求的应用业务。
一种数据短信的传输系统, 所述系统包括 :
位于用户识别模块 SIM 内的应用业务客户端, 用于利用 OTA 子密钥对业务数据短 信进行加密, 并发送加密后的业务数据短信, 所述 OTA 子密钥是所述用户识别模块与 OTA 服 务器之间协商的密钥 ;
OTA 服务器, 用于接收应用业务客户端发送的业务数据短信, 并利用协商的 OTA 子 密钥对所述业务数据短信进行解密, 以及根据业务数据短信中携带的应用业务标识, 将解
密后的业务数据短信发送给所述应用业务标识对应的应用业务服务器 ;
应用业务服务器, 用于接收 OTA 服务器发送的所述业务数据短信, 并执行所述业 务数据短信请求的应用业务。
一种数据短信的传输系统, 所述系统包括 :
位于用户识别模块 SIM 内的应用业务客户端, 用于利用 OTA 子密钥对业务数据短 信进行加密, 并发送加密后的业务数据短信, 所述 OTA 子密钥是所述用户识别模块与 OTA 服 务器之间协商的密钥 ;
应用业务服务器, 用于接收应用业务客户端发送的业务数据短信, 并从所述 OTA 服务器获取所述 OTA 子密钥, 以及利用获取的 OTA 子密钥对接收到的业务数据短信进行解 密后, 执行所述业务数据短信请求的应用业务 ;
OTA 服务器, 用于存储与用户识别模块协商的密钥。
一种空中下载服务器, 包括 :
数据短信接收模块, 用于接收应用业务客户端发送的利用 OTA 子密钥加密后的业 务数据短信, 所述 OTA 子密钥是所述用户识别模块与自身协商的密钥 ;
解密模块, 用于利用所述 OTA 子密钥对所述业务数据短信进行解密 ; 数据短信发送模块, 用于根据业务数据短信中携带的应用业务标识, 将解密后的 业务数据短信发送给所述应用业务标识对应的应用业务服务器。
一种应用业务服务器, 包括 :
数据短信接收模块, 用于接收应用业务客户端发送的利用 OTA 子密钥加密后的业 务数据短信, 所述 OTA 子密钥是所述用户识别模块与 OTA 服务器协商的密钥 ;
子密钥获取模块, 用于从所述 OTA 服务器获取所述 OTA 子密钥 ;
解密模块, 用于利用获取的 OTA 子密钥对接收到的业务数据短信进行解密 ;
业务执行模块, 用于执行所述业务数据短信请求的应用业务。
在本发明方案中, 由于应用业务客户端利用 OTA 子密钥对业务数据短信进行加密 后, 再通过 OTA 平台对其进行解密后发送给应用业务平台, 或由应用业务平台主动从 OTA 平 台处获得用于解密的 OTA 子密钥, 使得在保证数据段短信空口传输安全性的同时, 业务平 台也能够正确识别接收到的数据短信, 解决了 SIM 卡内的应用客户端与对应的业务平台之 间传输数据短信的安全性问题。
附图说明
图 1 为背景技术中包含 SIM 卡的终端与电子钱包业务平台进行数据短信交互的示 意图 ;
图 2 为背景技术中 SIM 卡内保存的子密钥与 OTA 平台和各业务平台保存的根密钥 的关系示意图 ;
图 3 为背景技术中 SIM 卡内应用业务客户端未进行卡片层密钥加密的情况传输数 据短信的示意图 ;
图 4 为本发明实施例一中数据短信的传输方法步骤示意图 ;
图 5 为本发明实施例一中业务数据短信的报文结构示意图 ;
图 6 为本发明实施例三中数据短信的传输方法步骤示意图 ;图 7 为本发明实施例五中数据短信的传输系统结构示意图 ; 图 8 为本发明实施例六中数据短信的传输系统结构示意图 ; 图 9 为本发明实施例七中空中下载服务器结构示意图 ; 图 10 为本发明实施例八中应用业务服务器结构示意图。具体实施方式
为实现本发明目的, 本发明实施例考虑到 SIM 卡中的应用客户端可以通过调用 OTA 平台与 SIM 卡之间协商的卡片层的 OTA 密钥对数据短信进行加密, 以解决应用业务客 户端与对应的业务平台之间交互数据短信的安全性问题, 但是, 由于业务平台无法直接获 知 SIM 卡中应用客户端加密时采用的卡片层 OTA 密钥, 导致业务平台无法对接收到的数据 短信进行正确解密和 MAC 校验。为此, 本发明实施例提出一种新的传输数据短信的方法, 使 SIM 卡中的应用客户端通过调用卡片层的 OTA 密钥对数据短信进行加密, 达到数据短息传 输安全性的目的, 同时, 通过数据短信在传输过程中的一系列操作, 使业务平台能够正确识 别并获得接收到的数据短信中的内容, 进而执行相应的应用业务。
下面结合说明书附图对本发明实施例进行详细描述。
实施例一 :
如图 4 所示, 为本发明实施例一中数据短信的传输方法步骤示意图, 所述方法包 括以下步骤 :
步骤 401 : 应用业务客户端利用 OTA 子密钥对业务数据短信进行加密, 所述 OTA 子 密钥是所述应用业务客户端所在的用户识别模块 SIM 与 OTA 平台之间协商的密钥。
在本发明实施例的方案中, SIM 卡可以与 OTA 平台预先协商设置一组或多组 OTA 密 钥, 其中, OTA 子密钥可以由 OTA 平台通过空中接口发送给 SIM 卡, 对应的 OTA 根密钥保存 在 OTA 平台中, 并且 OTA 平台可以对协商的 OTA 密钥进行动态修改, 并将修改后的 OTA 子密 钥发送给 SIM 卡。
在本步骤中, 发起业务数据短信的应用业务客户端是 SIM 卡中的一个软件客户 端, 当用户需要执行某种应用业务时, 可以通过终端设备调用对应的应用业务客户端生成 业务数据短信, 用于指示相应的应用业务平台执行业务数据短信中请求的应用业务。
如图 5 所示, 为业务数据短信的报文结构示意图, 假设 SIM 卡与 OTA 平台之间的接 口协议为 3GPP 03.48 协议, 则应用业务客户端通过 SIM COS(SIM 卡中 OS 模块 ) 提供的接 口, 调用 SIM 卡中的 OTA 子密钥对安全数据体和安全数据头中的数据进行加密和生成 MAC, 其中 : 安全数据体中的应用数据的内容可以由业务平台和应用业务客户端自行定义 ; 安全 数据头中包含应用数据的相关参数以及本次应用业务客户端对应的应用业务标识, 具体地 可以由安全数据头中的 TAR 字段携带应用业务标识。本实施例中的应用业务标识是一种特 殊标识, 它可以同时对应一个应用业务客户端和为该应用客户端提供业务的业务平台, 例 如: 对应电子钱包应用客户端的业务标识可以同时对应电子钱包业务平台。
本发明实施例也可以进一步地利用应用业务客户端与对应的业务平台之间协商 的应用层密钥对安全数据体中的应用数据进行加密和生成 MAC。
步骤 402 : 应用业务客户端将加密后的业务数据短信通过空中接口发送给 OTA 平 台。业务数据短信还可以包含 SIM 卡标识。
步骤 403 : 所述 OTA 平台利用 OTA 子密钥对接收到的业务数据短信进行解密。
在 OTA 平台中保存的是与步骤 401 中加密时采用的 OTA 子密钥对应的 OTA 根密钥, 由于解密时需要用到 OTA 子密钥, 因此, OTA 平台利用利用分散因子算法将对应的 OTA 根密 钥转换为 OTA 子密钥, 并利用转换后的 OTA 子密钥对所述业务数据短信进行解密。
这 里 使 用 的 分 散 因 子 可 以 是 SIM 卡 的 国 际 移 动 用 户 识 别 码 (International Mobile Subscriber Identity, IMSI) 或 IMSI 和预设的数据 ( 如密钥版本号等 ) 组合等。
特殊地, 如果 SIM 卡与 OTA 平台之间协商了多组密钥, 并且每组密钥中的根密钥和 子密钥同时唯一对应一个密钥索引, 则在应用客户端生成业务数据短信时, SIM 卡将会为应 用客户端分配一个密钥索引, 应用客户端利用为自身分配的密钥索引对应的 OTA 子密钥对 业务数据短信进行加密, 并将分配的密钥索引携带在业务数据短信中, 其中 : 一个密钥索引 同时只能分配给一个应用业务客户端。 OTA 平台接收到业务数据短信后, 由于一个密钥索引 同时与一组密钥中的子密钥和根密钥具有一一对应关系, 因此 OTA 平台可以根据业务数据 短信中的密钥索引查找出对应的 OTA 根密钥, 进而根据分散因子算法将查找出的所述 OTA 根密钥转换为 OTA 子密钥, 用于对业务数据短信进行解密。 如果在步骤 401 中应用业务客户端利用 OTA 子密钥生成 MAC 并携带在业务数据短 信中, 则本步骤中, OTA 平台还要利用 OTA 子密钥对业务数据短信中的 MAC 进行校验, 在校 验通过后执行后续步骤。
步骤 404 : 所述 OTA 平台根据业务数据短信中携带的应用业务标识, 将解密后的业 务数据短信发送给所述应用业务标识对应的应用业务平台。
步骤 405 : 所述应用业务平台执行所述业务数据短信请求的应用业务。
通过以上步骤 401 至步骤 405 的方案描述, 本发明实施例一的方案中由应用业务 客户端利用 OTA 子密钥对业务数据短信进行安全性较高的加密, 确保数据短信的安全性, 即使应用业务客户端与应用业务平台之间没有协商应用层的密钥, 传输的数据短信内的信 息也不易遭到外界恶意攻击。
步骤 406 : 所述应用业务平台将生成的确认数据短信发送给 OTA 平台。
应用业务平台执行完成应用业务后, 能够生成关于业务执行结果的确认数据短 信, 如果应用业务平台与对应的应用业务客户端之间协商了应用层密钥, 则应用业务平台 在发送确认数据短信之前, 可以利用该应用层密钥对确认数据短信中的安全数据体进行加 密和生成 MAC。
步骤 407 : 所述 OTA 平台利用所述 OTA 子密钥对确认数据短信进行加密, 并在所述 确认数据短信中设置所述应用业务平台对应的应用业务标识。
在本步骤中 OTA 平台可以根据步骤 403 中涉及的密钥索引查找出对应的 OTA 根密 钥, 并进一步转换为 OTA 子密钥, 利用转换后的 OTA 子密钥对确认数据短信进行加密和生成 MAC。
确认数据短信的结构与业务数据短信的结构大致相同, OTA 平台调用 OTA 子密钥 对安全数据体和安全数据头中的数据进行加密。
步骤 408 : 所述 OTA 平台根据业务数据短信中的 SIM 卡标识确认接收确认数据短 信的 SIM 卡, 并将加密后的确认数据短信发送给包含该 SIM 卡的终端设备。
步骤 409 : 所述 SIM 卡将收到的所述确认数据短信发送给携带的应用业务标识对 应的应用业务客户端。
步骤 410 : 应用业务客户端利用 OTA 子密钥对接收到的确认数据短信进行解密, 得 到解密后的确认数据短信。
通过本发明实施例一的方案, 提高了数据报文上下行传输的安全性, 并且本实施 例一实现简单, 对 OTA 平台和业务平台的改造较小。 并且 SIM 卡的执行步骤符合现有的规范 和标准, 因此, 本发明实施例一的方案可以看作是实现数据短信安全传输的通用解决方案。
实施例二 :
下面以电子钱包应用业务为例, 对实施例一的方案作进一步说明。
假设实施例二中用户希望进行电子钱包充值业务, 则具体的执行方式为 :
第一步 : 用户通过操作终端设备, 触发电子钱包业务客户端, 请求对电子钱包进行 充值。
第二步 : 电子钱包业务客户端生成电子钱包充值数据短信, 其中 : 安全数据体中 的应用数据为电子钱包业务标识和充值数量信息。
假设终端设备中的 SIM 卡与 OTA 平台之间只协商了一组 OTA 密钥, 则 SIM 卡中只 保存一组 OTA 子密钥, OTA 平台中保存该 SIM 卡对应的 OTA 根密钥。 第三步 : 电子钱包业务客户端利用 SIM 卡中保存的 OTA 子密钥对电子钱包充值数 据短信进行加密。
第四步 : 电子钱包业务客户端通过空中接口将电子钱包充值数据短信发送给 OTA 平台。
第五步 : OTA 平台根据电子钱包充值数据短信发送方的 SIM 卡标识, 查找出对应的 OTA 根密钥, 并通过分散因子算法将查找出的所述 OTA 根密钥转换为对应的 OTA 子密钥。
第六步 : OTA 平台利用所述 OTA 子密钥对电子钱包充值数据短信进行解密, 并根据 电子钱包业务标识将解密后的电子钱包充值数据短信发送给电子钱包业务平台。
第七步 : 电子钱包业务平台根据所述充值数量信息, 修改所述电子钱包业务客户 端的余额, 并将修改确认数据短信返回给 OTA 平台。
第八步 : OTA 平台为保证空中接口传输的安全性, 利用解密时采用的 OTA 子密钥对 修改确认数据短信进行加密, 并在修改确认数据短信中携带电子钱包业务标识。
第九步 : OTA 平台将加密后的修改确认数据短信发生给对应的 SIM 卡, 由该 SIM 卡 根据其中的电子钱包业务标识将其发送给对应的电子钱包业务客户端。
第十步 : 电子钱包业务客户端对修改确认数据短信进行解密, 并同时修改电子钱 包内的余额, 完成电子钱包充值业务。
实施例三 :
在本发明实施例一和实施例二的方案中, 由 OTA 平台预先将业务数据短信进行 OTA 解密, 随后应用业务平台可以直接执行解密后的业务数据短信请求的应用业务。 本发明 实施例三也不限于其他传输数据短信的方法, 如图 6 所示, 包括以下步骤 :
步骤 601 : 应用业务客户端利用 OTA 子密钥对业务数据短信进行加密, 所述 OTA 子 密钥是所述应用业务客户端所在的用户识别模块 SIM 与 OTA 平台之间协商的密钥。
按照 GSM03.48 规范, SIM 卡与 OTA 平台协商的 OTA 密钥可以有 16 组, 分别为这 16
组 OTA 密钥设置的密钥索引为 0 ~ 15。假设密钥索引 0 对应的 OTA 密钥为主控密钥, 只有 OTA 平台与 SIM COS 进行数据短信传输时使用, 其他密钥索引对应的 OTA 密钥可以分配给与 应用平台进行数据传输的应用业务客户端, 为了保证数据短信传输的可靠性, 一个 OTA 密 钥同时仅分配给一个应用业务客户端使用。另外, 除了主控密钥不可由 OTA 平台进行动态 更新之外, 其他密钥可以由 OTA 平台进行动态更新, 并将更新后的 OTA 子密钥通过空中接口 发送给 SIM 卡。
本发明实施例中 SIM 卡内设置的 OTA 密钥数量可以为多个但不限于 16 个。
SIM 卡为应用业务客户端分配一个密钥索引, 则所述应用业务客户端利用分配的 密钥索引对应的 OTA 子密钥对业务数据进行加密, 并将分配的密钥索引携带在所述业务数 据短信中。
特殊地, 应用业务客户端还可以进一步利用与应用业务平台协商的应用层密钥对 业务数据短信的安全数据体进行加密。
本实施例中的业务数据短信与实施例一中类似, 也是用于指示应用业务平台执行 业务数据短信请求的应用业务。
步骤 602 : 应用业务客户端将加密后的业务数据短信发送给对应的应用业务平 台。 在本步骤, 应用业务客户端能够直接确定对应的应用业务平台的路由地址, 因此 可以不在业务数据短信中携带应用业务标识。
步骤 603 : 应用业务平台从 OTA 平台获取所述 OTA 子密钥。
本步骤的具体执行方式包括但不限于以下两种 :
第一种 :
首先, 应用业务平台向所述 OTA 平台发送密钥传输请求, 所述密钥传输请求中携 带所述业务数据短信中的密钥索引和 SIM 卡的标识 ( 例如 : 移动站点综合服务数字编码, MSISDN), 由于密钥索引可以携带在业务数据短信额外指定的字段中且该字段未采用 OTA 子密钥加密, 因此, 应用业务平台可以直接获知该密钥索引 ;
然后, OTA 平台对所述应用业务平台鉴权通过后, 根据接收到的密钥索引查找出对 应的 OTA 根密钥, 并利用分散因子算法将查找出的所述 OTA 根密钥转换为 OTA 子密钥 ;
OTA 平台与 SIM 卡协商的每组 OTA 密钥都与一个密钥索引一一对应, 即一个密钥索 引同时对应一个 OTA 子密钥和该子密钥的根密钥, 因此, OTA 平台根据密钥传输请求中的密 钥索引确定出的 OTA 根密钥就是与加密过程中采用的 OTA 子密钥相对应的 OTA 根密钥, 则 根据分散因子算法可将该 OTA 根密钥转换为对应的子密钥。
最后, OTA 平台将该 OTA 子密钥返回给所述应用业务平台。
第二种 :
首先, 应用业务平台登陆所述 OTA 平台, 读取 OTA 平台中存储的多个根密钥, 查找 出所述密钥索引对应的 OTA 根密钥 ;
然后, 应用业务平台利用分散因子算法将所述 OTA 根密钥转换为 OTA 子密钥, 或 者, 应用业务平台请求 OTA 平台利用分散因子算法将所述 OTA 根密钥转换为 OTA 子密钥。
步骤 604 : 应用业务平台利用获取的 OTA 子密钥对接收到的业务数据短信进行解 密, 以及执行所述业务数据短信请求的应用业务。
通过步骤 601 至步骤 604 的方案, 使得上行传输的数据短信进行了 OTA 加密, 保证 了数据短信的安全。
步骤 605 : 应用业务平台执行完应用业务后, 生成确认数据短信, 并利用获得的所 述 OTA 子密钥对确认数据短信进行加密并发送给对应的 SIM 卡, 并在确认数据短信中设置 自身对应的应用业务标识。
由于在步骤 602 中, 应用业务平台接收到的业务数据短信包含 SIM 卡的标识, 因 此, 本步骤中, 应用业务平台可以根据该 SIM 卡的标识将确认数据短信发送给包含对应 SIM 卡的终端设备。
步骤 606 : SIM 卡将收到的所述确认数据短信发送给所述应用业务标识对应的应 用业务客户端。
由于 SIM 卡中包含多种应用业务客户端, 因此, 必须根据应用业务标识确定接收 该确认数据短信得应用业务客户端。
步骤 607 : 应用业务客户端利用 OTA 子密钥对接收到的确认数据短信进行解密, 得 到解密后的确认数据短信。
在本发明实施例中, 上下行传输的数据短信采用相同的 OTA 子密钥进行加密 ; 同 时, 由于 SIM 卡中保存的 OTA 子密钥有限, 也就是说同时传输数据短信的应用业务客户端也 有限, 因此, 能够与 OTA 平台进行交互获取 OTA 子密钥的业务平台数量也是可预见的, 所以, OTA 平台不需要经常升级改造 ; 另外, 根据 SIM 卡中应用业务客户端的使用情况动态分配未 使用的密钥索引, 提高了 OTA 子密钥的使用率。
实施例四 :
仍以电子钱包应用业务为例, 对实施例三的方案作进一步说明。
假设实施例四中用户希望进行电子钱包充值业务, 则具体的执行方式为 :
第一步 : 用户通过操作终端设备, 触发电子钱包业务客户端, 请求对电子钱包进行 充值。
第二步 : 电子钱包业务客户端生成电子钱包充值数据短信, 其中 : 安全数据体中 的应用数据为电子钱包业务标识和充值数量信息, 电子钱包充值数据短信中额外携带进行 OTA 加密时采用的 OTA 子密钥对应的密钥索引。
第三步 : 电子钱包业务客户端通过空中接口将电子钱包充值数据短信发送给电子 钱包业务平台。
第四步 : 电子钱包业务平台根据 SIM 卡的标识确定该 SIM 卡对应的 OTA 平台, 并向 该 OTA 平台发送携带密钥索引和 SIM 卡的标识的密钥传输请求, 从而获得 OTA 子密钥。
第五步 : 电子钱包业务平台利用获得的 OTA 子密钥对电子钱包充值数据短信进行 解密, 获得电子钱包充值数据短信中的充值数量信息, 并修改所述电子钱包业务客户端的 余额, 以及生成修改确认数据短信。
第六步 : 电子钱包业务平台利用获得的 OTA 子密钥对修改确认数据短信进行加密 后发送给 SIM 卡。
第七步 : SIM 卡根据修改确认数据短信中的应用业务标识确定接收该修改确认数 据短信的软件客户端为电子钱包业务客户端。
第八步 : 电子钱包业务客户端利用 OTA 子密钥对修改确认数据短信进行解密, 然后根据修改确认数据短信中安全数据体内的应用数据确认充值是否成功, 若充值成功, 则 进一步修改电子钱包内的余额, 完成电子钱包充值业务。
实施例五 :
本发明实施例五还提供一种数据短信的传输系统, 如图 7 所示, 所述系统包括用 户识别模块 11、 位于用户识别模块内的应用业务客户端 12、 OTA 服务器 13 和与应用业务客 户端对应的应用业务服务器 14, 系统中各部件的连接关系可以从图 7 中看出 : 应用业务客 户端 12 与 OTA 服务器 13 之间进行数据短信传输的接口称之为 A1 接口, 遵循的接口协议可 以是 3GPP 03.48 协议 ; OTA 服务器 13 与应用业务服务器 14 传输数据短信的接口称之为 A2 接口, 采用的接口协议为 TCP/IP 协议。
下面分别描述各部件之间的数据短信传输过程 :
在数据短信的上行传输过程中, 应用业务客户端 12 用于利用 OTA 子密钥对业务数 据短信进行加密, 并发送加密后的业务数据短信给 OTA 服务器 13, 所述 OTA 子密钥是所述用 户识别模块与 OTA 服务器之间协商的密钥 ; OTA 服务器 13 用于利用协商的 OTA 子密钥对所 述业务数据短信进行解密, 以及根据业务数据短信中携带的应用业务标识, 将解密后的业 务数据短信发送给所述应用业务标识对应的应用业务服务器 14 ; 应用业务服务器 14 用于 接收 OTA 服务器 13 发送的所述业务数据短信, 并执行所述业务数据短信请求的应用业务。
在数据短信的下行传输过程中, 所述应用业务服务器 14 还用于在执行所述业务 数据短信请求的应用业务后, 生成确认数据短信, 并发送给 OTA 服务器 13 ; 所述 OTA 服务 器 13 还用于利用所述 OTA 子密钥对确认数据短信进行加密, 并在所述确认数据短信中设置 所述应用业务服务器对应的应用业务标识后, 发送给所述用户识别模块 11 ; 所述用户识别 模块 11 用于将收到的所述确认数据短信发送给所述应用业务标识对应的应用业务客户端 12 ; 所述应用业务客户端 12 还用于利用所述 OTA 子密钥对接收到的确认数据短信进行解 密, 得到解密后的确认数据短信。
另外, 所述用户识别模块 11 可以从保存的多个密钥索引中为所述应用业务客户 端 12 分配一个密钥索引, 其中, 密钥索引与 OTA 子密钥存在一一对应关系 ; 则所述应用业务 客户端 12 还用于利用分配的密钥索引对应的 OTA 子密钥对业务数据短信进行加密, 并将分 配的密钥索引携带在所述业务数据短信中。
所述 OTA 服务器 13 还用于根据密钥索引与 OTA 根密钥的对应关系, 确定接收到的 密钥索引对应的 OTA 根密钥, 利用分散因子算法将确定的所述 OTA 根密钥转换为对应的 OTA 子密钥, 以及利用转换后的 OTA 子密钥对所述业务数据短信进行解密。
本发明实施例五描述的系统可以是与实施例一和实施例二属于同一发明构思下 的系统, 因此, 本发明实施例一和实施例二中涉及的功能可以由本发明实施例五中的部件 执行。
实施例六 :
本发明实施例六还提供另外一种数据短信的传输系统, 如图 8 所示, 所述系统包 括: 用户识别模块 21、 位于用户识别模块内的应用业务客户端 22、 OTA 服务器 23 和应用业 务服务器 24。
系统中各部件的连接关系为 : 应用业务客户端 22 与应用业务服务器 24 之间进行 数据短信传输的接口称之为 B1 接口, 遵循的接口协议可以是 3GPP03.48 协议 ; OTA 服务器23 与应用业务服务器 24 传输数据短信的接口称之为 B2 接口, 采用的接口协议为 TCP/IP 协 议; OTA 服务器 23 与用户识别模块 21 之间的接口称之为 B3 接口, 遵循的接口协议可以是 3GPP 03.48 协议。
OTA 服务器 23 与用户识别模块 21 可以通过 B3 接口协商 OTA 子密钥, 并且用户识 别模块 21 可以通过 B3 接口接收 OTA 服务器 23 更新的 OTA 子密钥。
下面分别描述各部件之间的数据短信传输过程 :
在数据短信的上行传输过程中, 应用业务客户端 22 用于利用 OTA 子密钥对业务数 据短信进行加密, 并向应用业务服务器 24 发送加密后的业务数据短信, 所述 OTA 子密钥是 所述用户识别模块与 OTA 服务器之间协商的密钥 ; 应用业务服务器 24 用于从所述 OTA 服务 器 23 获取所述 OTA 子密钥, 以及利用获取的 OTA 子密钥对接收到的业务数据短信进行解密 后, 执行所述业务数据短信请求的应用业务 ; OTA 服务器 23 用于存储与用户识别模块协商 的密钥。
在数据短信的下行传输过程中, 应用业务服务器 24 还用于在执行所述业务数据 短信请求的应用业务后, 利用所述 OTA 子密钥对生成的确认数据短信进行加密并发送给用 户识别模块 21, 所述确认数据短信中设置有所述应用业务服务器对应的应用业务标识 ; 用 户识别模块 21 用于将所述确认数据短信发送给所述应用业务标识对应的应用业务客户端 22 ; 所述应用业务客户端 22 还用于利用 OTA 子密钥对接收到的确认数据短信进行解密, 得 到解密后的确认数据短信。 用户识别模块 21 用于从保存的多个密钥索引中为所述应用业务客户端 22 分配一 个密钥索引, 其中, 密钥索引与 OTA 子密钥存在一一对应关系 ; 所述应用业务客户端 22 还用 于利用分配的密钥索引对应的 OTA 子密钥对业务数据短信进行加密, 并将分配的密钥索引 携带在所述业务数据短信中。
所述应用业务服务器 24 还用于向所述 OTA 服务器 23 发送密钥传输请求, 所述密 钥传输请求中携带所述业务数据短信中的密钥索引 ; 则所述 OTA 服务器 23 根据密钥索引与 OTA 根密钥的对应关系, 确定接收到的密钥索引对应的 OTA 根密钥, 并利用分散因子算法将 确定的所述 OTA 根密钥转换为 OTA 子密钥, 以及将该 OTA 子密钥返回给所述应用业务服务 器 24 ; 或者, 所述应用业务服务器 24 还用于据密钥索引与 OTA 根密钥的对应关系, 从所述 OTA 服务器 23 中读取接收到的所述密钥索引对应的 OTA 根密钥, 并利用分散因子算法将所 述 OTA 根密钥转换为对应的 OTA 子密钥。
本发明实施例六描述的系统可以是与实施例三和实施例四属于同一发明构思下 的系统, 因此, 本发明实施例三和实施例四中涉及的功能可以由本发明实施例六中的部件 执行。
实施例七 :
本发明实施例七还提供一种空中下载服务器, 如图 9 所示, 包括数据短信接收模 块 31、 解密模块 32 和数据短信发送模块 33, 其中 : 数据短信接收模块 31 用于接收应用业务 客户端发送的利用 OTA 子密钥加密后的业务数据短信, 所述 OTA 子密钥是所述用户识别模 块与自身协商的密钥 ; 解密模块 22 用于利用所述 OTA 子密钥对所述业务数据短信进行解 密; 数据短信发送模块 23 用于根据业务数据短信中携带的应用业务标识, 将解密后的业务 数据短信发送给所述应用业务标识对应的应用业务服务器。
所述数据短信接收模块 31 还用于接收应用业务服务器发送的确认数据短信。
所述空中下载服务器还包括加密模块 34, 用于利用所述 OTA 子密钥对所述确认数 据短信进行加密 ; 则所述数据短信发送模块 33 还用于在所述确认数据短信中设置所述应 用业务服务器对应的应用业务标识后发送。
所述解密模块 32 包括索引查找子模块 41、 转换子模块 42 和执行子模块 43, 其中 : 索引查找子模块 41 用于在接收到的业务数据短信中携带密钥索引时, 根据所述密钥索引 查找出对应的 OTA 根密钥 ; 转换子模块 42 用于利用分散因子算法将查找出的所述 OTA 根密 钥转换为对应的 OTA 子密钥 ; 执行子模块 43 用于利用转换后的 OTA 子密钥对所述业务数据 短信进行解密。
本发明实施例七中涉及的空中下载服务器可以是前述任一实施例中的 OTA 平台 或 OTA 服务器, 在本实施例中未详尽描述的功能而记载的前述实施例中的 OTA 平台或 OTA 服务器的功能, 都可以由本实施例中的空中下载服务器的逻辑部件实现。
实施例八 :
本发明实施例八提供一种应用业务服务器, 如图 10 所示, 所述应用业务服务器包 括: 数据短信接收模块 51、 子密钥获取模块 52、 解密模块 53 和业务执行模块 54, 其中 : 数据 短信接收模块 51 用于接收应用业务客户端发送的利用 OTA 子密钥加密后的业务数据短信, 所述 OTA 子密钥是所述用户识别模块与 OTA 服务器协商的密钥 ; 子密钥获取模块 52 用于从 所述 OTA 服务器获取所述 OTA 子密钥 ; 解密模块 53 用于利用获取的 OTA 子密钥对接收到的 业务数据短信进行解密 ; 业务执行模块 54 用于执行所述业务数据短信请求的应用业务。 所述应用业务服务器还包括加密模块 55 和数据短信发送模块 56, 其中 : 加密模块 55 用于在执行所述业务数据短信请求的应用业务后, 利用所述 OTA 子密钥对生成的确认数 据短信进行加密 ; 数据短信发送模块 56 用于发送加密后的确认数据短信。
所述子密钥获取模块 52 包括请求子模块 61 和密钥接收子模块 62, 其中 : 请求子 模块 61 用于向所述 OTA 服务器发送密钥传输请求, 所述密钥传输请求中携带所述业务数据 短信中携带的密钥索引 ; 密钥接收子模块 62 用于接收所述 OTA 服务器返回的 OTA 子密钥。
本发明实施例八中涉及的应用业务服务器可以是前述任一实施例中的应用业务 平台或应用业务服务器, 在本实施例中未详尽描述的功能而记载的前述实施例中的应用 业务平台或应用业务服务器的功能, 都可以由本实施例中的应用业务服务器的逻辑部件实 现。
通过本发明实施例提供的方法、 系统及设备, 提高了数据报文上下行传输的安全 性, 降低了现有数据短信传输过程由于仅采用应用层的安全机制导致的安全风险 ; 并且, 利 用同一的 OTA 子密钥进行加密的方案解决了 SIM 卡中应用业务客户端各自定义应用层传输 密钥的问题, 有利于 SIM 卡对应用业务客户端的统一管理。
在本发明各实施例分别提供的两种实现方式中, 本实施例一和实施例二的实现 方案简单, 对 OTA 平台和业务平台的改造较小, SIM 卡的执行步骤符合现有的规范和标准, 是实现数据短信安全传输的通用解决方案 ; 而实施例三和实施例四的方案中, 由于能够与 OTA 平台进行交互获取 OTA 子密钥的业务平台数量的可预见性, 因此, OTA 平台不需要经常 升级改造 ; 另外, 根据 SIM 卡中应用业务客户端的使用情况动态分配未使用的密钥索引, 提 高了 OTA 子密钥的使用率。
显然, 本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精 神和范围。这样, 倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围 之内, 则本发明也意图包含这些改动和变型在内。