好文档就是一把金锄头!
欢迎来到金锄头文库![会员中心]
电子文档交易市场
安卓APP | ios版本
电子文档交易市场
安卓APP | ios版本

电子论文-基于短消息的OTA数据传输安全机制.docx

7页
  • 卖家[上传人]:ss****gk
  • 文档编号:233644909
  • 上传时间:2022-01-02
  • 文档格式:DOCX
  • 文档大小:80.74KB
  • / 7 举报 版权申诉 马上下载
  • 文本预览
  • 下载提示
  • 常见问题
    • 解决方案基于短消息的OTA数据传输安全机制□郑琦(西南交通大学信息科学与技术学院,成都610031)摘要:0TA技术的应用,使得移动通信不仅能够提供语音和数据服务,还能提供更便捷的增值服务 依靠基于短消息的0TA技术,应用及内容服务商就可以很方便地不断开发出更具个性化、更贴近用 户需求的服务然而,基于短消息的0TA技术的实现,依赖于0TA平台和用户卡之间大量的数据交 互,所以对数据传输安全有特定要求针对这个问题,本文结合中国联通0TA规范,对基于短消息 的0TA数据传输安全问题,及其最重要的有效性和可靠性等特性的实现进行了分析关键字:0TA序列号MAC值一、0TA技术及0TA数据传输安全概论S ■! L III z\ 自己OTA (over the air)空中下载技术是一项基于无线数据传输机制的技术这项技术通过用户手 机卡和OTA服务器之间的无线数据交互,实现了用户卡(OTA卡)内增值业务菜单的动态下载、删 除与更新,方便了用户获取个性化的增值服务,如信息点播、互动娱乐、位置服务以及银行交易等 OTA的无线数据传输可以采用短消息、WAP、GPRS、CDMA1X等技术因用户习惯于通过短消息来 接收数据业务,基于短消息的无线传输方式成为了OTA技术中最为流行的方式。

      这种方式,也是目 前2G中最为实用、投资最少的一种方式,它满足了用户对业务简单性、易用性、可下载性三方面的 要求』成为了 OTA* 操地 即上发短信遍 的曲愿订制菜单—_一 一 —攻击,造成信息白理苗丢钮强0TA酬励潍剥勺耳擘为蛆QTA^f包括:整昧海性、兔岛8的魏细表触性响遍OTA技术的V现依赖于无线数喝传输,咽飒据传输甘中棱律可能会遭翠信道:监听、聿岗睾改等 土 A,序陋E晞Q 盛传输安全性主要 《中国联通OTA规范》结合《GSM03.48》以及《用户卡的定义规则》,形成了一套完整的 OTA数据传输安全机制其中,通过序列号比对(同步控制)和MAC值校验的方式实现了数据传输安 全中最重要的两个特性一有效性和可靠性要实现基于短消息的OTA数据传输,实现OTA下载服务器与用户卡之间的数据交互,数据必须按 照特定的格式组合,即参照三种报文格式:OTA业务上行报文、下行报文和远程文件更新下行报文格式三种报文格式中都包含各种安全应用数据项,用于记录实现数据安全传输的数据值,安全应用 数据项包括序列号,MAC值和随机数等三种报文格式分别如表1、表2和表3所示表1上行报文标识长度(字节)值说明安全应用数据卡商代码1HEX用户品牌标识2HEX卡片ICC ID8HEX“00” +ICCID的后14个字符序列号5HEX随机数4HEXMAC4HEX命令数据命令类型1HEX命令长度1HEX本条短信中命令参数的长度。

      命令参数XHEX表2下行报文标识长度(字节)值说明安全应用数据UDHL10x02信息标识长度IEIa10x70安全头标识lEIDLa10x00信息K度CPL2后续数据长度,从CHL到最后CHL10x11安全报文头长度,从SPI到CCSPI20x02只使用第一字节bitl,bit2o0x00KIc10x00不使用加密KID1OxXlDES CBC,高4位为密钥编号TAR3OxBO 00 10OTA业务下载CNTR5参见计数器的管理PCNTR10x00参见 GSM03. 48 «CC4使用MAC,参见MAC算法随机数41HEX密钥分散及密钥选择用,不能加密命令数据 (ifctt世—Lmax命令长度HEX^ ] ) Q 二i皆*隼即建令善核1带表3远程文件更新M薪快速免费的!01 IE表直言云芳■ 标识长度(字节)值说明安全应用数据UDHL10X07信息标识长度IEIa10X00级联标识lEIDLa10x03级联信息长度IEDa3OxXX XX 01批次、短信总数、短信索引IEIb10x70安全头标识lEIDLb10x00信息长度CPL2后续数据长度,从CHL到最后CHL10x11安全报文头长度,从SPI到CCSPI20x06只使用第一字节bitl, bit2, bit3o0x00KIc10xX53DES CBCKID1OxXlDES CBC,高4位为密钥编号TAR3OxBO 00 IF远程文件管理RFMCNTR5参见前向序列号的管理PCNTR1OxXX参见 GSM03. 48。

      CC4使用MAC,参见MAC算法随机数4HEX密钥分散及密钥选择用,不能加密二、OTA数据传输有效性的实现序列号比对实现数据传输有效性大量的用户不断上发短信请求,OTA下载服务器就要不断对这些请求做出下行响应由于OTA服 务器性能的限制,响应不免会出现时延,以至于用户暂时接收不到响应而重复发起同种上行请求 为了防止OTA服务器重复响应相同的上行请求,在响应前,会比对上行报文与本地OTA服务器的序列 号值同理,为防止OTA服务器发生故障或者人工误操作对用户卡端的大量重复响应,卡端也会比对 下行报文中的序列号与卡端的序列号值,具体实现方法如下序列号分为前向序列号和反向序列号,用户卡端和OTA服务器端共同维护这两种序列号反向序 列号对应于此次操作源于用户卡端发起的请求,包括所有上行短信及服务器端对该上行短信的响应 前向序列号对应于此次操作由服务器端发起的请求1)反向序列号用户卡端产生上行数据时,应以当前用户卡端的反向序列号值填充上行报文中的序列号数据项; 在收到下行报文时(该下行数据是该上行数据的响应),若下行报文中的序列号值与当前卡端反向 序列号的值相等或比当前卡端反向序列号值大1,则此次数据合法。

      在完成该次OTA下载过程后将卡 端反向序列号的值加1OTA下载服务器收到上行报文时(若该上行数据需要响应),当上行报文中 序列号耍与当前服务器反向序列号值相等,将下行数据发送给用户卡,在发送完该次应用下载的 全部下行魏据庖,0*!*芋务呼酸翰• 歹史殍堡哗斜瞥序号惜月笔尹当前 反向序列号的值小为小列R fcyrwwf 4的[列f 下行数据'发哮用少隆r m鬲峰昨布渐t %a'下矗服I•遍"当菁本地反向满号的瓶不变反向序列号比折流程如图1所盅,s ''eel d a ; . c c Ti图i反向序列号比对流程图(2)前向序列号服务器主动下发数据时,当下行报文中前向序列号值大于用户卡中前向序列号的值,该下行数 据才可以被卡接受,用户卡端在收到该次应用下载的全部下行数据后,用下行报文中序列号的值更 新卡端前向序列号的值完成此次下行过程,将服务器端前向序列号的值加1前向序列号比对流程 如图2所示 图2前向序列号比对流程图三、0TA数据传输可靠性的实现MAC值比对实现0TA数据传输的可靠性基于短消息的0TA数据传输,通过MAC值的比对,可以避免数据在传输途中遭到恶意的修改,保 证上行到0TA下载服务器的数据和下行到用户卡的数据可靠性。

      攵据 I也1彳患庖J力心,密刑电i)i^^曲J所.行数0TA下载服务器收到上行数据后,计算该上行数据的MAC值,并与上行报文中所存放的MAC值进行 比较若两者相同,则数据在传送过程中未被修改、删除或者重组,该上行数据合法;否则,丢弃 该上行数据同理,用户卡端收到下行数据后,计算该下行数据的MAC值,并与下行报文中所存放的 MAC值进行比较若两者相同,则数据在传送过程中未被修改、删除或者重组,该下行数据合法;否 则,呀该不行数据 -特别的,当下存完MAC值讨还需! _ _ _ _ 据后ifmXci,需要先得到-峻O塞值岛扯:禹机矗Km,蠡矗kc⑴硼4生全面快遗免费的数据表查询服务——产生随机数,是为了保证此后计算MAC值的随机性与唯一性用户卡和0TA下载服务器在上行和 下行数据前,都会产生一个随机数,放入对应的随机数安全数据项产生的随机数连续两次操作绝 对不能相同,否则抛弃处理得到随机数以后,通过对随机数的操作,选出主密匙Km具体操作为,选取随机数第四字节与"0X07”进行“与”操作,再对其结果取模5的值,模5的 结果(0~4之间)即为所要选择的主密匙索引号主密匙组由联通公司提供,是一组(5个)十六字 节十六进制数。

      具体程序如下:sms[l]=sms[2]=random(0xff) : // 产生四字节随机数sms[3]=sms[4]=random(Oxff);keyindex=fmod((sms [26] & 0x07),5);〃选取Km(2)会话密匙Kc生成选择主密钥Km之后,采用标准的PB0C密钥分散算法对主密钥进行两级分散操作分散因子包括 “00” +用户卡ICCID后14位和随机数流程如图3所示根据随机数选择「支主密匙KmPBOC“OO”+ICCID 后 14位PBOC随机数会话密匙Kc图3密钥分散算法求Kc示意图其中,PBOC算法流程描述如下:设主密钥为Km (16Bytes),分散因子为X (8Bytes,不足右补空格0X20),生成的分散密钥为 Kc (MBytes)Km的左半部分(前8Bytes)为Kml, Km的右半部分(后8Bytes)为KmrKcl=3DES (Km, X) , Kcr=3DES (Km, NOTX),其中3DES为3DES ECB类型Kcl为Kc的左半部份,Ker为Kc的右半部分3) MAC值计算计算MAC值采用标准的DES—CBC算法,初始密钥KEY为会话密钥Kc的左8个字节。

      •参数与近行数据计算财值时,都应包节所有上行报文中的安全数据项除此,上行还应包括, 卡商#码及协议版栏,『套伊、;萝十命尸户1令秀具体MAC四算芳蒋所有廓诚据按照叩字寻‘组善彳分期,者原霜薮据不趣的整 数倍,则需要根据实际的数据长成妙嫉•岑哦据未整扃〜径幅%【20” I数据Cf算MAC所需填具体MAC值法勘淑据熹不字T| _组"彳丁分tf,行喉楚中,免睚的数蟾囊暨陆踱鲫 Q-下行数据长度自仃填充丁以初始密匙KEY作为DES算法的密钥,初始数据为8字节的“0X00” ,对第一分组数据与初始数据 异或后的数据进行运算,DES算法的输出数据与第二分组数据异或后,继续以KEY为密钥进行DES运算, 依次做下去直至最后一个分组处理完毕MAC码取最后一次DES运算的8字节输出数据的最左边4字节 数据MAC算法流程如图4所不图4 MAC算法示意图四、结束语基于短消息的OTA数据传输方式,用户可以方便地利用短消息更新卡内的增值业务菜单,弥补了 以前SIM卡固化业务的缺陷因其简单易用,基于短消息的OTA数据传输方式得到了广泛的应用目 前,OTA业务主要用于SIM卡,随着3G业务的发展,网络条件的便利,增值业务必然会对处理速率、。

      点击阅读更多内容
      关于金锄头网 - 版权申诉 - 免责声明 - 诚邀英才 - 联系我们
      手机版 | 川公网安备 51140202000112号 | 经营许可证(蜀ICP备13022795号)
      ©2008-2016 by Sichuan Goldhoe Inc. All Rights Reserved.