• 1.57 MB
  • 37页

移动多媒体广播手机电视业务sd卡技术规范

  • 37页
  • 当前文档由用户上传发布,收益归属用户
  1. 1、本文档共5页,可阅读全部内容。
  2. 2、本文档内容版权归属内容提供方,所产生的收益全部归内容提供方所有。如果您对本文有版权争议,可选择认领,认领后既往收益都归您。
  3. 3、本文档由用户上传,本站不保证质量和数量令人满意,可能有诸多瑕疵,付费之前,请仔细先通过免费阅读内容等途径辨别内容交易风险。如存在严重挂羊头卖狗肉之情形,可联系本站下载客服投诉处理。
  4. 文档侵权举报电话:19940600175。
'QB-╳╳-╳╳╳-╳╳╳╳中国移动通信企业标准QB-╳╳-╳╳╳-╳╳╳╳移动多媒体广播/手机电视业务用户认证模块(SD卡)技术规范TechnicalSpecificationforMobileMultimediaBroadcast/MobileTVServiceUserAuthenticationModule(SDcard)版本号:1.0.0╳╳╳╳-╳╳-╳╳实施╳╳╳╳-╳╳-╳╳发布中国移动通信集团公司发布 QB-╳╳-╳╳╳-╳╳╳╳目录前言III1.范围12.规范性引用文件13.术语、定义和缩略语24.概述35.终端与卡的应用流程35.1.2G/3G识别流程35.2.GBA初始化45.2.1.2G模式45.2.2.3G模式55.3.MRK请求过程65.4.MSK更新过程75.5.MTK获取过程76.SD卡接口定义86.1.SD机卡接口协议86.2.SD机卡接口数据交互流程86.3.SD机卡接口数据包定义96.3.1复位指令描述106.3.2.普通APDU指令描述117.命令127.1.AUTHENTICATE127.1.1.命令描述127.1.2.命令参数和数据167.2.返回状态条件197.2.1.安全管理207.2.2.命令状态字208.文件内容228.1.SD卡中的USIMADF应用下的文件228.1.1.EFGBABP(GBA引导参数)228.1.2.EFMSK(MBMS业务密钥列表)238.1.3.EFMUK(MBMS用户密钥)248.1.4.EFGBANL(GBANAF列表)258.1.5.EFCMMBSN(CMMB序列号)268.1.6.EFUST(USIM服务列表)268.2.SD卡中的SIM应用下的文件278.2.1.EFSST(SIM服务列表)278.3.SD卡中的根目录下的文件278.3.1.EFMBBMSP协议版本号的文件278.3.2.EFSDIDSD卡序列号289.安全2910.编制历史2911.附录A应用数据包的Tag定义列表30III QB-╳╳-╳╳╳-╳╳╳╳12.附录B机卡交互的基本流程说明3013.附录CSD卡识别流程3114.附录D省公司代码3215.附录E卡商代码33III QB-╳╳-╳╳╳-╳╳╳╳前言本标准对移动多媒体广播/手机电视业务开展过程中涉及的用户认证模块(SD卡-SecureDigitalCard)进行了定义。本标准主要包括以下几方面内容:用户认证模块(SD卡)文件及数据结构、功能要求。本标准是移动多媒体广播/手机电视业务系列标准之一,该系列标准的结构、名称或预计的名称如下:序号标准编号标准名称[1]QB-X-XXX-XXXX移动多媒体广播/手机电视业务业务规范[2]QB-X-XXX-XXXX移动多媒体广播/手机电视业务总体技术要求[3]QB-X-XXX-XXXX移动多媒体广播/手机电视接口规范[4]QB-X-XXX-XXXX移动多媒体广播/手机电视NAF设备规范[5]QB-X-XXX-XXXX移动多媒体广播/手机电视业务指南服务器设备规范[6]QB-X-XXX-XXXX移动多媒体广播/手机电视BSF设备规范[7]QB-X-XXX-XXXX移动多媒体广播/手机电视业务Portal设备规范[8]QB-X-XXX-XXXX移动多媒体广播/手机电视业务指南技术规范[9]QB-X-XXX-XXXX移动多媒体广播/手机电视业务终端规范[10]QB-X-XXX-XXXX移动多媒体广播/手机电视业务数据卡(含模块)技术规范本标准需与《移动多媒体广播/手机电视业务总体技术要求》、《移动多媒体广播/手机电视业务接口规范》配套使用。本标准的附录A为标准性附录。本标准由中移号文件印发。本标准由中国移动通信集团技术部提出,集团公司技术部归口。本标准起草单位:中国移动通信研究院本标准主要起草人:罗红、路晓明、张慧媛III QB-╳╳-╳╳╳-╳╳╳╳1.范围本标准规定了移动多媒体广播/手机电视业务管理系统的用户认证模块(SD卡)的技术规范,供中国移动内部和厂商共同使用;适用于GSM/GPRS/EDGE/TD-SCDMA网络。2.规范性引用文件下列文件中的条款通过本标准的引用而成为本标准的条款。凡是注日期的引用文件,其随后所有的修改单(不包括勘误的内容)或修订版均不适用于本标准,然而,鼓励根据本标准达成协议的各方研究是否可使用这些文件的最新版本。凡是不注日期的引用文件,其最新版本适用于本标准。表2-1规范性引用文件[1]3GPP TS 33.220GenericAuthenticationArchitecture(GAA);GenericBootstrappingArchitecture(Release6)3GPP [2]3GPP TS 33.246SecurityofMultimediaBroadcast/MulticastService3GPP [3]3GPP TS 31.102CharacteristicsoftheUniversalSubscriberIdentityModule(USIM)application3GPP [4]3GPP TS 33.1033GPPSecurity;IntegrationGuidelines3GPP [5]GSM11.11SpecificationoftheSubscriberIdentityModule-MobileEquipment(SIM-ME)interfaceETSI [6]3GPP TS 31.101UICC-terminal3GPP 33 QB-╳╳-╳╳╳-╳╳╳╳interface;Physicalandlogicalcharacteristics[7]ETSITS102.221UICC-Terminalinterface;PhysicalandlogicalcharacteristicsETSI [8]SDSpecification-PhysicalLayerSimplifiedSpecificationSDCardAssociation[9]TheMultiMediaCardsystemspecificationV4.1MMCATechnicalCommittee1.术语、定义和缩略语下列术语、定义和缩略语适用于本标准:表1-1术语/定义/缩略语表术语/缩略语英文全称中文含义BSFBootstrappingServiceFunction引导服务功能B-TIDBootstrappingtransactionidentifier引导业务标识GBAGenericBootstrappingArchitecture通用引导架构IMPIIPMultimediaPrivateIdentityIP多媒体私有标识IMSIInternationalMobileServerIdentity国际移动服务器标识MIKEYMultimediaInternetKEYing多媒体因特网密钥管理CLAClassbyte命令类INSinstructionbyte命令编码P1、P2parameterbytes,concatenationofbytesP1andP2命令参数MRKMBMSRequestKeyMBMS请求密钥MUKMBMSUserKeyMBMS用户密钥MSKMBMSServiceKey多媒体广播组播业务业务密钥节目流密钥用于对节目流加密的密钥业务密钥用于对节目流密钥加密的密钥用户密钥33 QB-╳╳-╳╳╳-╳╳╳╳用户相关的密钥,每个用户各不相同1.概述移动多媒体广播/手机电视业务利用广电运营商的广播网络提供多媒体内容的下行传输,利用中国移动通信网络的鉴权管理系统和双向网络传输能力,以及广电的用户管理系统完成对用户的认证、授权和管理,同时利用移动网络的双向通道实现相关互动功能。SIM/USIM卡负责移动通信和网络认证的功能,用户认证模块负责对相关密钥的解密处理和存储等功能。本标准所描述的用户认证模块为SD卡模式,SD卡采用MicroSD/MiniSD卡形态。SD卡的具体物理要求应符合SD卡标准要求(参见规范[8])。系统逻辑结构图如下:图1-1系统逻辑结构图2.终端与卡的应用流程2.1.2G/3G识别流程在手机电视业务中,终端可同时支持2G和3G通信模式,SD卡需要根据不同的通信模式采用不同的处理流程,因此终端需根据实际情况,进行2G/3G模式的切换。(具体指令参见第6章)l如果终端中插入SIM卡,则终端与SD卡通讯采用2G模式(即终端与SD卡通信的指令数据采用2G方式);否则,采用3G模式。l在2G模式下,终端通过选择SD卡中的SIM应用来通知SD卡切换到2G模式;在3G模式下,终端先读取SD卡USIM应用下的DIR文件中的内容,再根据读出的内容用selectbyAID的方式选取USIM应用切换到3G模式。(参见TS31.102[3])33 QB-╳╳-╳╳╳-╳╳╳╳1.1.GBA初始化终端客户端软件每次启动运行时,将判断SD卡本地是否存有用户密钥信息。如果本地没有存有用户密钥,则应进入GBA初始化流程,获取用户密钥信息,存入SD卡中。1.1.1.2G模式当终端插入SIM卡时,终端与SD卡之间通信采用2G模式。图1-1SIM卡模式,GBA初始化流程流程说明:1)终端向SIM卡发送读取EFIMSI命令33 QB-╳╳-╳╳╳-╳╳╳╳1)SIM卡向终端返回IMSI2)终端向SD卡端发送读取EFMBBMSP命令3)SD卡向终端返回版本号信息4)终端向SIM卡发送Authentication命令,数据域为RAND5)SIM卡计算出SRES,Kc6)SIM卡向终端返回SRES,Kc7)终端向SD卡发送Authentication命令,数据域为RAND、Kc、Ks_input、SRES8)SD卡生成4-10byte的随机数cnonce,通过特定算法生成Ks和RES’9)SD卡向终端返回RES’、cnonce10)终端向SD卡中写入B-TID,Ks生命周期。11)SD卡保存B-TID和Ks生命周期12)SD卡向终端返回写入是否成功状态字节。1.1.1.3G模式当终端插入USIM卡时,终端与SD卡之间通信采用3G模式。图1-1USIM卡模式,GBA初始化流程33 QB-╳╳-╳╳╳-╳╳╳╳流程说明:1)终端向USIM卡发送读取EFIMSI命令2)USIM卡向终端返回IMSI3)终端向SD卡端发送读取EFMBBMSP命令4)SD卡向终端返回版本号信息5)终端向USIM卡发送Authentication命令,数据域为RAND、AUTN6)USIM卡计算出RES、CK、IK7)USIM卡向终端返回RES、CK、IK8)终端向SD卡发送Authentication命令,数据域为RAND、CK、IK、RES9)SD卡生成4-10byte的随机数cnonce,通过特定算法生成Ks和RES’10)SD卡向终端返回RES’、cnonce11)终端向SD卡中写入B-TID,Ks生命周期。12)SD卡保存B-TID和Ks生命周期13)SD卡向终端返回写入是否成功状态字节。1.1.MRK请求过程终端在主动获取业务密钥的过程中会向SD卡请求MRK。图1-1MRK请求过程流程说明:1)终端向SD卡发送MRK命令,数据域为NAF_ID和IMPI(参见7.1.1.2)。2)SD卡利用Ks、分散因子NAF_ID、IMPI,并通过KDF分散算法计算出Ks_ext_NAF和Ks_int_NAF,同时卡内存储Ks_int_NAF,并更新EFGBANL文件中的B-TID和NAF_ID。3)SD卡向终端返回Ks_ext_NAF(MRK),用于网络对终端的认证。33 QB-╳╳-╳╳╳-╳╳╳╳1.1.MSK更新过程终端在主动获取业务密钥的过程中会执行MSK更新过程。图1-1MSK更新过程流程说明:1)终端从网络端接收到更新MSK的MIKEY消息,并将MIKEY消息发送给SD卡;2)SD卡根据MIKEY消息中的MUK_ID找到对应的Ks_int_NAF,并使用Ks_int_NAF做为MUK解密得到MSK明文。之后卡内存储MSK、MSK生命周期,同时更新EFMSK文件中的DomainID、MSKID(参见7.1.1.3)。3)SD卡向终端返回消息处理状态字节,并根据Mikey消息的V字段确定是否返回ACK(参见3GPPTS31.102[3])。1.2.MTK获取过程终端在播放节目时,从码流中获得加密的节目流密钥信息,将其转发给SD卡,卡对加密信息进行解密,解密成功则获得节目流密钥,返回给终端进行码流的解密播放。33 QB-╳╳-╳╳╳-╳╳╳╳图1-1MTK生成过程流程说明:1)终端从网络端接收到MTKMIKEY消息后,将MIKEY消息发送给SD卡;2)SD卡根据DomainID||MSKID找到对应的MSK,如果MSK有效,使用MSK解密并导出MTK(参见7.1.1.4)。3)SD卡向终端返回MTK||Salt(可选)/Failure。2.SD卡接口定义2.1.SD机卡接口协议终端与SD卡之间采用MMC4.1协议(参见MMC规范[9])。终端与SD卡之间通过MMC协议封装APDU指令(参考TS31.102[3])的方式进行通信。2.2.SD机卡接口数据交互流程终端以MMC协议方式通过调用当前系统文件API接口实现与SD卡的数据交互。其交互流程如下:1)终端使用文件系统函数获取SD卡上某个文件(参考附录B)的访问句柄,采用对非缓冲方式的读写访问;当终端操作系统不支持非缓冲方式的设备文件访问时,终端应以对SD卡的直接地址读写来进行协议数据传输。此时,终端应用应选择一个安全的地址来进行MBBMS协议数据的传输。33 QB-╳╳-╳╳╳-╳╳╳╳终端对SD卡初始化过程中可以确定SD卡的block_size,终端应支持单Block和多Block两种读写方式。终端应根据实际应用数据的大小读写SD卡。1)终端使用文件系统的写函数写入指令数据,终端操作系统应支持接收到该写入指令后立即提交到SD卡;2)终端使用文件系统的读函数来读取卡端的响应,该读取函数应对设备文件的直接读取,而非基于系统缓冲方式的读取;3)通过2,3步骤的配合,完成所有指令的交互;4)应用结束时,终端关闭刚才操作的文件;注:详细实现参考附录B中描述。1.1.SD机卡接口数据包定义SD机卡接口是定义在终端原有的SD卡驱动之上的一个应用接口。SD机卡通讯接口数据包为MMC读写指令中的数据体,其组成如下图所示:图1-1SD机卡通讯数据包定义其中机卡通讯数据包,是作为终端与SD卡通讯的数据交互的基本数据结构。应用数据包是作为机卡通讯数据包中的数据载荷(Data)进行封装,应用数据包的Payload中封装了手机电视的各种SD卡的应用协议数据。终端发给SD卡的数据以网络字节顺序传输,所有的数据格式都是采用十六进制编码。机卡通讯数据包通过特殊的数据格式定义,来实现区分SD应用协议和正常的读写SD卡指令。其具体格式如下:机卡通讯数据包数据格式:字节描述长度(bytes)0~31IdentificationHeadString3232~35Length(n),后续数据的长度436~36+nDatan表1-1机卡通讯数据包数据格式33 QB-╳╳-╳╳╳-╳╳╳╳-IdentificationHeadString固定下面的数据:0x1711150106081F1419131703061B10041E1E0102100208130B090F0B02060D10说明本指令为中国移动扩展指令集V1.0以区别具体的文件读写操作。-Length为Data的数据长度。-Data为终端向SD卡的发送的指令集。在机卡通讯的过程中,当终端检测到卡端返回的数据为:length=0x00000001,Data=0x60时,表示卡端此时暂时无法响应。此时终端应做适当延时等待(10-15毫秒之间),再次读取卡片响应数据。当超过2秒没有得到响应数据,终端可认为卡片处理失败。机卡应用数据格式采用TLV的格式进行封装,如表6-2所示:机卡应用数据数据格式:字节描述长度(bytes)1FrameTAG12~5Length(n),后续数据的长度46~n+6Payloadn表1-1机卡应用数据数据格式-FrameTAG表示应用类型,详情参考附录定义-Length为Payload的数据长度。-Payload为机卡交互的应用数据集。6.3.1复位指令描述本指令用于SD卡复位,终端从复位响应中获取SD卡相关信息。终端与SD卡之间的新一轮会话应从复位指令开始。应用数据包格式如表6-3:发送数据格式:字段字段值长度(bytes)FrameTAG0x121Length(n)0x000000054Payload0xFEFEFEFE00n表1-2复位指令发送数据格式响应数据格式:33 QB-╳╳-╳╳╳-╳╳╳╳字段字段值长度(bytes)FrameTAG0x121Length(n)0x000000114Payload功能标识0x01(0x01表示手机电视功能,其它保留)1MBBMS协议版本号0xXXXXXXXX(见EFMBBMSP)4卡商代码0xXX1SD卡COS版本号0xXXXXXX3RFU保留6SW(状态字)指令执行返回码9000:命令正确执行6DXX:不认识命令中的指令码6EXX:命令中使用了错误的指令类6FXX:卡技术问题,错误返回2表1-1复位指令响应数据格式1.1.2.普通APDU指令描述本指令用于终端给SD卡发送普通的APDU指令,参见GSM11.11[5]和TS31.102[3]。在SD机卡接口的协议中,手机电视的指令都基于APDU指令进行和SD卡进行交互。应用数据包格式如表6-5:发送数据格式:字段字段值长度(bytes)FrameTAG0x141Length(n)n4PayloadAPDUdata(参考GSM11.11和ETSITS131102和本规范中的第7章的命令格式)n表1-2普通APDU指令发送数据格式33 QB-╳╳-╳╳╳-╳╳╳╳响应数据格式:字段字段值长度(bytes)FrameTAG0x141Length(n)n+2(后续数据的长度)4PayloadResponseSD卡根据APDU指令返回的响应数据nSW指令执行返回码,9000命令正确执行其它返回码需要参考GSM11.11和ETSITS131102中的描述和附录中的描述。2表1-1普通APDU指令响应数据格式2.命令本章主要描述了与移动多媒体广播/手机电视业务相关的命令和响应。命令及其响应的代码符合GSM11.11[5]和TS31.102[3]规范中要求。本章的命令编码用于描述普通APDU指令中的payload字段。普通APDU指令结构请参考6.3.2章节说明。2.1.AUTHENTICATE2.1.1.命令描述该命令被用于以下几种安全语境:-GBA安全语境:当请求GBA引导过程时使用;-MBMS安全语境:当请求MBMS安全过程时使用。GBA安全语境支持两种模式:a)Bootstrapping模式:SD卡和BSF之间相互认证,并且在AKA认证过程中获取Ks。b)NAF分散模式:通过Bootstrapping模式生成的密钥Ks,获得MUK和MRK。MBMS安全语境支持两种模式:a)MSK更新模式:更新MSK。b)MTK生成模式:终端可获取MTK用于解密节目流。33 QB-╳╳-╳╳╳-╳╳╳╳AUTHENTICATE在2G环境下也扩展了对GBA语境的支持,以完成GBA引导过程。1.1.1.1.GBA安全语境(Bootstrapping模式)SD卡收到终端发送的Authenticate命令,随机产生一个4字节的cnonce数据。通过特定算法计算出Ks和RES’,同时将Ks保存在卡内,向终端输出RES’和cnonce。终端将接收到的RES发送给网络端进行认证,认证成功后,网络端返回B-TID、Ks生命周期,并由终端更新EFGBABP文件中的B-TID、Ks生命周期。每次GBA引导过程之后,BSF和SD卡共享密钥Ks。3GInput:-RAND,CK、IK、RES2GInput:-RAND,Kc、Ks_input、SRESOutput:-RES’、cnonce1.1.1.2.GBA安全语境(NAF分散模式)SD卡收到终端发送的NAF_ID和IMPI之后,首先使用上一次GBA引导过程生成的共享密钥Ks,并通过KDF算法分散获得Ks_ext_NAF和Ks_int_NAF,详细参见TS33.220[1]。如果SD卡没有找到Ks,则认为上一次GBA引导失败,SD卡终止鉴权过程,并返回6985。终端接收到此错误代码后,将重新发起GBA引导请求。否则,SD卡在卡内存储Ks_int_NAF(MUK)密钥,更新EFGBANL中的B-TID和NAF_ID数据参数,并向终端返回Ks_ext_NAF(MRK)。EFGBANL文件更新原则如下:-如果给定的NAF_ID记录已经存在,则SD卡更新这条记录中相应的B-TID。-如果给定的NAF_ID记录不存在,则SD卡在一条空记录中保存NAF_ID及其B-TID。注意:根据TS33.220[1],SD卡可以同时包含几个Ks_int_NAF及其相对应的B-TID和NAF_ID,但每个NAF_ID仅对应一对Ks_int_NAF和B-TID。Input:-NAF_ID,IMPIOutput:-Ks_ext_NAF(MRK)1.1.1.3.MBMS安全语境(MSK更新模式)SD卡收到终端发来的MIKEY消息包后,首先判断是否为MSK更新消息,如果是则执行如下操作。33 QB-╳╳-╳╳╳-╳╳╳╳首先SD卡从IDi和IDr中解析MUKID,根据MUKID等于上一次产生MRK的MUKID一致,则判断发生了一个新的NAF分散过程(MRK)。如果是这样,SD卡将使用最新生成的Ks_int_NAF做为MUK保存,同时按如下方式更新EFMUK文件内容:-如果IDi(包含在MUKID中)对应的记录已经存在,则SD卡将接收到MUKID替代此记录中相应的数据域,并重置TS。另外,SD卡内部保存上次成功使用过的MUK和MUKID(检验密钥过期的方式)。-如果IDi(包含在MUKID中)对应的记录不存在,则SD卡使用一条空记录保存MUKID,并重置TS。如果接收到的MUKID与卡内上次产生的MUK不一致,则SD卡执行如下操作:-如果接收到的MUKID与上次成功使用过的MUK一致,则SD卡使用此MUK校验消息的完整性。如果完整性校验失败,鉴权过程中止,SD卡返回9862(MAC不正确);如果完整性校验成功,鉴权过程也中止,SD卡返回9865(密钥过期)。此时,SD卡不会返回MIKEY校验包。-否则,SD卡认为卡内保存的MUK不正确,鉴权过程中止,SD卡返回6A88(密钥没找到)。如果接收到的MUKID与上次产生的MUK一致,SD卡使用该MUK进行密钥分散并校验MSKMIKEY消息的完整性。如果完整性校验成功,则SD卡根据Mikey消息中的KeydataSub-Payload中的Type字段的定义做如下的处理:Ø如果DK=1,SD卡从KEMAC中解密获得Keydatasub-payload,并从中取出Keydata(具体操作参见《移动多媒体广播/手机电视业务接口规范》),再使用广电用户密钥(如果广电用户密钥不存在,SD卡返回6A89(广电密钥没找到))对Keydata进行AES_ECB_128解密运算得到MSK值,保存MSK,更新EFMSK;Ø如果DK=0,SD卡从KEMAC中解密MSK值,保存MSK,更新EFMSK;如果完整性校验不成功,则鉴权过程中止,SD卡返回9862(MAC不正确)。-如果接收到的KEYDomainID和KEYGroup在EFMSK记录中存在,则第2个MSKID及其TS将被第1个MSKID及其TS所替代。新的MSKID被保存在第1个MSKID的位置,其TS清零;当MSKID相同时,且密钥有效期KV的终止时刻与文件记录中的终止时刻相同时,应直接覆盖该记录。-如果接收到的KEYDomainID和KEYGroup在EFMSK记录中不存在,则SD卡使用一条空记录保存MSKID。该MSKID保存在第1个MSKID的位置,其TS被清零。MSK更新以后,SD卡从TS中解析出时间戳计数器,并更新EFMUK文件MUKID对应的时间戳。为保证SD卡信息携带的有效性,终端每次给SD上电之后,SD卡清除存储全部的MSK。【退订报文处理流程】如果MIKEY包中不存在MSK密钥,且密钥有效期KV的起始时刻大于或等于终止时刻相同,则该MIEKY包为退订报文。SD卡将报文中的KV终止时刻与SD卡中MSKID(Num=0x0除外)对应KV值的终止时刻进行比较,如果二者相等,则SD卡移除该MSK密钥。若SD卡中存在多个MSK密钥具有与退订报文中相同的MSKID和KV终止时刻,则这多个MSK密钥均将被移除。若SD卡中不存在MSK密钥具有与退订报文中相同的MSK33 QB-╳╳-╳╳╳-╳╳╳╳ID和KV终止时刻,则SD卡返回6A88(没有找到密钥)。如果MIKEY包中不存在MSK密钥,且密钥有效期KV的起始时刻小于终止时刻,则该MIEKY包为无效报文,SD卡返回6F00。注:本系统中密钥有效期KV的ValidFrom和ValidTo字段的长度分别为4字节,具体数据定义参见《移动多媒体广播/手机电视业务NAF设备规范》。Input:-MIKEYmessage(HDR,EXT,TS,RAND,IDi,IDr,KEMAC)Output:-MIKEYmessage(HDR,TS,IDr,V)or-None1.1.1.1.MBMS安全语境(MTK生成模式)SD卡收到终端发来的MIKEY消息包后,首先判断是否为MTK消息,如果是则执行如下操作。首先从EXT中解析出KeyDomainID||MSKID,如果卡内没有找到对应的MSK,则SD卡终止操作,并返回6A88(没有找到密钥)。如果EFMSK存在对应的KeyDomainID||MSKID(可能存在两个),SD卡以此查找对应的MSK和KV,并判断KV是否有效,如果SEQL>SEQU ,则SD卡终止操作,并返回6985(使用条件不满足)。然后SD卡从EXT中解析出MTKID,判断MTKID是否有效(当SEQL<=MTKID=1更新频率:低访问条件:READALWUPDATEADMDEACTIVATEADMACTIVATEADM字节描述M/O长度1服务n°1ton°8M1字节2服务n°9ton°16O1字节3服务n°17ton°24O1字节4服务n°25ton°32O1字节……X服务n°(8X7)ton°(8X)O1字节表1-2EFUST文件注:终端通过读取EFUST文件,可获取SD卡是否支持移动多媒体广播/手机电视业务,每一个业务由1个bit标识,业务NO.68(GBA)、业务NO.69(MBMS)都为1表示支持,否则不支持。33 QB-╳╳-╳╳╳-╳╳╳╳1.1.SD卡中的SIM应用下的文件对于移动多媒体广播/手机电视SD卡,在其DFGSM(7F20)目录下,增加EFGBABP、EFMSK、EFMUK、EFGBANL和EFCMMBSN五个基本文件,文件定义参见8.1节内容,还应增加文件EFSST。具体格式见8.2.1。1.1.1.EFSST(SIM服务列表)该文件指明了哪一个服务可用。如果一个服务在SD中被指明不可用,ME不会选择此服务。文件标识符:"6F38"二进制文件必选文件容量:X字节,X>=1更新频率:低访问条件:READALWUPDATEADMDEACTIVATEADMACTIVATEADM字节描述M/O长度1服务n°1ton°4M1字节2服务n°5ton°8O1字节3服务n°9ton°12O1字节4服务n°13ton°16O1字节……X服务n°(4X3)ton°(4X)O1字节表1-1EFSST文件注:终端通过读取EFSST文件,可获取SD卡是否支持移动多媒体广播/手机电视业务,每一个业务由2个bit标识,业务NO.50(GBA)、业务NO.51(MBMS)全部为1表示支持,否则不支持。1.2.SD卡中的根目录下的文件1.2.1.EFMBBMSP协议版本号的文件文件标识符‘3F00/9F01"透明文件必须文件大小 4个字节更新频率低访问条件:READALW33 QB-╳╳-╳╳╳-╳╳╳╳UPDATEADMDEACTIVATEADMACTIVATEADM字节描述M/O长度1~4MBBMS协议版本号M4字节表1-1EFMBBMSP文件1.1.2.EFSDIDSD卡序列号文件标识符‘3F00/9F02"透明文件必须文件大小 12个字节更新频率低访问条件:READALWUPDATEADMDEACTIVATEADMACTIVATEADM字节描述M/O长度1~12SD卡序列号M12字节文件内容具体编码如下:l898600RRTTSSYYGCCCCCCCCCHKü8986中国ü00移动üRR为保留位üTT卡类型üSS省代码üYY年份üG卡商代码üXXXXXXXX卡序号(每一位编码范围为0~F)üChk校验位-卡类型:0x01表示为MBBMSSD卡。-省公司代码参见附录D。-卡商代码参见附录E的有效位(低字节位)。保留位置为0xFF。33 QB-╳╳-╳╳╳-╳╳╳╳1.安全基于SD卡的密钥管理体系如下图如示:图1-1密钥管理体系终端通过运行GBA引导过程,可以在网络端和终端共享Ks_ext_NAF和Ks_int_NAF密钥(参见7.1.1.2节)。其中Ks_int_NAF做为MUK(中国移动用户密钥)在卡内存储,用来解密由网络端发送过来的MSK(业务密钥)密文消息;Ks_ext_NAF由终端发送给网络,用于网络对终端的身份认证。本系统引入广电用户密钥对MSK进行安全保护。广电用户密钥在卡内预置,并存储在SD卡的安全存储区内。广电用户密钥长度为16字节。网络端通过共享密钥MUK和广电用户密钥对MSK加密,然后以MIKEYMessage消息格式发送给SD卡,卡解密得到MSK。网络端通过共享密钥MSK对MTK(节目流密钥)加密,然后以MIKEYMessage消息格式发送给SD卡,卡解密得到MTK。终端获得MTK后用来解密节目流数据。在上述密钥生成、存储过程中,MUK、MSK始终处于SD卡专用的MGV-S/F安全存储区内;而网络和UE之间的密钥分发和更新都是采用密文方式传输的。2.编制历史版本号更新时间主要内容或重大修改1.0.02009-5-25生成1.0.0版本33 QB-╳╳-╳╳╳-╳╳╳╳1.附录A应用数据包的Tag定义列表TAG描述0x12用于支持复位指令0x14用于支持普通的APDU指令的处理2.附录B机卡交互的基本流程说明终端与SD卡的交互中,参照下图的流程进行和SD卡的通讯。图8.3基本流程说明:33 QB-╳╳-╳╳╳-╳╳╳╳1)终端先检测在SD卡是否存在临时文件MBBMS_TEMP.dat文件,如果不存在,则创建这个文件,建议将该文件设置成系统隐藏文件。2)终端采用系统的文件操作函数OpenFile,打开临时文件。3)终端根据7章描述的数据包格式,组装SD指令。4)终端采用系统的文件操作函数WriteFile,向临时文件中写入SD指令,检查WirteFile是否操作成功。如果有错误,退出流程。5)终端采用系统的文件操作函数ReadFile,从临时文件中读取SD卡的响应数据,同时检测ReadFile是否操作成功,如果有错误,退出流程。6)根据Sw返回码检查第5步中读取的SD卡响应数据,执行相应的流程。7)如果需要再向SD卡发送指令,需要重复执行4、5、6过程。8)当应用程序关闭时,终端采用系统的文件操作函数CloseFile,释放相关的临时文件资源。注:系统的文件操作函数OpenFile、WriteFile、ReadFile、CloseFile根据不同的平台,函数名称不一样。当终端操作系统不支持非缓冲方式的设备文件访问时,终端应以对SD卡的直接地址读写来进行协议数据传输。此时,终端应用应选择一个安全的地址来进行MBBMS协议数据的传输,此安全地址可以为一个不小于8K的临时数据文件的起始地址。终端与SD进行数据交互时,可能出现下列情况的异常:1)当SD卡的存储空间已满,无法创建MBBMS_TEMP.dat文件,这时需要提示用户删除SD卡一些文件,用于创建文件MBBMS_TEMP.dat。(通常MBBMS_TEMP.dat文件大小为8K)2)当MBBMS终端应用正在和SD卡进行通讯的时候,用户把SD卡弹出,这时候终端读取SD卡数据会出现错误,这时需要提示用户插入MBBMS应用的SD卡。当SD卡重新插入终端后,终端应用应自动检测到SD卡插入,如为MBBMS的SD卡,应重新发送复位指令到SD卡,创建会话。1.附录CSD卡识别流程在机卡初始化过程中,终端首先应识别当前卡槽内插入的是否为中国移动手机电视业务的SD卡,有两种方法可以进行识别。(1)通过MMC的CMD2指令获取CID参数进行识别在SD卡枚举过程中,终端根据响应参数中CID的PNM字段来识别MBBMS的SD卡。CID的设置定为:XX XXXXyyyyyyyyyyyyXXXXXXXXXX XX XX其中:MID:MMCA定义分配。8bitOID:MMCA定义分配。16bitPNM:移动定义,值为4D42424D53。40bitPRV:卡商自定义。8bitPSN:卡商自定义。32bitMDT:卡商自定义。8bit33 QB-╳╳-╳╳╳-╳╳╳╳(2)通过识别机卡接口指令的响应进行识别如没有实现通过读取CID参数来识别手机电视业务SD卡,终端还可以通过机卡接口指令的响应来识别是否为手机电视业务SD(即本标准中6.3.1节的复位指令)。发送机卡接口指令时所使用的Sector地址应位于SD卡的一个安全地址,避免破坏SD卡上的FAT信息或者其它重要的数据信息。如果终端操作系统支持非缓冲方式的文件读写,选择某个8K以上大小的数据文件的进行读写,可以实现基于安全地址的协议数据传输;如果终端要使用MMC读写指令来直接访问,也需要通过对FAT表的访问得到某个数据文件的起始写入地址来作为安全传输地址,否则要注意备份恢复所写地址的数据信息,避免对普通存储卡数据信息的破坏。1.附录D省公司代码省区市代码省区市代码北京01河南16天津02湖北17河北03湖南18山西04广东19内蒙古05广西20辽宁06海南21吉林07四川22黑龙江08贵州23上海09云南24江苏10西藏25浙江11陕西26安徽12甘肃27福建13青海28江西14宁夏29山东15新疆30重庆31集团0033 QB-╳╳-╳╳╳-╳╳╳╳1.附录E卡商代码卡商名称卡商代码卡商名称卡商代码AXALTO00航天九洲通06GEMPLUS01北京握奇07武汉天喻02东方英卡08江西捷德03北京华虹09珠海东信和平04上海柯斯0A大唐微电子05航天智通0B33'