• 1.34 MB
  • 114页

GYT220.6-2007移动多媒体广播第6部分:条件接收.pdf

  • 114页
  • 关注公众号即可免费下载文档
  1. 1、本文档共5页,可阅读全部内容。
  2. 2、本文档由网友投稿或网络整理,如有侵权请及时联系我们处理。
'GY中华人民共和国广播电影电视行业标准GY/T220.6—2008移动多媒体广播第6部分:条件接收Mobilemultimediabroadcasting—Part6:ConditionalAccess2008-05-13发布2008-05-22实施国家广播电影电视总局发布 GY/T220.6—2008目次前言................................................................................III1范围................................................................................12规范性引用文件......................................................................13术语、定义、缩略语和约定............................................................13.1术语和定义........................................................................13.2缩略语............................................................................43.3约定..............................................................................64移动多媒体广播条件接收系统概述......................................................75移动多媒体广播条件接收系统总体要求..................................................75.1条件接收前端子系统................................................................85.2加扰模块..........................................................................85.3节目信息管理模块..................................................................85.4业务运营支撑系统接口..............................................................95.5条件接收系统监管接口..............................................................95.6条件接收终端子系统................................................................96移动多媒体广播条件接收系统分层模型..................................................96.1四层密钥模型......................................................................96.2密钥安全管理.....................................................................106.3授权控制信息和授权管理信息.......................................................106.4加扰方式.........................................................................116.5移动多媒体广播条件接收系统信令...................................................127移动多媒体广播条件接收系统系统框图和功能概述.......................................137.1移动多媒体广播条件接收系统系统框图...............................................137.2CAM-S功能概述....................................................................137.3加扰模块功能概述.................................................................147.4MMB-CAS终端模块功能概述..........................................................148移动多媒体广播条件接收各模块间接口及其与其它系统间接口.............................158.1CAM-S与加扰模块之间的接口(CAS-1)...............................................168.2CAM-S与业务运营支撑系统之间的接口(CAS-2).......................................168.3CAM-S系统与节目信息管理模块之间的接口(CAS-3)...................................178.4节目信息管理模块与加扰模块之间的接口(CAS-4)....................................178.5加扰模块与复用器之间的接口(CAS-5)..............................................178.6CAM-S与复用器之间的接口(CAS-6).................................................178.7EAM-S与EAM-C之间的接口(CAS-7)..................................................178.8EPM-S与EPM-C之间的接口(CAS-8)..................................................178.9CAM-C与解扰模块之间的接口(CAS-9)...............................................188.10EAM-S与EPM-S之间的接口(CAM-1).................................................188.11EAM-C与EPM-C之间的接口(CAM-2).................................................189移动多媒体广播条件接收系统中的电子钱包模块.........................................189.1电子钱包模块概述.................................................................189.2电子钱包模块的应用环境和安全机制.................................................199.3EPM-S/EPM-C功能和接口............................................................199.4电子钱包模块信令.................................................................209.5电子钱包的管理...................................................................21I GY/T220.6—20089.6电子钱包的交易...................................................................2210移动多媒体广播条件接收系统终端模块通用接口........................................2310.1基于通用接口的终端逻辑架构......................................................2410.2终端和MMB-CAS终端模块之间的应用接口定义.........................................2510.3用户交互........................................................................2710.4MMB-CAS终端模块的人机交互接口...................................................3111移动多媒体广播条件接收相关信息在CMMB复用帧中的映射................................3311.1视音频数据的加扰及条件接收相关信息在CMMB信道中的复用传输........................3311.2数据广播业务的加扰..............................................................34附录A(规范性附录)加密授权信息在CMMB系统中的复用和传输..............................36附录B(规范性附录)移动多媒体广播条件接收系统信令....................................45附录C(规范性附录)移动多媒体广播条件接收系统电子钱包模块逻辑接口和相关流程..........54附录D(规范性附录)电子钱包应用密钥关系及相关文件....................................76附录E(规范性附录)双向信道的授权和管理信息传输......................................83附录F(规范性附录)TLV数据格式......................................................84附录G(资料性附录)移动多媒体广播条件接收系统终端模块参考模型........................89附录H(资料性附录)基于SD物理接口的MMB-CAS终端模块...................................99附录I(资料性附录)基于USB物理接口的MMB-CAS终端模块.................................102附录J(资料性附录)基于SPI物理接口的MMB-CAS终端模块.................................105附录K(资料性附录)MMB-CAS终端模块应用场景..........................................107附录L(资料性附录)Java卡中EAM-C和EPM-C应用的下载流程...............................108II GY/T220.6—2008前言GY/T220《移动多媒体广播》为系列标准。——第1部分:广播信道帧结构、信道编码和调制;——第2部分:复用;——第3部分:电子S业务指南;——第4部分:紧急广播;——第5部分:数据广播;本部分为GY/T220的第6部分。请注意本部分的某些内容有可能涉及专利。本部分的发布机构不应承担识别这些专利的责任。本部分由全国广播电视标准化技术委员会归口。本部分起草单位:国家广播电影电视总局无线电台管理局、国家广播电影电视总局广播科学研究院、国家广播电影电视总局广播电视规划院、国家广播电影电视总局广播电视监测中心、联想集团、中国国际电视总公司、中国有线电视网络有限公司、北京永新视博数字电视技术有限公司、握奇智能科技有限公司、武汉天喻信息产业股份有限公司、中国科学院声学研究所、广州信为信息科技有限公司、国家网络新媒体工程技术研究中心、爱迪德技术(北京)有限公司、北京华旗资讯科技发展有限公司。本部分主要起草人:曹青、盛志凡、余英、易鹏、周红君、赵翮、段垚、覃毅力、党海飞、王志飞、陈锐、高翔、刘达、常毅、陈君、胡龙升、王同洋、程滔、曾学文、周爱、相全双、关宏超、潘乐、谷晓军、郭轶尊、张海永、廖卫国、王军、牛争科、史秉宇、张建华、陈琦、富路、薛滨、王义、赵移山、邓岸、戴博。III GY/T220.6—2008移动多媒体广播第6部分:条件接收1范围GY/T220的本部分规定了移动多媒体广播条件接收系统的系统构成、总体要求、技术体系、逻辑架构和功能、分系统间接口、电子钱包模块、移动多媒体广播系统复用传输的适配等。本部分适用于通过卫星和/或地面无线发射的视频、音频、数据信息等移动多媒体广播系统。2规范性引用文件下列文件中的条款通过GY/T220的本部分的引用而成为本部分的条款。凡是注日期的引用文件,其随后所有的修改单(不包括勘误的内容)或修订版均不适用于本部分,然而,鼓励根据本部分达成协议的各方研究是否可使用这些文件的最新版本。凡是不注日期的引用文件,其最新版本适用于本部分。GB/T15273.1-1994信息处理八位单字节编码图形字符集第一部分:拉丁字母一GB/T15120-94识别卡记录技术GB/T15694.1-1995识别卡发卡者标识第一部分:编号体系GY/T220.2-2006移动多媒体广播第2部分:复用GY/T220.3-2007移动多媒体广播第3部分:电子业务指南GY/T220.5-2008移动多媒体广播第5部分:数据广播GY/Z175-2001数字电视条件接收系统规范JRT0025.1-2005中国金融集成电路(IC)卡规范第1部分电子钱包-电子存折卡片规范JRT0025.2-2005中国金融集成电路(IC)卡规范第2部分电子钱包-电子存折应用规范IETFRFC2104HMAC:Keyed-HashingforMessageAuthentication.IETFRFC2401SecurityArchitecturefortheInternetProtocol.IETFRFC3016RTPPayloadFormatforMPEG-4Audio/VisualStreamsIETFRFC3550RTP:ATransportProtocolforReal-TimeApplicationsIETFRFC3602TheAES-CBCCipherAlgorithmandItsUsewithIPsec.IETFRFC3640RTPPayloadFormatforTransportofMPEG-4ElementaryStreamsIETFRFC3711SRTP:TheSecureReal-timeTransportProtocol(SRTP).IETFRFC3984RTPPayloadFormatforH.264VideoIETFRFC4301SecurityArchitecturefortheInternetProtocol.IETFRFC4346TLS:TheTransportLayerSecurity(TLS)ProtocolIETFRFC4566SDP:SessionDescriptionProtocolIETFRFC4568SessionDescriptionProtocol(SDP)-SecurityDescriptionsforMediaStreamsISMAEncryptionandAuthentication,Version1.1SDMemoryCardSpecificationPart1,PHYSICALLAYERSPECIFICATION,Version2.0,2006SDCardSpecificationPartE1SecureDigitalInput/Output(SDIO)CardSpecificationVersion2.00,20063术语、定义、缩略语和约定3.1术语和定义下列术语和定义适用于GY/T220的本部分。1 GY/T220.6—20083.1.1业务service在广播者的控制下,可以按照时间表分步广播的一系列节目。3.1.2条件接收系统conditionalaccesssystem条件接收是指这样一种技术手段,它只容许被授权的用户使用某一业务,未经授权的用户不能使用这一业务。条件接收系统正是实现该功能的系统。3.1.3条件接收模块conditionalaccessmodule实现移动多媒体广播业务授权管理和接收控制的功能模块。3.1.4加密授权模块encryptionandauthorizationmodule实现加扰控制字安全传输和业务授权控制的功能模块。3.1.5电子钱包electronicpurse基于智能卡的安全特性,支持圈存、消费和查询余额等交易的应用和数据结构。3.1.6电子钱包模块electronicpursemodule实现电子钱包功能的模块,包括EPM-S和EPM-C。3.1.7广播信道broadcastingchannel通过广播方式进行单向传输的信道。3.1.8双向信道auxiliarybidirectionalchannel移动多媒体终端与前端系统进行双向数据交互的辅助信道,如Internet网络、OTA短信传输链路等。3.1.9双向网关bidirectionalgateway在双向信道中用于接收终端数据并转换成前端可用数据格式的设备。3.1.10信令signaling在网络中传输的命令信号。3.1.11加扰/解扰scrambling/descrambling加扰是指对视音频节目和数据加以一定扰乱处理,使未授权的接收端无法正确地呈现。通常在广播前端的条件接收系统控制下通过改变或控制被传送业务的某些特性实现。解扰是加扰的逆过程,在用户接收端的解扰器中完成。3.1.12加密/解密encryption/decryption加密是指以某种特殊的算法对传输数据加以保护,使得未授权的用户无法获得被传输数据的内容。广播电视系统的加密通常由广播前端的条件接收系统完成。解密是加密的逆过程,解密操作在接收机端进行。3.1.13授权控制信息entitlementcontrolmessage一种专有的条件接收信息,包含有经安全加密的控制信息和授权信息。2 GY/T220.6—20083.1.14授权控制信息发生器entitlementcontrolmessagegenerator产生授权控制信息的部件。3.1.15授权管理信息entitlementmanagementmessage一种专有的条件接收信息,指定了用户或用户组对业务的授权等级。3.1.16授权管理信息发生器entitlementmanagementmessagegenerator产生授权管理信息的部件,并按照合适的时间间隔重发。3.1.17控制字controlword用于加扰的控制信息。3.1.18控制字发生器controlwordgenerator用于产生控制字的部件。3.1.19加扰周期cryptoperiod加扰器使用某一个控制字的时间段长度。3.1.20业务加密密钥serviceencryptionKey对加扰控制字加密时所用的密钥。3.1.21用户密钥user’skey分配给用户的密钥,在加密业务加密密钥时使用。3.1.22同密同步器simulcryptsynchroniser一种获得控制字和授权控制信息,并使所有与之相连的条件接收系统同步播出的逻辑部件。3.1.23智能安全模块smartsecuritymodule均指用于接收机中条件接收系统模块的集成电路模块。3.1.24复用multiplex将广播者的业务数据封装成符合广播信道物理层逻辑的数据帧。3.1.25电子业务指南electronicServiceGuide一种多媒体广播信息导航业务。通过ESG能够获得多媒体广播业务的相关信息,如业务名称、播放时间、内容梗概等,便于终端用户快速检索和访问。3.1.26增值value-in电子钱包增加余额的过程,包括圈存和离线充值两类。3.1.27圈存load在联机状态下,为电子钱包增值的过程。3.1.283 GY/T220.6—2008离线充值offlinerecharging在脱机状态下,为电子钱包增值的过程。3.1.29消费purchase消耗电子钱包的额度,获取服务的过程。3.1.30增值记录value-inrecord记录电子钱包增值行为的数据结构。3.1.31消费记录purchaserecord记录电子钱包消费行为的数据结构。3.1.32消息鉴别码messageauthenticationcode对交易数据及其相关参数进行运算后产生的代码,主要用于验证报文的完整性。3.1.33产品product运营商向客户销售的业务或其它服务。3.1.34产品费率productprice运营商向客户销售的业务或其它服务的价格。3.1.35报文message以一定格式组织起来的数据。3.1.36安全报文securitymessage能够保证数据可靠性、完整性和对发送方认证的报文。3.1.37管理动作manageaction对电子钱包的密钥或增值方式等进行生效或失效的控制操作。3.2缩略语下列缩略语适用于GY/T220的本部分。AESAdvancedEncryptionStandard高级加密标准AHAuthenticationHeaderIPSec认证头APIApplicationProgrammingInterface应用编程接口AUAccessUnit访问单元BIPInterleavedBitTransmission比特交错传输BOSSBusinessandOperationSupportSystem业务运营支撑系统CAConditionalAccess条件接收CAMConditionalAccessModule条件接收功能模块CAM-SConditionalAccessModule--Server条件接收前端模块CAM-CConditionalAccessModule--Client条件接收终端模块CASConditionalAccessSystem条件接收系统CICommonInterface公共接口CMMBChinaMobileMultimediaBroadcasting中国移动多媒体广播4 GY/T220.6—2008CPCryptoPeriod加扰周期CRCCyclicRedundancyCheck循环冗余校验CWControlWord控制字CWGControlWordGenerator控制字发生器DPKDevicePurchaseKey设备消费密钥EAMEncryptionandAuthorizationModule加密授权模块EAM-SEncryptionandAuthorizationModule-Server加密授权前端模块EAM-CEncryptionandAuthorizationModule-Client加密授权终端模块ECMEntitlementControlMessage授权控制信息ECMGEntitlementControlMessageGenerator授权控制信息发生器EMMEntitlementManagementMessage授权管理信息EMMGEntitlementManagementMessageGenerator授权管理信息发生器EPElectronicPurse电子钱包EPMElectronicPurseModule电子钱包模块EPM-SElectronicPurseModule--Server电子钱包前端模块EPM-CElectronicPurseModule--Client电子钱包终端模块ESGElectronicServiceGuide电子业务指南ESPEncapsulatingsecuritypayload封装安全负载GRPSGeneralPacketRadioService通用无线分组业务GSMGlobalSystemforMobileCommunications全球移动通讯系统HTMLHyperTextMarkupLanguage超文本标记语言HTTPHyperTextTransferProtocol超文本传输协议HTTPSSecureHypertextTransferProtocol安全超文本传输协议IDIdentifier标识符IPInternetProtocol互联网协议IPPVImpulsePay-Per-View即时按次数付费IPSecIPSecurityIP安全通信标准ISMAInternetStreamingMediaAlliance互联网流媒体联盟ISMACrypInternetStreamingMediaAllianceCrypt互联网流媒体联盟加扰标准MACMessageAuthenticationCode消息鉴别码MKIMasterKeyIndicator主密钥标识MMB-CASMobileMultimediaBroadcasting–移动多媒体广播条件ConditionalAccessSystem接收系统MPEGMovingPicturesExpertGroup运动图像专家组MSFMultiplexSubFrame复用子帧MUXMultiplex复用OTAOver-the-AirTechnology空中下载技术PBOCPeople"sBankofChina中国人民银行PPVPay-Per-View按次数付费PPTPay-Per-Time按时长付费RFIDRadioFrequencyIdentification无线射频辨识ROCRoll-overcounter循环计数器RTPReal-timeTransportProtocol实时传输协议5 GY/T220.6—2008SASecurityAssociation安全关联SACSecureAuthenticationChannel安全认证通道SCSmartCard智能卡SCRScrambler加扰器SCSSimulcryptSynchroniser同密同步器SDSecureDigital安全数字卡SDIOSecureDigitalInput/Output安全数字输入/输出SDPSessionDescriptionProtocol会话描述协议SEKServiceEncryptionKey业务密钥ServiceIDServiceIdentifier业务标识SMDSurfaceMountedDevice表面贴装器件SMSShortMessageSystem短消息系统SPISecurityParamaterIndex安全参数索引SRTPSecurityRTP安全实时传输协议TCPTransportControlProtocol传输控制协议TLSTransportLayerSecurity传输层安全协议TLVTagLengthValue标签、长度和载荷值UDPUserDatagramProtocol用户数据报协议UIUserInterface用户界面(接口)UKUser’sKey用户密钥USBUniversalSerialBus通用串行总线USIMUniversalSubscriberIdentityModule通用用户识别模块WMLWirelessMarkupLanguage无线标记语言XHTMLExtensibleHyperTextMarkupLanguage可扩展超文本标记语言XMLExtensibleMarkupLanguage可扩展标记语言XPEeXtensibleProtocolEncapsulation可扩展协议封装bslbfbitstring,leftbitfirst比特串,左位在先uimsbfunsignedinteger,mostsignificantbitfirst无符号整数,高位在先3.3约定下列约定适用于GY/T220的本部分。3.3.1保留如未加特殊说明,本部分中的所有保留位应置为‘1’。3.3.2关系运算符<小于>大于==等于!=不等于3.3.3算术运算符++递增加13.3.4赋值操作符=赋值操作3.3.5条件运算符?:如果…真则…,否则…6 GY/T220.6—20084移动多媒体广播条件接收系统概述GY/T220的本部分规定移动多媒体广播条件接收系统(MMB-CAS)功能和技术要求。MMB-CAS可为移动多媒体广播业务提供传输过程中的保护,即针对业务的广播通道保护。移动多媒体广播运营商通常在播出时针对移动多媒体业务加入MMB-CAS条件接收控制机制。采用MMB-CAS,移动多媒体广播运营商可针对业务或业务包向指定用户或用户组授权,使得只有授权用户或用户组才能接收相关业务。MMB-CAS分为前端子系统和终端子系统两部分,在移动多媒体广播系统中的位置如图1所示。其中,双向网络是可选的,可以为前端与移动多媒体接收终端之间提供点对点的数据交互通道。运营支撑系统MMB-CAS前端子系统内容集成与播出系统广播网络双向网络MMB-CAS终端子系统终端图1移动多媒体广播条件接收系统在移动多媒体广播系统中的位置本部分所定义和规定的条件接收系统既可适用于单向广播网络场景,也可适用于单向广播网络和双向网络相结合的场景。在仅有单向广播网络或单向终端的情况下,MMB-CAS可通过前端向终端广播授权信息方式向用户授权,或结合使用加密授权与电子钱包功能,通过终端本地交互方式实现用户自授权。在单向广播网络与双向网络和双向终端均可用的情况下,MMB-CAS还可通过双向网络以前端与终端点对点交互方式向用户授权。MMB-CAS只使用双向网络传输授权管理信息、系统信令或电子钱包记录等,而不使用双向网络传输业务。5移动多媒体广播条件接收系统总体要求系统构成如图2所示,包括前端子系统和终端子系统。7 GY/T220.6—2008节目信息管理模块解扰模块加扰模块业务运营支撑EAM-SEAM-C系统接口条件EPM-SEPM-C接收系统监管CAM-SCAM-C接口前端子系统终端子系统移动多媒体广播条件接收系统图2移动多媒体广播条件接收系统构成5.1条件接收前端子系统条件接收前端子系统主要由加密授权前端模块(EAM-S)、电子钱包前端模块(EPM-S)和加扰模块组成,EAM-S和EPM-S合称为CAM-S。5.1.1EAM-SEAM-S是MMB-CAS中进行密钥管理和用户授权的前端模块。EAM-S只容许被授权的用户使用某一业务,未经授权的用户不能使用这一业务。EAM-S应支持集中与分级授权控制和管理。EAM-S应支持大规模用户,支持通过升级扩充管理用户数量。EAM-S应具有足够的安全性和防攻击能力。EAM-S应支持单向授权和终端本地自授权,也可支持双向授权。EAM-S应支持灵活的业务组合。5.1.2EPM-SEPM-S是MMB-CAS中对电子钱包控制和管理的前端模块。EPM-S应具有电子钱包帐户管理功能。EPM-S应具有密钥管理功能,安全管理密钥的生命周期。EPM-S应具有对EPM-C控制和管理的功能。EPM-S应具有生成和发送电子钱包信令的功能。EPM-S应具有对EPM-C实现圈存的功能。EPM-S应具有接收EPM-C回传交易记录的功能。EPM-S应具有对回传交易记录的对帐管理功能。在实现圈存和交易记录回传等功能时,可通过专用设备操作MMB-CAS终端模块等方式实现,也可通过移动多媒体接收终端与前端系统之间的双向网络实现。5.2加扰模块加扰模块位于条件接收系统的前端,作用是为了保证安全而对移动多媒体广播业务进行特殊处理,使得未经授权的接收者不能得到处理前的业务。加扰模块须对业务数据提供足够强度的安全保护。加扰方式应支持ISMACryp规范,可选支持SRTP和IPSec。5.3节目信息管理模块节目信息管理模块建立统一的节目信息配置表。8 GY/T220.6—2008节目信息管理模块应支持多频道、多业务。5.4业务运营支撑系统接口条件接收前端子系统需提供与业务运营支撑系统(BOSS)之间的接口,BOSS实现业务运营过程中的用户管理、业务管理与控制、授权指令生成与发送、计费和账务处理等功能。5.5条件接收系统监管接口条件接收前端子系统具备国家广播电视行政主管部门进行行业管理所必要的技术监管接口,有关接口技术标准另行制定。5.6条件接收终端子系统条件接收终端子系统主要由加密授权终端模块(EAM-C)、电子钱包终端模块(EPM-C)和解扰模块组成,EAM-C和EPM-C组合为CAM-C。CAM-C完成对授权控制与管理信息的解密,以及广播业务订购和自授权等。CAM-C应具有足够的安全性和防攻击能力。CAM-C应支持单向、双向授权和终端本地自授权。CAM-C应支持多种类型的终端实现与快速集成。CAM-C应支持对EPM-C的状态查询功能,并作相应处理,如通过UI显示警告信息等。解扰模块位于条件接收系统的终端,其流程与前端加扰模块相反。6移动多媒体广播条件接收系统分层模型移动多媒体广播条件接收系统技术体系以四层密钥模型为基础,建立密钥安全管理与授权控制管理及分发机制,利用加扰技术,实现对移动多媒体广播业务的条件接收。6.1四层密钥模型移动多媒体广播条件接收系统的密钥体系采用包含用户注册层、授权/安全管理层、授权控制层和业务加扰层的四层模型。该模型的特点是密钥分层保护;每个密钥都有各自的生命周期;下层密钥由上层密钥加密后传输,如图3所示。图3移动多媒体广播条件接收系统四层密钥模型6.1.1用户注册层9 GY/T220.6—2008用户注册层实现用户密钥(UK)在终端安全模块中的预置,或实现按双向注册方式的用户密钥分发。UK用来对业务密钥(SEK)进行加密/解密。6.1.2授权/安全管理层授权管理层实现授权管理信息(EMM)数据从前端到终端的安全传递。前端利用UK对SEK信息加密,生成EMM,通过广播或双向信道传输给终端,终端进行解密获得SEK。SEK用来对控制字(CW)进行加密/解密。安全管理层实现系统信令数据从前端到终端的安全传递。通常将系统信令利用UK加密后封装EMM中,通过广播或双向信道传输给终端,终端进行解密获得系统信令。利用系统信令进行系统的安全控制、密钥管理、功能管理等。6.1.3授权控制层授权控制层实现授权控制信息(ECM)数据从前端到终端的安全传递。前端利用SEK对CW进行加密,生成ECM,通过广播信道传输给终端,终端进行解密获得CW。CW用来对传输的业务进行加扰/解扰。6.1.4业务加扰层业务加扰层实现业务数据从前端到终端的安全传递。前端利用CW对业务进行加扰,通过广播信道传送给终端,终端利用CW对加扰业务进行解扰。6.2密钥安全管理移动多媒体广播条件接收系统的核心是安全算法和密钥。6.2.1密钥安全移动多媒体广播条件接收系统应至少采用三类密钥:控制字(CW),业务密钥(SEK),用户密钥(UK)。根据每类密钥使用特点,其安全强度应有一定要求。6.2.2密钥生成密钥由密钥发生器生成,密钥发生器应保证密钥的随机性。6.2.3密钥存储密钥存储应保证前端密钥和用户本地密钥的安全存储。6.2.4密钥分发承载CW的ECM通过广播信道分发。承载SEK的EMM通过广播信道分发,在有可选双向信道的条件下,也可通过双向信道分发。UK可预置在用户终端的安全容器中,在有可选双向信道的条件下,也可以双向认证的方式通过双向信道分发。6.2.5密钥管理对密钥的管理包括密钥更新、密钥销毁、密钥失效、密钥生效等。通过系统信令可以对密钥进行控制管理。6.3授权控制信息和授权管理信息授权控制信息(ECM)是面向业务的信息,包含经安全加密的控制信息和授权信息。授权管理信息(EMM)是面向用户的信息,指定用户或用户组对业务或事件的授权等级。ECM和EMM中的访问准则通过相互映射的逻辑关系实现以多种方式定制同一业务。a)ECM功能·应携载加密的CW或者能够复原CW的必要参数。·应带有业务访问准则。·可带有辅助与扩展信息,如费率信息、时间戳等。·应保证信息完整性和不可篡改性。b)EMM功能·用户寻址功能,支持全局寻址、分组寻址、按属性寻址和唯一寻址等多种方式。·定制业务的访问准则和授权管理。10 GY/T220.6—2008·不同优先级策略的信息发送。·传输、管理、更新密钥。·电子钱包管理。·系统信令、定制信息安全封装。6.4加扰方式本章规范业务加扰层的处理方式。相关头端和终端模块应支持ISMACryp,可选支持其它加扰/加密协议。6.4.1ISMACryp6.4.1.1加扰算法缺省加扰算法采用AES-128-CTR,可支持更长的密钥。6.4.1.2传输报文结构本节定义加扰的RTP报文格式。该RTP有效负载结构是基于mpeg4-generic[RFC3640]定义的通用mpeg4RTP有效负载格式,定义见表1。表1RTP有效负载格式每个ISMACrypRTP包中,可包含一个或多个完整的AU,或某个AU的片段。通过在AU头部分段(AUHeaderSection)中增加新的域,来支持负载媒体的加密。AU头部分段(AUHeaderSection)结构定义见表2。表2RTPAU头部分段结构如果AU头配置为空,那么AU头长度字段不应存在,且后续的AU头字段应为空。如果AU头未被配置为空,则AU-headers-length为2字节,指明紧跟其后的不包括填充位的AU头比特位长度。AU头(AUHeader)应符合RFC3640的要求,见表3。表3RTPAU头定义AU-sizeAU-Index/AU-Index-deltaCTS-flagCTS-deltaDTS-flagDTS-deltaRAP-flagStream-stateISMACryp在每个AU头的前面插入加密元数据(CMMBCryptContextAUHeader),即这些元数据域插入在原AU头的AU-size域之前,用于为RTP包中的每个AU或AU片段提供加密上下文。元数据结构如表4所示。表4元数据结构AU_is_encryptedinitial_IV/delta_IVKeyIndicator加密元数据的具体定义如表5所示:11 GY/T220.6—2008表5加密元数据aligned(8)classCMMBCryptContextAUHeader(intauNum){if(ISMACrypSelectiveEncryption==1){bit(1)AU_is_encrypted;//加密指示bit(7)reserved;//值为0}ElseifAU_is_encrypted==1;if(auNum==0){//包中第一个AUunsignedint(8*ISMACrypIVLength)initial_IV;unsignedint(8*ISMACrypKeyIndicatorLength)KeyIndicator;}else{int(8*ISMACrypDeltaIVLength)delta_IV;if(ISMACrypKeyIndicatorPerAU)unsignedint(8*ISMACrypKeyIndicatorLength)KeyIndicator;}}第一个AU头的格式与第二个AU及随后的AU头不同。CMMBCryptContextAUHeader中:·AU_is_encrypted可选的标示比特域,用于标示选择性加密,1标示对应的AU被加密,0标示未加密。通过ISMACrypSelectiveEncryption参量来配置本域的出现。对于加密AU,同一AU的所有分片AU_is_encrypted取值都相同。·KeyIndicator当ISMACrypKeyIndicatorLength非零时,本字段表示一个AU密钥标识。如果ISMACrypKeyIndicatorPerAU为0,则仅第一个AU在密码上下文中有明确的密钥指示,所有后续的AU应当使用与其相同的密钥标识。如果ISMACrypKeyIndicatorPerAU为1,则对每个AU或分片都有包含在密码上下文中的key_indicator。如果某AU的SelectiveEncryption为0,则忽略该域的值。·initial_IVRTP包中第一AU或AU分片的初始IV值。·delta_IV当ISMACrypDeltaIVLength非零并且数据在RTP包有效负载中交织时,本字段包含了基于AU单元的IV数据。每个AU使用的实际IV计算如下:(包中第一个AU索引标注记为0)IV[0]:=AUHeader[0].initial_IV;//报文中第一个AUIV[N+1]:=IV[N]+AUSize[N]+(ISMACrypDeltaIVLength==0?0:AUHeader[N+1].delta_IV)//后续AU6.5移动多媒体广播条件接收系统信令在移动多媒体广播条件接收系统中,系统信令是前端与终端之间所传递的一种控制信息,在移动多媒体广播信道和/或双向信道中传输,主要包括加扰参数信令、产品费率信令、电子钱包信令等。12 GY/T220.6—20086.5.1加扰参数信令加扰参数信令指示加扰器对业务加扰的参数,采用XML描述,具体格式参见附录B。6.5.2产品费率信令产品费率信令指示业务产品的相关费率信息,采用XML描述,具体格式参见附录B。6.5.3电子钱包信令电子钱包信令主要包括钱包密钥管理、增值方式管理和钱包状态管理等,具体格式参见附录B。7移动多媒体广播条件接收系统系统框图和功能概述7.1移动多媒体广播条件接收系统系统框图移动多媒体广播条件接收系统逻辑框图,如图4所示。图4移动多媒体广播条件接收系统框图移动多媒体广播条件接收系统包括前端和终端两个部分。·前端移动多媒体广播条件接收系统前端对输入的视音频流进行加扰,通过广播信道或双向信道发送条件接收的授权信息和钱包信息,完成业务的加密保护传送和合法授权控制管理,是实现各项业务和服务的基础。MMB-CAS前端主要包括CAM-S(EAM-S和EPM-S)、加扰模块等。·终端移动多媒体广播条件接收系统终端对用户的授权进行合法性验证,解扰受保护的业务,实现移动多媒体广播业务的条件接收。7.2CAM-S功能概述7.2.1EAM-S功能概述EAM-S应完成的主要功能:·接收节目信息管理模块的节目加扰控制信息;·接收加扰器传来的CW,根据节目加扰控制信息对CW进行加密,生成ECM后返回给加扰器;·接收配置的加扰参数,通过广播方式发送给终端;·对授权信息进行加密,生成EMM并根据要求广播发送给终端;13 GY/T220.6—2008·将未加密产品费率信息通过ESG或EMM广播发送给终端;·对产品费率信息进行加密或签名确保其完整性,并通过ECM和/或EMM广播发送给终端;·对授权信息进行加密,生成EMM通过双向通道发送给终端;·接收EPM-S传来的钱包指令,将钱包指令打包进入EMM并根据要求广播发送给终端。EAM-S功能及接口框图如图5所示。图5EAM-S功能结构图EAM-S主要包括授权控制信息发生器(ECMG)和授权管理信息发生器(EMMG)。另外对外接口采用一个逻辑模块进行体现。·ECMGECMG与加扰器接口,ECMG接收CW,生成ECM信息并返回。ECMG的基本功能应满足GY/Z175-2001中附录E同密技术中的要求。·EMMGEMMG生成EMM信息,并通过与复用器接口发送EMM。EMMG的基本功能应满足GY/Z175-2001中附录E同密技术中的要求。7.2.2EPM-S功能概述EPM-S维护和管理每个终端电子钱包的状态和相关密钥,保证电子钱包相关信令和交易数据的安全性和完整性,利用圈存和离线充值方法增值,建立与EPM-C之间的回传通道,回传交易记录。具体功能描述见9.3。7.3加扰模块功能概述加扰模块应包含加扰器、SCS和CWG等部分。应遵循ISMACryp1.1规范对视音频流进行加扰,可选支持SRTP或IPSec加扰方式。加扰模块中SCS与CAS接口协议应符合GY/Z175-2001附录E。7.4MMB-CAS终端模块功能概述MMB-CAS终端模块的逻辑功能如图6所示。14 GY/T220.6—2008播放器加扰视音频、解扰视音频加扰数据解扰模块解扰数据终端CW应用加扰参数费率信息广播接口解调/解复用ECMEAM-CEMMUIEPM-CCAM-C双向接口MMB-CAS图6MMB-CAS终端模块逻辑功能图MMB-CAS终端模块主要包含CAM-C和解扰模块。MMB-CAS终端从解调/解复用模块接收加扰的视音频流、加扰数据,利用解扰模块进行解扰,从解调/解复用模块接收加扰参数、费率信息、ECM、EMM等数据,利用EAM-C及EPM-C进行处理。同时MMB-CAS终端与UI、播放器等进行接口通信。MMB-CAS终端模块可有SMD、SD卡和USB器件等物理形态。终端实现参见附录G。8移动多媒体广播条件接收各模块间接口及其与其它系统间接口本章定义了移动多媒体广播条件接收系统内部及外部的接口规范,从而限定了移动多媒体广播条件接收系统内部模块之间的通讯协议及移动多媒体广播条件接收系统与各移动多媒体广播系统部件之间的通讯协议,保证移动多媒体广播条件接收系统在整个移动多媒体广播系统中的正常应用。移动多媒体广播条件接收系统内部接口及外部接口示意图如图7所示。15 GY/T220.6—2008图7MMB-CAS逻辑功能与接口图8.1CAM-S与加扰模块之间的接口(CAS-1)本接口实现CAM-S与加扰模块之间的数据交换,如控制字、CA相关信息、ECM、加扰参数等数据的传输。加扰模块的同密同步控制(SCS)部件与CAM-S中的EAM-S内ECMG接口应符合GY/Z175-2001附录E。8.2CAM-S与业务运营支撑系统(BOSS)之间的接口(CAS-2)8.2.1接口概述本接口实现CAM-S与业务运营支撑系统(BOSS)之间的消息通信,完成授权相关信息下传、费率信息下传、钱包增值、钱包管理等功能。8.2.2基本功能·授权相关信息下传业务运营支撑系统(BOSS)向CAM-S发送授权相关信息。·费率信息下传业务运营支撑系统(BOSS)向CAM-S发送费率信息,如:节目ID、节目价格、费率单位等。·钱包增值业务运营支撑系统(BOSS)向CAM-S发送钱包增值消息,消息的内容包括钱包ID、增值方式、充值金额等;CAM-S接收到该指令,生成电子钱包信令,实现对终端电子钱包的充值。·钱包管理业务运营支撑系统(BOSS)根据需要,向CAM-S发送钱包管理消息,如钱包ID、管理动作等,实现对电子钱包增值方式、消费状态等内容的管理。·返回充值信息CAM-S响应业务运营支撑系统(BOSS)的指令,返回离线充值和圈存数据。16 GY/T220.6—20088.2.3协议本接口基于TCP/IP协议进行通信。8.3CAM-S系统与节目信息管理模块之间的接口(CAS-3)节目信息管理模块定义了节目的基本数据信息,并通过此接口向CAM-S提供节目相关参数,包括:节目标识,节目开始时间,节目结束时间等。CAM-S根据接收的参数同步与加扰模块之间的通讯,从而控制对节目的加扰。8.4节目信息管理模块与加扰模块之间的接口(CAS-4)节目信息管理模块定义了节目的基本数据信息,包括加扰器需要的加扰参数,加扰模块根据这些参数对加扰器进行配置。加扰配置参数包括:节目标识,节目源信息等。8.5加扰模块与复用器之间的接口(CAS-5)加扰模块与各标准类型的复用器之间的接口将遵循相应的标准规范。加扰模块与CMMB系统的复用器之间的接口见11章。8.6CAM-S与复用器之间的接口(CAS-6)CAM-S通过此接口向复用器发送授权管理信息(EMM),复用器完成EMM与节目的复用,进而实现授权管理信息在广播网络内的传输。CAM-S与复用器之间的接口见11章。8.7EAM-S与EAM-C之间的接口(CAS-7)8.7.1接口概述本接口实现前端EAM-S与终端EAM-C之间的消息通信,完成带外授权信息传输以及用户消费、收看记录回传等功能。8.7.2基本功能·双向信道授权信息传输EAM-S生成EMM,通过本接口传输到终端EAM-C,完成对终端授权信息的带外传输功能。·消费与收看记录回传终端EAM-C将所要求的消费与收看记录通过本接口回传到前端。传输的内容包括:自授权消费记录(包括时间、内容、金额)、用户节目收看记录(包括时间、内容)等。8.7.3协议接口可以通过双向信道实现,参考实现方式见本部分附录C。8.8EPM-S与EPM-C之间的接口(CAS-8)8.8.1接口概述本接口实现前端EPM-S与终端EPM-C之间的消息通信,完成电子钱包圈存、管理以及电子钱包增值记录回传等功能。8.8.2基本功能·电子钱包增值记录回传通过本接口,终端EPM-C接收EPM-S发送的回传电子钱包增值记录请求,然后将电子钱包增值记录回传到前端。传输的内容包括:电子钱包序号、电子钱包增值记录(包括时间、增值方式、充值金额等)等信息。·电子钱包圈存与管理EPM-S生成的电子钱包指令通过本接口传输到终端EPM-C,完成对终端电子钱包圈存与管理等操作。圈存过程应符合JRT0025.1-2005和JRT0025.2-2005的要求。传输的内容包括:电子钱包序号、圈存金额、电子钱包管理指令等信息。8.8.3协议17 GY/T220.6—2008接口可以通过双向信道实现,参考实现方式见本部分附录C。8.9CAM-C与解扰模块之间的接口(CAS-9)CAM-C通过此接口将控制字(CW)传送给解扰模块,解扰模块应用控制字(CW)实现对加扰业务的解扰。8.10EAM-S与EPM-S之间的接口(CAM-1)EPM-S通过该接口将生成的电子钱包信令发送给EAM-S,EAM-S对其进行加密后,作为EMM的负载经过传输网络发送给终端。8.11EAM-C与EPM-C之间的接口(CAM-2)EPM-C通过该接口接收经EAM-C解密后的电子钱包信令,完成电子钱包充值、管理等功能。9移动多媒体广播条件接收系统中的电子钱包模块9.1电子钱包模块概述本章节描述了用于移动多媒体广播的条件接收系统(MMB-CAS)的电子钱包模块(EPM)。在移动多媒体广播条件接收系统(MMB-CAS)中,电子钱包模块(EPM)是实现移动多媒体广播业务保护的重要组成部分。电子钱包模块在移动多媒体广播条件接收系统中的位置如图8所示。视频、音频、数据加扰视频、ESG音频、数据加扰模块引擎ECM加扰节目信息管参数终端理模块CWECM播放器应用解复数据视频调音频EAM-SEMM用/加扰视频、解扰模块业务音频、数据/广播信道解加扰参数CW运营调复EPM-S支撑用EAM-C制系统CAM-SECM/EMMEPM-CESG发生器CAM-C双向接双向网关双向信道口前端终端图8电子钱包模块在移动多媒体广播条件接收系统中的位置电子钱包模块(EPM)是实现电子钱包控制、管理和维护的模块。该模块包括电子钱包前端模块(EPM-S)和电子钱包终端模块(EPM-C)两部分。EPM-S是EPM的前端子模块,维护和管理每个终端电子钱包的状态和相关密钥,保证电子钱包相关信令和交易数据的安全性和完整性;建立与EPM-C之间的回传通道,回传交易记录。EPM-C是终端上基于智能卡或安全芯片的安全特性,支持圈存、在线或离线增值、消费和查询余额等交易的应用和数据结构。EPM逻辑结构如图9所示。18 GY/T220.6—2008EAM-S广播信道EAM-CEPM-SEPM-CEPMCAM-SCAM-C在线圈存数据离线充值数据回传交易记录发行图9EPM逻辑示意图9.2电子钱包模块的应用环境和安全机制EPM-S位于运营商安全管理区域,其安全性可由运营商保障。本节规范了EPM-C的应用环境和安全机制。9.2.1EPM-C应用环境EPM-C应用环境是支持EPM-C和EAM-C运行的环境。在EPM-C应用环境下,仅运行EPM-C和EAM-C两种应用。EPM-C应用环境应保证EPM-C和EAM-C的安全下载以及EPM-C和EAM-C的安全共存。9.2.1.1EPM-C应用安全下载应用环境应为应用安全下载提供安全认证机制。应用环境应保证应用下载操作只在满足安全机制要求的前提下进行,并保证应用下载过程中数据或代码的安全性和完整性。9.2.1.2EPM-C应用安全共存应用环境应保证EPM-C和EAM-C的安全共存,防止EPM-C和EAM-C之间的非法调用和越界访问。9.2.2EPM-C安全机制9.2.2.1密钥和密码的保存EPM-C安全机制应保证所有密钥和密码的安全存储。在任何情况下所有密钥和密码不被泄漏;在没有授权的情况下,所有密钥和密码不被访问、调用和修改。9.2.2.2密钥独立性EPM-C安全机制应保证一种特定应用使用的密钥不被其它应用使用。9.2.2.3安全报文传送EPM安全机制应使用安全报文传送保证数据的可靠性、完整性和对发送方的认证。安全报文传送机制应使用消息认证码(MAC)保证数据完整性和对发送方的认证,应使用数据域加密保证数据的可靠性。9.3EPM-S/EPM-C功能和接口9.3.1EPM-S功能描述EPM-S应具有电子钱包帐户管理功能。EPM-S应具有密钥管理功能,安全管理密钥的生命周期。EPM-S应具有对EPM-C控制和管理的功能。EPM-S应具有生成和发送电子钱包信令的功能。19 GY/T220.6—2008EPM-S应具有对EPM-C实现圈存的功能。EPM-S应具有接收EPM-C回传交易记录的功能。EPM-S应具有对回传交易记录的对帐管理功能。EPM-S可将所有充值的记录提交给EAM-S。EPM-S可将所有EPM-C回传的交易失败记录提交给EAM-S。EPM-S可具有对EPM-C实现圈存和帐户管理并与银联支付网关联网的功能。9.3.2EPM-C功能描述EPM-C通过与EPM-S互操作,实现其增值、消费、控制管理和记录回传等功能。EPM-C还可以与EPM-S发行的授权载体进行数据交互,实现离线充值。EPM-C与EPM发行的授权载体离线充值交易时应与授权载体进行安全认证和数据交互,以保证离线充值交易的完整性和安全性。EPM-C与EAM-C在安全环境下共存。EPM-C应具有唯一标识。EPM-C可具有一个能够与外界进行数据交互的直接接口。EPM-C可支持EAM-C对EPM-C的状态查询。EPM-C可支持EAM-C对EPM-C的交易记录查询。EPM-C可具备符合人民银行规定的借记卡/贷记卡片磁条相关信息或IC卡信息安全录入、保存、调用等功能。9.3.3EPM-S与EAM-S的接口EPM-S应与EAM-S接口。9.3.4EPM-C与EAM-C的接口在同一CAM-C中,EPM-C应向EAM-C开放接口,该接口应实现读取余额、扣费授权交易、数据传输和其它扩展功能的方法。本部分只定义Java卡环境下EPM-C与EAM-C接口的实现方法;其它环境下的接口,本部分不做定义。9.4电子钱包模块信令EPM信令是EPM-S向EPM-C发送的控制管理命令及其相关数据。EPM-S对EPM信令进行数据组织和完整性保证处理,通过EMM的承载和寻址,传送到终端,由终端的EAM-C解密后,根据信令类型,提交EPM-C,EPM-C处理信令并进行完整性校验后,执行相关命令。9.4.1EPM信令报文及其描述EPM信令的报文格式和具体描述参见附录B。9.4.2EPM信令生成与处理EPM信令由EPM-S生成,通过EAM-S,以EMM的承载和寻址方式,传送到用户终端,并由EAM-C转交EPM-C。EPM-C解析所接收的电子钱包信令,并执行相关命令。电子钱包信令的生成、传输和处理见图10。20 GY/T220.6—2008前端终端EMM载荷广播EMM载荷(密文)下传(密文)EMM加密EMM解密信令载荷信令载荷信令包头信令包头(密文)(密文)主类型安全参数长度EPM-S加密EPM-C解密转交EPM处理信令载荷信令载荷信令包头信令包头(明文)(明文)主类型安全参数长度子类型数据子类型数据数据组织命令执行BOSS命令图10电子钱包信令的生成、传输和处理9.4.2.1EPM信令生成EPM-S生成伪随机数,计算MAC,组织数据,生成相应的电子钱包信令。EPM信令载荷应具有相同的数据长度。EPM信令载荷应通过MAC计算和加密处理,以保证信令的完整性和安全性。EPM信令载荷加密处理时使用的密钥标识和算法标识应作为安全参数写入信令包头。9.4.2.2EPM信令传输EPM信令由EMM承载和寻址,并由EAM-C接收后转发给EPM-C。9.4.2.3EPM信令处理在终端中,EMM承载的EPM信令由EAM-C进行解析处理,并转交EPM-C。EPM使用信令包头的安全参数,对信令载荷进行解密处理和数据解析,校验MAC,根据信令子类型,处理数据并执行命令。9.4.2.4EPM信令的完整性保证EPM信令使用EMM加密传输,在可靠寻址的前提下,保证传输的机密性。EPM信令载荷经过加密处理,保证数据的完整性和安全性。EPM信令载荷中应包括伪随机数、时间戳等信息和与其相关的MAC,以抵御重放攻击。9.5电子钱包的管理电子钱包前端既能够通过广播电子钱包信令的的方式,也能够通过双向传输信令的方式,管理终端电子钱包的密钥状态、充值方式和钱包状态等,还能够在营业网点现场管理电子钱包的口令(PIN),包括PIN解锁和PIN重装等。本条规范了基于广播方式的电子钱包管理,基于双向网络的电子钱包管理不在本章节规范范围内。9.5.1广播方式的管理9.5.1.1钱包密钥管理EPM-S通过电子钱包密钥管理信令,管理指定电子钱包的对应密钥。其实现过程为:EPM-S发起对终端某个电子钱包的密钥管理,主要动作为密钥的开和关。前端的EPM-S组装电子钱包密钥管理信令,由EAM-S通过EMM承载寻址的方式,作为特定EMM的载荷广播下传。终端的21 GY/T220.6—2008EAM-C将特定EMM的载荷转交EPM-C解析处理,EPM-C在解密信令载荷和验证MAC成功后,执行信令动作,实现前端对终端电子钱包的密钥管理。钱包密钥管理信令见附录B。9.5.1.2钱包增值方式管理EPM-S通过电子钱包增值方式管理信令,管理指定电子钱包的各种增值方式。其实现过程为:EPM-S发起对终端某个电子钱包的增值方式进行管理,主要动作为增值方式的开和关。前端的EPM-S组装电子钱包增值方式管理信令,由EAM-S通过EMM承载寻址的方式,作为特定EMM的载荷广播下传。终端的EAM-C将特定EMM的载荷转交EPM-C解析处理,EPM-C在解密信令载荷和验证MAC成功后,执行信令动作,实现前端对终端电子钱包的增值方式管理。钱包增值方式管理信令见附录B。9.5.1.3钱包状态管理EPM-S通过电子钱包状态管理信令,管理指定电子钱包的钱包状态。其实现过程为:EPM-S发起对终端某个电子钱包的状态进行管理,主要动作为增值和扣(消)费状态的开和关。前端的EPM-S组装电子钱包状态管理信令,由EAM-S通过EMM承载寻址的方式,作为特定EMM的载荷广播下传。终端的EAM-C将特定EMM的载荷转交EPM-C解析处理,EPM-C在解密信令载荷和验证MAC成功后,执行信令动作,实现前端对终端电子钱包的状态管理。钱包状态管理信令见附录B。9.6电子钱包的交易电子钱包的交易目前主要包括增值、消费和交易记录回传等。9.6.1增值电子钱包目前可以采用以下两种方式进行增值:圈存和离线充值。网络银行圈存、圈存机圈存、RFID圈存和OTA短信圈存属于圈存。EMM充值、充值码充值和智能充值卡充值属于离线充值。9.6.1.1圈存圈存是指EPM-C与EPM-S联机时,对EPM-C中的电子钱包进行增值的过程。圈存交易流程应符合JRT0025.1-2005和JRT0025.2-2005的规定。当使用圈存机时,圈存机应与EPM-S联机,发起圈存,交易流程应符合JRT0025.1-2005和JRT0025.2-2005的规定。其逻辑结构见图11。圈存机与EPM-C可有多种连接方式,如USB接口方式等。终端EPM-CEPM-S圈存机图11圈存逻辑结构图(圈存机方式)圈存还可以由终端发起,终端可通过短信通道、互联网或移动IP网与EPM-S进行双向交互。其逻辑结构见图12。图12圈存逻辑结构图(终端方式)22 GY/T220.6—20089.6.1.2离线充值离线充值是指EPM-C与EPM-S离线时,在保证交易安全性和完整性的前提下,对EPM-C中的电子钱包进行增值的过程。其逻辑结构见图13。离线充值可有多种实现方式,包括EMM充值、充值码充值和智能充值卡充值等。图13离线充值逻辑结构图9.6.1.3银联圈存银联圈存应符合JRT0025.1-2005和JRT0025.2-2005的规定,此章节操作要求EPM-C通过中国银联的认证。银联圈存是EPM-C通过银联机制进行支付和电子钱包的增值,在使用此项功能之前,需要用户进行开通操作,开通操作可以下两种方式:方式一:a)用户在营业网点签署银联支付协议,记录用户电子钱包ID并绑定银联/银行卡帐号;b)银联系统收到用户开通协议后,检验用户身份与银行卡相关资料;c)当绑定的银联/银行卡通过验证后,银联系统会绑定用户的电子钱包ID与银行卡相关信息,并开通支付功能。方式二:a)建立EPM-C与银联POS机的连接;b)用户在POS机上刷银联磁条卡,输入银联磁条卡的用户密码;c)POS机向中国银联网关发送查询报文,查询所刷银联卡是否满足交易要求;POS机接收中国银联的返回结果;如查询成功,则POS机通知EPM-C,要求EPM-C将磁条信息进行加密,并将加密的磁条信息存放在EPM-C的安全区域内,本部分不对加密机制做出规定。用户由银行账户向电子钱包的增值流程如下:a)终端通过双向信道,建立EPM-C与BOSS以及银联支付系统的连接。b)增值时由用户在移动多媒体终端上输入相关的密码(方式一输入支付密码,方式二输入银联磁条卡密码)及金额,提交给银联系统。c)银联支付系统认证用户支付请求,如支付请求成功,银联支付系统通知BOSS系统支付结果,BOSS系统记录用户的增值信息并将该信息提交EPM-S前端。d)EPM-S将增值信息送入EPM-C。9.6.2消费由EAM-C发起消费请求,EPM-C响应请求,执行消费动作。9.6.3记录回传EPM-C应支持电子钱包交易记录的回传。回传记录应包括电子钱包序号、电子钱包增值记录(包括时间、增值方式、充值金额等)、电子钱包消费记录等信息。10移动多媒体广播条件接收系统终端模块通用接口23 GY/T220.6—2008本节定义了移动多媒体广播条件接收系统终端模块(MMB-CAS终端模块)与移动多媒体广播系统终端其他应用的通用接口。MMB-CAS终端模块由EAM-C、EPM-C和解扰模块组成,主要包含对ECM处理、EMM处理、电子钱包操作和加扰流的解扰处理等功能。移动多媒体广播系统终端其他应用主要有解调、解复用、ESG、解码等。本节定义的通用接口,支持加扰的加密授权信息与加解扰音频、视频和数据流以及其他信息的传输;支持可选的安全认证通道(SAC)功能等;支持基于SD、USB、SPI等物理接口的实现。本节定义的通用接口,可使移动多媒体广播系统终端和MMB-CAS终端模块的实现相对独立。10.1基于通用接口的终端逻辑架构基于通用接口的终端逻辑架构如图14所示。用户交互终端HTTP(S)客户HTTP(S)应用端服务器SAC密钥EPM-C音视频子帧输出数据SACSACCWs播放器解扰器EAM-C解密模块加密模块接口适配子帧解析加扰数据层子帧输入子帧解析ECM,EMM,加扰参数解调解复用下载代理软件更新CMMB终端MMB-CAS终端图14终端通用接口逻辑图a)MMB-CAS终端模块组件:·子帧解析对子帧进行解析,将加扰数据和ECM,EMM分发给其他组件。·CAM-C处理CA相关的授权、控制和管理等工作。·解扰器基于AES-128-CTR算法。·HTTP(S)服务器独立运行于MMB-CAS终端模块内的HTTP(S)服务器;提供用户交互的Web接口和用户服务菜单;应用SAC时,用TLS在MMB-CAS终端模块和终端之间进行双向认证,应用SAC时,传输SAC密钥信令给终端。·SAC加密机解扰后的视音频数据加密;用过HTTPS消息与终端共享SAC密钥。·下载代理24 GY/T220.6—2008通过广播链路进行MMB-CAS终端模块的软件升级,本部分对软件升级的格式和方法不作规定。·EPM-CEPM-C通过与EPM-S互操作,实现其增值、消费、控制管理和记录回传等功能,EPM-C还可以与EPM-S发行的授权载体进行数据交互,实现离线充值。b)终端组件·解调/解复用接收CMMB广播信号;解调CMMB广播信号;解复用得到CMMB子帧。·子帧解析对子帧进行解析得到有效数据。·播放器播放CMMB格式的视音频数据。·HTTP(s)客户端处理基于HTTP的命令;在终端屏幕上显示WML或(X)HTML数据。·SAC解密模块对SAC保护的数据进行解密;SAC密钥通过HTTP(S)方式从终端获取。·终端应用CMMB终端的应用软件模块。在没有MMB-CAS终端模块的情况下,终端应直接播放未加扰的节目;在有MMB-CAS终端模块的情况下,接收的所有子帧应通过MMB-CAS终端模块来处理。MMB-CAS终端模块可以以多种物理形态存在。10.2终端和MMB-CAS终端模块之间的应用接口定义本节定义了MMB-CAS终端模块和终端之间的接口及传输的数据格式。MMB-CAS终端模块和终端之间交互的数据所有在都在一个通道中串行传输,并按照下文规定的TLV数据格式进行封装。MMB-CAS终端模块和终端之间的接口包括子帧输入、子帧输出和用户交互。10.2.1TLV数据格式本节规定了在MMB-CAS终端模块和终端之间传输数据的格式,其中与SAC相关的基于TLS的数据格式,仅用于未来扩展,在本部分中不作要求。TLV数据格式如表6所示:表6TLV数据格式TagLengthDataPayload其中各段数据的长度和含义如下:Tag1byte命令标识,对应的数据类型见下表Length4bytes数据载荷的长度(值为L1)DataPayloadL1bytes数据载荷25 GY/T220.6—2008表7TLV数据类型命令标识数据分类对MMB-CAS终端模块输入/输出0x01HTTPGET输入0x02HTTPPOST输入0x03HTTPHEAD输入0x04HTTPPUT输入0x05HTTPDELETE输入0x06HTTPRESPONSE输出0x07HTTPGETwithTLS输入0x08HTTPPOSTwithTLS输入0x09HTTPHEADwithTLS输入0x0aHTTPPUTwithTLS输入0x0bHTTPDELETEwithTLS输入0x0cHTTPRESPONSEwithTLS输出0x0dTLSterminalrequest输入0x0eTLSMMB-CAS终端模块response输出0x0fTLSterminalfinished输入0x10复用子帧输入/输出0x11SAC保护的复用子帧输出0x12~0xfd预留未定义0xfeAcknowledgement输出0xffError输出MMB-CAS终端模块和终端之间的数据交互由终端发起,然后MMB-CAS终端模块返回相应的响应数据。根据MMB-CAS终端模块的不同状态,MMB-CAS终端模块返回的数据分类也不同。对于给定的一个终端请求,MMB-CAS终端模块只能返回一个响应数据,其可能的数据分类如表8所示。终端应根据响应进行相关的操作。表8响应数据分类请求命令标识可能的响应HTTPGETHTTPRESPONSE,HTTPRESPONSEwithTLS,错误代码HTTPPOSTHTTPRESPONSE,HTTPRESPONSEwithTLS,错误代码HTTPGETwithTLSHTTPRESPONSE,HTTPRESPONSEwithTLS,错误代码HTTPPOSTwithTLSHTTPRESPONSE,HTTPRESPONSEwithTLS,错误代码TLSterminalrequestTLSMMB-CAS终端模块Response,错误代码TLSterminalfinished应答,错误代码Multiplexsub-frame复用子帧,用SAC保护的复用子帧,HTTPRESPONSE,HTTPRESPONSEwithTLS,应答,错误代码E-PurseSpecificData电子钱包专有信息,应答,错误代码所有的HTTP命令应由终端中的HTTP(S)客户端组件转化为对应的TLV数据格式。每个命令标识都对应不同分类的数据载荷,其结构见附录F。10.2.2子帧输入终端在启动后,应将子帧0送入终端模块,之后将解复用后的子帧发送给MMB-CAS终端模块,发送时每个数据单元应包含该子帧对应的ServiceID,其数据格式见附录F。10.2.3子帧输出26 GY/T220.6—2008终端从MMB-CAS终端模块中接收解扰后的子帧,其数据格式见附录F,子帧经过通用接口模块进行解扰后,原有复用子帧一些数据位发生了变化,对无用数据位进行了填充,见图15。图15解扰子帧数据示意图解扰后的子帧可采用SAC进行加密,以确保MMB-CAS终端模块和终端之间的数据传输安全。。采用SAC保护的子帧载荷数据见附录F。10.3用户交互用户交互信息采用HTTP(S)命令来传输。10.3.1HTTP传输方法HTTP服务器应支持GET和POST方法;可选支持HEAD,PUT以及DELETE方法。应使用地址127.0.0.1来访问MMB-CAS终端模块中的HTTP服务器,端口为3518,如使用TLS,则端口为4118。以下给出几种URL的参考示例:http://127.0.0.1:3518/infotext.wml(URLtoastaticpage)https://127.0.0.1:4118/cost_info?program=2&option=4(URLtoadynamicpage,withTLS)终端的HTTP(S)客户端组件应将发送到指定端口的HTTP命令转换为TLV数据格式。10.3.1.1HTTP数据内容HTTP命令传输的数据内容见表9:表9HTTP数据内容内容名称内容类型数据格式描述终端从移动网络接收到包含MMB-CAS短消息application/vnd.cmmb.sms短消息的内容终端模块相关信息的短消息加扰参数application/sdp加扰参数application/vnd.cmmb.serviceMMB-CAS终端模块向终端请求的Service列表见表10-listService列表application/vnd.cmmb,termina终端发给MMB-CAS终端模块的配置参终端参数见表11l-params数MMB-CAS终端模块application/vnd.cmmb.CAM-C-p从MMB-CAS终端模块发给终端的配置见表12参数arams参数SAC密钥application/vnd.cmmb.sac-key见表1327 GY/T220.6—2008表10Service列表的数据格式:字段长度描述bitxxxxxxx1–视频输出标志,值为1时表示输出子帧包Flags1byte含视频数据其他位保留number_of_services(L1)1byteMMB-CAS终端模块申请的Service数量ServiceID列表,终端应提交相应的ServiceID的子帧给services2*L1bytesMMB-CAS终端模块表11终端参数的数据格式字段长度描述终端应该支持的最大TLV数据长度,以字节为单位;最Max_block_size4bytes小应为1024表示终端支持哪些标记语言bitxxxxxxx1WML(终端应支持)bitxxxxxx1xHTMLMarkup_languages1bytebitxxxxx1xxXHTMLbitxxxx1xxx扩展1bitxxx1xxxx扩展2其他bit位保留horizontal_resolution2bytes终端显示的水平像素vertical_resolution2bytes终端显示的垂直像素Dots_per_inch2bytesDPIofterminaldisplaycolor_depth1byte2^colordepth.例如:4=16-bitcolordepth.表示可用的连接方式bitxxxxxxx1SMS可用connection_capabilities1bytebitxxxxxx1xGPRS可用bitxxxxx1xx3G可用其他bit位保留ea_table_length(L1)3bytes加密授权表的长度ea_tableL1bytes加密授权表的数据表12MMB-CAS终端模块参数的数据格式字段长度描述Max_block_size4bytes终端应该支持的最大TLV数据长度,以字节为单位;最小应为512字节xxxxxxx1表示MMB-CAS终端模块支持TLS/SACxxxxxx1x表示MMB-CAS终端模块带有ESG显示Flags1bytexxxxx1xx表示MMB-CAS终端模块带有电子钱包其他位保留service_list_lengt2bytesMMB-CAS终端模块初始的Service列表的长度h(L1)MMB-CAS终端模块的初始Service列表,包含MMB-CAS终端模块默认要service_listL1bytes向终端请求的ServiceIDSMSNO21byte前11字节标识SMS通道的网关号码,后10位保留28 GY/T220.6—2008表13SAC密钥的数据格式字段长度描述0x01表示AES-128-CBC不带填充RFC3852encryption_mode1byte其他值保留二进制密钥值由sac保护。当加密模式是0x01时,密钥长Sac_key载荷长度–1度128位10.3.1.2TransportLayerSecurity(TLS)采用SAC时,HTTP服务器和终端均须支持TLSv1.1,TLS模式为TLS_RSA_WITH_AES128_CBC_SHA。MMB-CAS终端模块和终端之间的认证机制基于X.509。证书分别保存在终端和MMB-CAS终端模块中。TLS会话由终端发起。10.3.2HTTP基本指令10.3.2.1初始化终端用初始化指令将终端参数发送给MMB-CAS终端模块,MMB-CAS终端模块在收到初始化指令后,应将MMB-CAS终端模块参数发送给终端。初始化指令是发送到http://127.0.0.1:3518/init的HTTPPOST命令,该命令的数据格式见附录F。终端收到MMB-CAS终端模块参数后,应将请求的子帧发送给MMB-CAS终端模块。10.3.2.2SAC密钥请求终端用SAC密钥请求指令可获取TLS传输所需的SAC密钥。SAC密钥请求指令是发送到https://127.0.0.1:4118/CAM-C/request_sac_keyHTTP/1.1的HTTPSGET命令,MMB-CAS终端模块收到该命令后,先进行TLS认证,如认证成功,则将SAC密钥(数据格式参见)返回给终端;如认证失败,则返回401UnauthorizedHTTP响应代码给终端,终端收到该响应后应重新发起新的SAC请求指令。终端发起的SAC密钥请求如表14所示。表14终端发起的SAC密钥请求GET127.0.0.1:4118/CAM-C/request_sac_keyHTTP/1.1Host:127.0.0.1:4118TLS认证成功时HTTP服务器应返回表15所示的信息。表15TLS认证成功时HTTP服务器返回的信息HTTP/1.1200OKContent-Type:application/vnd.cmmb.sac-keyContent-Length:170x01||ashdahfdwefhwjkeTLS认证失败时HTTP服务器应返回表16所示的信息。表16TLS认证失败时HTTP服务器返回的信息HTTP/1.1401Unauthorized10.3.2.3业务选择业务选择指令通过发送HTTPPOST命令给MMB-CAS终端模块中的某个URL来完成。POST命令的数据内容是对应业务的ServiceID。MMB-CAS终端模块的响应包含和用户交互的URL。业务选择指令的示例如表17所示。表17业务选择指令的示例POST127.0.0.1:3518/CAM-C/select_service?serviceid=3HTTP/1.1Host:127.0.0.1:3518如果业务选择有效并且不需要用户的交互,响应如表18所示。29 GY/T220.6—2008表18业务选择有效无需用户交易的响应HTTP/1.1200OKContent-Type:application/vnd.cmmb.service-list如果业务选择有效,但需要用户交互,那么在业务被解扰之前响应如表19所示。表19业务选择有效且需用户交互的响应HTTP/1.1200OKContent-Type:text/htmlContent-Length:(...)http://127.0.0.1:3518/CAM-C/其中set_pin.wml表示需要输入PIN,终端使用浏览器打开http://127.0.0.1:3518/CAM-C/set_pin.wml进行交互。如果业务选择无效,响应如表20所示。表20业务选择无效的响应HTTP/1.1400BadRequest10.3.2.4短消息终端在收到短消息后,向MMB-CAS终端模块发送HTTPPOSThttp://127.0.0.1:3518/CAM-C/sms命令,POST的内容是短消息的内容。如果终端收到的HTTPRESPONSE的命令中,如包含短消息内容,应将该短消息发送给HTTPRESPONSE中包含的指定号码。10.3.2.5电子钱包的访问终端发送HTTPGEThttp://127.0.0.1:3518/CAM-C/e-purse命令,访问电子钱包模块。电子钱包指令的示例如表21所示:表21电子钱包指令的示例GET127.0.0.1:3518/CAM-C/e-purseHTTP/1.1Host:127.0.0.1:3518MMB-CAS终端模块应该将包含电子钱包互动菜单的网页作为响应。10.3.3双向信道的链路实现10.3.3.1OTA短信链路的实现流程对OTA短信链路,应按照图16的结构实现。图16OTA短信授权流程图MMB-CAS终端模块通过控制终端,发送相关的认证信息,通过短信链路实现交互从而获得业务密钥。终端应用默认将短信下发到(U)SIM模块,而不是终端的MMB-CAS终端模块和,需要对终端应用进行改造来实现基于OTA短信链路的交互处理。下面是终端接收短信的两个改造示例:示例1:30 GY/T220.6—2008通过特殊的短信DCS(DATA_CODING)来识别是否为CAM-C交互短信,例如采用0xF4表明为CAM-C交互短信,终端收到DCS==0xF4的短信,自动送达MMB-CAS终端模块。示例2:在MMB-CAS终端模块中创建CAM-C授权交互短信的特服号文件,在文件中写入CAM-C授权短信的特服号(1个或多个),当终端收到短信网关的短信时,根据特服号来判定是否转发给MMB-CAS终端模块。终端发送短信,MMB-CAS终端模块的接口协议如下:·在MMB-CAS终端模块中,发送短信的HTTP指令:终端收到短信指令时,自动发送短信到目的端口。·在MMB-CAS终端模块中,定义特殊的接口指令,终端收到指令后自动发送短信到前端系统。10.3.3.2IP链路的实现流程完全可控制的信道的IP链路,其交互直接访问IP地址即可,采用的协议可以为TCP、HTTP等。10.4MMB-CAS终端模块的人机交互接口10.4.1MMB-CAS终端模块人机交互接口功能概述人机交互接口,是指用户和终端交互的接口。用户通过人机交互接口,完成MMB-CAS终端模块的各项操作。人机交互接口应具有以下功能:·节目指南;·节目选定;·MMB-CAS终端模块终端基本信息查询;·钱包信息查询;·节目订购;·圈存(双向终端)。人机交互接口还可具有以下功能:·其他充值/授权处理(输入序列号、EMM充值确认等)·充值智能卡操作在采用MMB-CAS终端模块方式时,终端实现节目指南和节目选定的功能,MMB-CAS终端模块实现其余人机交互接口功能。10.4.2人机交互界面实现方式终端模块的人机交互界面可采用下面的两种方式:1)终端应用为主体:终端应用负责处理节目指南等应用,使用HTTP指令选定节目。使用浏览器/控件访问MMB-CAS终端模块的URL链接来处理MMB-CAS终端模块的各项接口。终端应实现界面入口的统一,如图17所示:31 GY/T220.6—2008图17终端实现界面入口示意图2)以浏览器为主体:终端使用浏览器作为统一操作界面,包括终端的交互接口链接和MMB-CAS终端模块的交互接口链接,如图18所示:图18终端的交互接口链接和MMB-CAS终端模块的交互接口链接示意图10.4.3MMB-CAS终端模块接口数据交互机制MMB-CAS终端模块的人机交互接口采用HTTPWebService的处理机制,MMB-CAS终端模块为终端提供基于HTTP协议的WebService,终端使用HTTP协议访问MMB-CAS终端模块提供的人机交互接口链接。具体的人机交互接口操作由MMB-CAS终端模块中的HTTPWebService控制。数据交互流程见图19。32 GY/T220.6—2008MMB-CAS终端终端模块1、HTTP请求,访问URL2、根据请求,返回数据3、提交URL及相关参数4、内部处理5、返回处理结果图19MMB-CAS终端模块接口数据交互流程1)终端向MMB-CAS终端模块发出HTTP请求,提交访问的URL链接2)MMB-CAS终端模块根据请求返回数据3)用户在终端进行操作后,终端提交URL及相关参数4)MMB-CAS终端模块根据用户提交的URL和参数进行内部处理5)MMB-CAS终端模块返回处理后的结果10.4.4MMB-CAS终端模块人机接口协议MMB-CAS终端模块接口的HTTP(S)协议见表22所示:表22MMB-CAS终端模块接口的HTTP(S)协议操作协议GET127.0.0.1:3518/CAM-CM/CAM-CMURLHost:127.0.0.1:3518GET127.0.0.1:3518/CAM-CM/casCASURLHost:127.0.0.1:3518GET127.0.0.1:3518/CAM-CM/e-purse钱包URLHost:127.0.0.1:3518HTTP服务器交互Host:127.0.0.1:3518短信服务器交互Host:127.0.0.1:3518短信回复Host:127.0.0.1:351811移动多媒体广播条件接收相关信息在CMMB复用帧中的映射本章规范了移动多媒体广播条件接收系统的授权信息(ECM和EMM)与相关的加扰业务流基于GY/T220.2-2006的复用传输方法,具体传输及映射方式见附录A。11.1视音频数据的加扰及条件接收相关信息在CMMB信道中的复用传输本节描述编码视音频数据的加扰和复用传输过程中的格式变化及映射关系,视音频加扰的系统框图见图20。33 GY/T220.6—2008加扰音视频加扰音视频数据广播音视频音视频(RTP)ISMACryp(RTP)数据广播ISMACryp编码加扰ECM(UDP)解扰复解CWECMCW传输加扰参数复加EMM(UDP)加扰扰CAM-S参数参用用数ECMEMMCAM-C加扰参数(TCP)ESG图20视音频加扰的系统框图移动多媒体广播条件接收系统对视音频进行加扰经过以下步骤:1、编码后视频和音频数据分别按照RFC3640和RFC3984的格式进行封装,以RTP方式送入加扰模块,;2、ISMACryp加扰模块对每个RTP净荷中AU单元的AU数据段进行加扰。加扰处理后,CMMB加扰信息和原AU头形成新的AU头。加扰模块与CAS接口协议符合GY/Z175-2001的规定。加扰视音频流和数据广播流使用RTP流送给复用器,ECM使用UDP流送给复用器。3、复用时,将RTP包头中的时间信息分别映射到视频段和音频段的单元参数中,将数据广播的相关信息映射到数据段的单元参数中,将AU单元顺序完整的转发出去。4、ECM放在承载对应加扰视音频或数据广播数据段的复用子帧数据段中传输,数据广播不得使用ECM/EMM的数据单元保留类型。EMM放在一个独立的复用子帧中传输。移动多媒体广播系统视音频和数据广播加扰参考数据流程见图21。CMMBAU头AU数据段AU数据段AU数据段AU头加扰AU数据段加扰AU数据段加扰AU数据段加扰信息RTP头音视频/数据单元参数CMMB加扰信息IP头UDP头RTP头RTP净荷IP头UDP头RTP头RTP净荷AU头加扰AU音视频数据段/数据加扰AU数据段单元视频编码器音视频加扰AU内容数据段音视频RTP包ISMACryp加扰RTP包音频编码器复用器加扰模块数据广播RTP包数据广播数据广播协议转换器图21视音频加扰数据流程图11.2数据广播业务的加扰本条描述符合GY/T220.5的格式进行传输的业务的加扰流程,该业务可能文件模式,也可能是流模式。移动多媒体广播系统视音频和数据广播加扰数据流程见图22。34 GY/T220.6—2008图22数据广播加扰系统逻辑图数据业务由数据播出机处理后以Data/UDP/IP的方式输出至加扰器,经过加扰器加扰后以(加扰Data)/UDP/IP的方式输出至XPE封装机,经过封装后以UDP/IP的方式输出至复用器。一路数据业务对应一个复用子帧。数据广播业务的加扰采用与视音频相同的ISMACryp加扰方式,对于数据业务进行加扰的参考流程如图23所示。图23数据加扰参考流程图其各模块功能为:1、DATA2RTP协议转换模块:对输入的数据进行RTP封装,送入加扰模块。2、SCS同密同步模块:产生CW,并接收CAS返回的ECM;同步CW和ECM,并发送给ECM封装模块。3、ECM封装模块:将接收到的CW送加扰模块;将接收到的ECM以ECM/UDP/IP方式送复用器。4、加扰模块:使用CW对数据净荷进行ISMACryp加扰。5、预处理模块:将加扰数据以Data/UDP/IP方式送XPE封装机。35 GY/T220.6—2008附录A(规范性附录)加密授权信息在CMMB系统中的复用和传输本附录规定了移动多媒体广播中条件接收信息的复用传输方法。A.1加密授权指示信息A.1.1复用帧头约定本节对GY/T220.2-2006标准中定义的复用帧头中的部分保留位进行了约定,新约定将原定义的部分保留位定义为“扩展控制信息更新序号”,用来指示包括“加密授权描述表”在内的其他扩展控制信息的更新序号。约定后的复用帧头的结构如图A.1所示。图A.1复用帧头结构对GY/T220.2-2006复用帧头中部分保留位进行约定后的语法结构如表A.1所示。表A.1复用帧头的语法结构语法位数标识符复用帧头(){复用帧起始码32uimsbf复用帧头长度8uimsbf协议版本号5bslbf协议最低版本号5bslbf复用帧标识6bslbf紧急广播指示2bslbf下一帧参数指示1bslbf36 GY/T220.6—2008表A.1复用帧头的语法结构(续)语法位数标识符保留3bslbf控制表更新序号提前量指示2bslbf网络信息表更新序号4bslbf持续业务复用配置表更新序号4bslbf持续业务配置表更新序号4bslbf短时间业务复用配置表更新序号4Bslbf短时间业务配置表更新序号4BslbfESG更新序号4Bslbf扩展控制信息更新序号4bslbf复用子帧数4bslbf复用子帧1长度24uimsbffor(I=1;iB.1.2根元素类型根元素的语法和语义定义描述如下。B.1.2.1根元素语法根元素的语法定义如下。B.1.2.2根元素语义根元素的语义见表B.1。表B.1根元素的语义字段语义MMB-CASDATAXML的根元素,描述了MMB-CAS数据信息。ScramblingPara加扰参数元素,描述了业务中各媒体的加扰属性,可选。ScramblingParaType定义加扰参数元素的数据类型。Rates产品费率元素,描述了产品的费率信息,可选。45 GY/T220.6—2008表B.1根元素的语义(续)字段语义RatesPara定义产品费率元素的数据类型。PublicationTime数据信息发布时间属性,可选。UTCDataTime定义数据信息发布时间的数据类型。Publisher数据信息发布者属性,string类型,可选。RightsOwner数据信息版权所有者属性,string类型,可选。Ver版本号属性,可选。VerType定义Ver属性的数据类型。B.1.3加扰参数信息加扰参数信息,描述了业务中各媒体的基本加扰属性,如加扰方式等,加扰参数信息的数据类型为ScramblingParaType型。对于视频、音频和数据广播,加扰参数信息可有所不同,其语法和语义描述如下。B.1.3.1加扰参数信息语法加扰参数的语法定义如下。B.1.3.2加扰参数信息语义加扰参数的语义见表B.2。表B.2加扰参数的语义字段语义ScramblingParaType定义加扰参数元素的数据类型。VideoScramblingPara视频加扰参数,包括加扰方式和加扰信息指示等,可扩展。AudioScramblingPara音频加扰参数,包括加扰方式和加扰信息指示等,可扩展。DatacastScramblingPara数据广播加扰参数,包括加扰方式和加扰信息指示等,可扩展。ServiceID业务标识号,16位无符号整数,在移动多媒体广播传输复用帧中唯一地标识了一个业务。B.1.4产品费率信息产品费率信息,描述了对应业务的基本费率信息,本部分只定义了基本的费率信息,根据业务的需要,厂商可在此费率信息的基础上进行扩展,业务费率信息的数据类型为RatesType型,其语法和语义描述如下。B.1.4.1产品费率信息语法产品费率的语法定义如下。46 GY/T220.6—2008B.1.4.2产品费率信息语义产品费率的语义见表B.3。表B.3产品费率的语义字段语义RatesPara定义产品费率元素的数据类型。PurchasePerMonthPara包月费率信息,可扩展。PurchasePerTimePara节目、时长费率信息,可扩展。ExtendedPara扩展费率信息,可扩展。ServiceID业务标识号,16位无符号整数,在移动多媒体广播传输复用帧中唯一地标识了一个业务。B.1.5时间日期数据时间日期数据类型描述了MMB-CAS时间信息的表达格式,其语法和语义描述如下。B.1.5.1时间日期数据语法时间日期数据的语法定义如下。B.1.5.2时间日期数据语义时间日期数据的语义见表B.4。47 GY/T220.6—2008表B.4时间日期数据的语义字段语义UTCDateTimeType时间日期数据类型定义。Date日期元素,格式“xxxx-xx-xx”,表示年-月-日。Time时间元素,格式“xx:xx:xx”,表示时:分:秒。B.2电子钱包信令电子钱包信令是EPM-S向EPM-C发送的控制和管理命令及其相关数据。电子钱包信令报文编码定义如下。B.2.1信令报文电子钱包信令由信令头和信令载荷构成,如图B.1所示。图B.1电子钱包信令报文编码其中,信令头包括信令主类型、安全参数和载荷长度;信令载荷包括信令子类型和数据。具体的定义如表B.5所示。表B.5电子钱包信令报文的定义说明长度(字节)取值主类型2由EAM-S/EAM-C自行定义第一字节:密钥索引;安全参数2第二字节:算法标识,取值参见下表。载荷长度1载荷字节数,信令载荷数据长度相同,Lc=0x20。子类型1取值参见下表。数据Lc-1数据格式取值参见各子类型描述。算法标识如表B.6所示:表B.6算法标识算法标识说明0x00保留0x01DES0x02Tri-DES0x03AES0x04~0xFF保留电子钱包信令具有相同的主类型,表示信令数据交由终端电子钱包模块(EPM-C)处理执行。电子钱包信令根据功能的不同,具体分为三种子类型,电子钱包密钥管理,增值方式管理和状态管理,如表B.7所示。电子钱包信令载荷具有相同的数据长度,32字节。48 GY/T220.6—2008表B.7电子钱包信令载荷子类型子类型取值说明0x00保留0x01密钥管理0x02增值方式管理0x03钱包状态管理0x04~0xFF保留信令载荷数据如表B.8所示。表B.8电子钱包信令载荷数据说明长度(字节)说明电子钱包标识8信令管理电子钱包的唯一标识管理对象标识2信令管理对象唯一标识管理动作1取值参见管理动作表保留12取值为0xFF…FF伪随机数4由EPM-S产生的4字节伪随机数MAC4由伪随机数参与计算的4字节消息验证码管理动作如表B.9所示。表B.9电子钱包信令管理动作管理动作取值说明0x00生效0x01失效0x02~0xFF保留电子钱包信令传输过程中,信令载荷使用安全参数标识的算法和密钥加密传输。数据加密:使用信令密钥对信令载荷进行加密(使用Tri-DESECB模式)。MAC生成:用过程密钥SK对表B.10中的数据采用约定的MAC生成算法进行加密,取加密结果的高位4字节作为MAC,MAC生成算法初始向量为8字节全零。表B.10生成MAC的初始数据数据长度(字节)取值子类型1——电子钱包标识8——管理对象标识2——管理动作1——填充40x80000000过程密钥SK的生成:使用信令密钥对表B.11中包括伪随机数的数据,使用约定的过程密钥生成算法进行加密,生成的16字节数据即为过程密钥SK,过程密钥生成算法的初始向量为8字节全零。表B.11生成过程密钥的初始数据数据长度(字节)取值伪随机数4——填充120x8000…00电子钱包信令执行成功的状态码是0x9000。电子钱包信令执行失败,可能返回的错误状态码,如表B.12所示:49 GY/T220.6—2008表B.12错误状态码SW1SW2说明0x670x00长度错误0x690x85动作条件不满足0x6A0x80数据错误0x6A0x86安全参数错误0x6D0x00子类型不支持或错误B.2.2信令描述电子钱包信令是EPM-S向EPM-C发送的管理和控制命令及其相关数据,具体包括对某个钱包密钥的管理命令,对某个钱包增值方式的管理命令,和对某个钱包状态的管理命令。B.2.2.1钱包密钥管理EPM-S通过电子钱包密钥管理信令,管理指定电子钱包的对应密钥。受管理的密钥由信令载荷数据中2字节的管理对象标识唯一确定;其中,高位字节标识密钥类型,低位字节标识密钥索引。密钥类型如表B.13所示。表B.13密钥类型密钥类型说明0x00保留0x01圈存密钥0x02充值密钥0x03TAC密钥0x04信令MAC密钥0x05数据保护密钥0x06~0xFF保留密钥索引取值从0x00到0xFF。EPM-S生成电子钱包密钥管理信令,实现EPM-C的密钥管理。其中,密钥管理主要是指密钥生命周期的管理。B.2.2.2增值方式管理EPM-S通过电子钱包增值方式管理信令,管理指定电子钱包的各种增值方式。受管理的增值方式由信令载荷数据中2字节的管理对象标识唯一确定。增值方式如表B.14所示。表B.14增值方式增值方式增值方式类型0x0000保留0x0001网络银行圈存0x0002圈存机圈存0x0003RFID圈存0x0004OTA短信圈存0x0005充值码充值0x0006智能充值卡充值0x0007银联圈存0x0008~0xFFFF保留50 GY/T220.6—2008EPM-S生成电子钱包增值方式管理信令,实现EPM-C的增值方式管理。其中,增值方式管理主要是开启或关闭某种增值方式。B.2.2.3钱包状态管理EPM-S通过电子钱包状态管理信令,管理指定电子钱包的钱包状态。受管理的钱包状态由信令载荷数据中2字节的管理对象标识唯一确定。钱包状态如表B.15所示。表B.15钱包状态钱包状态说明0x0000保留0x0001消费状态0x0002增值状态0x0003~0xFFFF保留EPM-S生成电子钱包状态管理信令,实现EPM-C的钱包状态管理。其中,钱包状态管理主要是开启或关闭某种钱包状态。B.2.3信令流程电子钱包信令流程见图B.2。具体过程如下:1.BOSS向EPM-S发送target_id、EPM-CID、管理目标和管理动作等命令和数据;2.EPM-S接收来自BOSS的命令和数据,对于全部EPM-C有效的命令,选择信令全局密钥;对于某个EPM-C有效的命令,选择信令局部密钥。EPM-S选择密钥和算法,生成伪随机数,计算过程密钥,使用过程密钥加密响应数据,生成信令MAC,根据信令报文格式组装载荷数据,并使用选择的密钥和算法加密信令载荷,并存储信令记录。EPM-S通过通讯接口向EAM-S发送电子钱包信令数据,要求EAM-S通过EMM承载寻址的方式,广播下传信令数据;3.EAM-S接收来自EPM-S的电子钱包信令数据,将其作为EMM载荷,并标识通知终端EAM-C该数据需要转交EPM-C处理,EAM-S将该类型的EMM广播下传到终端EAM-C;4.EAM-C接收特殊标识的EMM,根据与EAM-S之间的约定,将该EMM载荷转交EPM-C处理解析;5.EPM-C接收来自EAM-C的电子钱包信令数据,解析信令,根据安全参数获取密钥,并使用信令密钥解密信令载荷,根据伪随机数计算过程密钥,验证MAC和电子钱包标识,成功后,执行信令动作,并存储信令记录和电子钱包状态。51 GY/T220.6—2008开始向EPM-S发送管理命令和管(步骤1)理数据选择密钥,写入安全参数生成随机数,计算过程密钥计算MAC,组装载荷数据使用密钥加密信令载荷将信令数据作为特殊EMM的(步骤3)载荷广播下传将特殊EMM的载荷转交EPM-C处理根据安全参数,获取密钥使用密钥解密信令载荷解析随机数,计算过程密钥验证MAC,成功后执行动作结束图B.2电子钱包信令流程对于向全部EPM-C发出的电子钱包信令,信令载荷中的8字节电子钱包标识为全0,对于向某一地域的EPM-C发出的电子钱包信令,信令载荷中的8字节电子钱包标识,除指明地域的前2个字节外,其余6个字节为全0。B.3信令的传输在移动多媒体广播条件接收系统中,信令可以在ESG、EMM和ECM中传输。B.3.1在ESG中传输加扰参数信令和产品费率信令可以在ESG中传输。加扰参数信令和产品费率信令为电子业务指南(ESG)的一部分,应符合GB/Z220.3-2007的规定,通过CMMB广播发送到所有接收终端。在原ESG定义的四类数据信息——业务、编排、内容、业务参数信息基础上,增加了加扰参数信息和产品费率信息,见图B.3。52 GY/T220.6—2008图B.3系统信令在ESG中的传输B.3.2在EMM中传输加扰参数信令、产品费率信令和电子钱包信令可以在EMM中传输。·EMM提供安全机制,对加扰参数信令、产品费率信令和电子钱包信令进行安全加密;·EMM提供寻址功能,将加扰参数信令、产品费率信令和电子钱包信令发送到对应的用户;·EMM提供数据管道,将加扰参数信令、产品费率信令、电子钱包信令和EMM信息一起传输。B.3.3在ECM中传输加扰参数信令和产品费率信令可以在ECM中传输。53 GY/T220.6—2008附录C(规范性附录)移动多媒体广播条件接收系统电子钱包模块逻辑接口和相关流程C.1EPM-S与EAM-S的接口C.1.1接口描述EPM-S与EAM-S的接口为基于TCP协议的接口。接口消息如下:·Channel_setup·Channel_test·Channel_status·Channel_close·Channel_error·Stream_setup·Stream_test·Stream_status·Stream_close_request·Stream_close_response·Stream_error·EP_provision·CA_responseC.1.2接口通讯方式对接口来说,EPM-S是客户端,EAM-S是服务器。EPM-S事先知道EAM-S的IP地址、端口等信息。(1)建立通道。对一个TCP连接只有一个通道。一旦TCP连接建立,EPM-S发送Channel_setup消息给EAM-S。如果成功,EAM-S返回一个Channel_status消息。如果拒绝或失败,EAM-S返回一个Channel_error消息,EPM-S将关闭TCP连接。(2)建立流。通道建立后,EPM-S发送Stream_setup消息给EAM-S。如果成功,EAM-S返回一个Stream_status消息。如果拒绝或失败,EAM-S返回一个Stream_error消息。一旦连接、通道、流争取建立,EPM-S通过EP_provision消息将钱包信息发送给EAM-S。EAM-S确认收到后,返回一个CA_response消息。如果拒绝或失败,EAM-S返回一个CA_error消息。每个流建立时给出EP_message_type、repeat_number、valid_time,表示该流之中所有发送的EP消息都采用这些配置参数。(3)流关闭。当流不再需要或者发生错误时会被关闭。流关闭总是由EPM-S发起的,通过Stream_close_request消息实现。EAM-S返回Stream_close_response消息表示流已被关闭。(4)通道关闭。当通道不存在或发生错误时(由EPM-S检测到或EAM-S报告)通道关闭。通过EPM-S发送Channel_close消息实现,作为结果,连接的两端都被关闭。(5)通道/流测试和状态。任何时刻两端之一都可以发送Channel_test/Stream_test消息来检查通道/流的完整性。作为应答,接收方发送通道/流状态消息或通道/流错误消息。(6)未预见的通讯丢失。EPM-S和EAM-S都可以处理通讯丢失的问题。某端怀疑可能通讯丢失,可以发送测试消息来检测通讯状态。如果定时间内未收到状态消息(例如10秒内无数据),将关闭,并重新建立通信链路。(强制线路检测)54 GY/T220.6—2008(7)处理数据不一致。如果EAM-S收到不一致的数据,它将向EPM-S报告错误消息。如果EPM-S收到这样的消息或检测到不一致,它将关闭,并重新建立连接、通道、流。C.1.3接口消息格式接口具有以下通用格式generic_message{protocol_version1字节message_type2字节message_length2字节for(i=0;i字节}}Protocol_version:0x03C.1.4接口消息类型见表C.1。表C.1接口消息类型消息类型值消息类型0x0001Channel_setup0x0002Channel_test0x0003Channel_status0x0004Channel_close0x0005Channel_error0x0101Stream_setup0x0102Stream_test0x0103Stream_status0x0104Stream_close_request0x0105Stream_close_response0x0106Stream_error0x0201EP_provision0x0202CA_responseC.1.5接口参数类型见表C.2。55 GY/T220.6—2008表C.2接口参数类型Parameter_type值参数类型类型/单位长度(字节)0x0008max_streamsuimsbf20x000Cmax_comp_timeuimsbf/ms20x000Echannel_IDuimsbf20x000Fstream_IDuimsbf20x7000error_status见错误定义20x7001error_information用户自定义变量0x8001EP_message_typeuimsbf20x8002repeat_numberuimsbf20x8003valid_timeuimsbf50x8004EP_message用户自定义变量0x8005CA_responseuimsbf20x8006CA_information用户自定义变量0x8007EAM-C_SNEAM的唯一标识16ASC数字0x8008EP_log_message用户自定义变量0x8009EP_log_responseuimsbf2channel_ID:由EPM-S分配,唯一确定EPM-S和所有已建立连接的EAM-S的通道。CA_information:可选参数,用户自定义。CA_Response:见表C.3。表C.3CA_Response值状态值说明0x0000已正常接收,准备按计划发送。0x0001消息格式不正确,未能接收。0x0002消息长度超过处理容量,未能接收。0x0003接收失败0x7001未知错误,未能接收。EP_log_Response:见表C.4。表C.4EP_log_Response值状态值说明0x0000已正常接收,准备按计划发送。0x0001消息格式不正确,未能接收。0x0002消息长度超过处理容量,未能接收。0x0003接收失败0x7001未知错误,未能接收。EP_message_type:不同的类别代表不同的发送的时间间隔、不同的发送策略。见表C.5。56 GY/T220.6—2008表C.5EP_message_type值类别值说明0x0101给全体用户,0x0201给单独用户0x0301圈存0x0302交易记录回传0x0303终端交易错误记录回传…保留EP_message:电子钱包消息。EP_log_message:圈存记录信息,见表C.6。表C.6圈存记录信息数据元长度说明EP_ID8交易类型标识10x02EPM-C联机交易序号(加1后)2交易成功后自动加1。交易金额4终端机编号(联网主机)6主机交易日期4主机交易时间3保留3error_status:错误状态。error_information:可选参数,用户自定义。max_comp_time:这个参数表示当一个通道中所有的流在使用时,EAM-S返回CA_response消息所需的最长时间。这个时间被EPM-S用来在衡量CA_response消息何时可算作超时。该参数由EAM-S配置,EPM-S通过状态查询获得。max_streams:在一个通道中,EAM-S支持的最大流的数量。这个参数由EAM-S在和EPM-S建立通道时发送。为0表示最大数目未知。该参数由EAM-S配置,EPM-S通过状态查询获得。repeat_number:发送次数。如果为0表示根据EP_message_type决定。stream_ID:这个参数在一个通道之内唯一确定一个流。它由EPM-S在流建立之前分配。valid_time:有效时间。为UTC时间,表示在此时间之前有效。如果为0表示根据EP_message_type决定。EAM-C_SN:CA卡编号。卡面印制卡的编号,是卡面上的唯一数字标识,印制的字符和位置应符合GB/T15120-94的规定。标识由16个十进制数字组成,保证全国唯一。格式如下:8XXXXQQYYYYYYYYZ校验位流水号CAS厂商标识地区行政区号的前4位行业标识例如:8123412123456786。8:行业标识。57 GY/T220.6—2008XXXX:地区行政区号的前4位。QQ:CAS厂商标识,按入网顺序由总局主管部门指定。YYYYYYYY:流水号,由服务平台统一分配。Z:校验位,参见GB/T15694.1-1995。C.1.6接口消息定义(1)通道建立消息(EAM-S<=EPM-S),见表C.7。表C.7通道建立消息参数消息中的实例个数channel_ID1(2)通道测试消息(EAM-S<=>EPM-S),见表C.8。表C.8通道测试消息参数消息中的实例个数channel_ID1(3)通道状态消息(EAM-S<=>EPM-S),见表C.9。表C.9通道状态消息参数消息中的实例个数channel_ID1max_streams1max_comp_time1(4)通道关闭消息(EAM-S<=EPM-S),见表C.10。表C.10通道关闭消息参数消息中的实例个数channel_ID1(5)通道错误消息(EAM-S<=>EPM-S),见表C.11。表C.11通道错误消息参数消息中的实例个数channel_ID1error_status1到nerror_information0到n(6)流建立消息(EAM-S<=EPM-S),见表C.12。表C.12流建立消息参数消息中的实例个数channel_ID1Stream_ID1EP_message_type1repeat_number1valid_time1(7)流测试消息(EAM-S<=>EPM-S),见表C.13。表C.13流测试消息参数消息中的实例个数channel_ID1Stream_ID158 GY/T220.6—2008(8)流状态消息(EAM-S<=>EPM-S),见表C.14。表C.14流状态消息参数消息中的实例个数channel_ID1Stream_ID1(9)流关闭请求消息(EAM-S<=EPM-S),见表C.15。表C.15流关闭请求消息参数消息中的实例个数channel_ID1Stream_ID1(10)流关闭响应消息(EAM-S=>EPM-S),见表C.16。表C.16流关闭响应消息参数消息中的实例个数channel_ID1Stream_ID1(11)流错误消息(EAM-S<=>EPM-S),见表C.17。表C.17流错误消息参数消息中的实例个数channel_ID1Stream_ID1error_status1到nerror_information0到n(12)钱包指令发送消息(EAM-S<=EPM-S),见表C.18。表C.18钱包指令发送消息参数消息中的实例个数channel_ID1Stream_ID1EAM-C_SN1(全局时为全1)EP_message1(13)CA响应消息(EAM-S=>EPM-S),见表C.19。表C.19CA响应消息参数消息中的实例个数channel_ID1Stream_ID1CA_Response1CA_information0到1C.1.7错误定义见表C.20。59 GY/T220.6—2008表C.20错误状态值错误状态值错误类型0x0000预留0x0001非法消息0x0002不支持的协议版本0x0003未知的message_type值0x0004消息过长0x0005预留0x0006未知的Channel_ID值0x0007未知的Stream_ID值0x0008通道过多0x0009该通道中流过多0x000A该EAM-S中流过多0x000B预留0x000CEAM-S存储容量不足0x000DEAM-S计算资源不足0x000E未知的parameter_type值0x000F参数长度不足0x0010缺少必要的参数0x0011参数值无效0x0012预留0x0013channel_ID值已被使用0x0014stream_ID值已被使用0x0015预留0x7000未知错误0x7001不可恢复错误C.2EPM-C与EAM-C的接口本部分只定义了Java卡环境下EPM-C与EAM-C接口的实现方法;其它环境下的接口,本部分不做定义。本部分定义ISOException类,当调用的共享接口的方法出现错误时,程序抛出异常,由调用方做异常处理。C.2.1校验PIN原型:publicshortEPM_VerifyPin(byte[]inBuff,shortEPIDOffset,shortEPIDLen,shortPINOffset,shortPINLen)throwsISOException参数:inBuff:输入参数,输入的byte数组,包含输入的电子钱包ID和PIN;EPIDOffset:输入参数,inBuff数组中EPID的起始位置;EPIDLen:输入参数,inBuff数组中EPID的长度;PINOffset:输入参数,inBuff数组中PIN的起始位置;PINLen:输入参数,inBuff数组中PIN的长度;60 GY/T220.6—2008返回值:PIN校验成功,返回0;校验失败,返回可以继续尝试PIN校验的剩余次数,返回-1时表示PIN已被锁定。功能:对指定的电子钱包进行校验PIN操作,并返回校验结果。异常:当执行失败时。抛出ISOException异常。C.2.2读取余额原型:publicshortEPM_GetBalance(byte[]inBuff,shortEPIDOffset,shortEPIDLen,byte[]outBuff,shortBalOffset,shortBalLen)throwsISOException参数:inBuff:输入参数,输入的byte数组,包含输入的电子钱包ID;EPIDOffset:输入参数,inBuff数组中EPID的起始位置;EPIDLen:输入参数,inBuff数组中EPID的长度;outBuff:输出参数,输出的byte数组,包含为输出电子钱包余额准备的空间;BalOffset:输入参数,outBuff数组中为输出电子钱包余额准备空间的起始位置;BalLen:输入参数,outBuff数组中为输出电子钱包余额准备空间的长度;返回值:执行成功,返回输出电子钱包余额的实际长度。功能:对指定的电子钱包进行读取余额操作,并返回该余额。异常:执行失败,抛出ISOException异常。当输入参数BalLen小于电子钱包余额实际需要的长度时,会抛出ISOException异常,异常原因是已定义的长度不足常量,并指明实际需要的长度。C.2.3扣(消)费初始化原型:pubicshortEPM_InitializeForPurchase(byte[]inBuff,shortEPIDOffset,shortEPIDLen,shortIndataOffset,shortIndataLen,byte[]outBuff,shortOutdataOffset,shortOutDataLen)throwsISOException参数:inBuff:输入参数,输入的byte数组,包含输入的电子钱包ID和扣(消)费初始化输入数据;EPIDOffset:输入参数,inBuff数组中EPID的起始位置;EPIDLen:输入参数,inBuff数组中EPID的长度;IndataOffset:输入参数,inBuff数组中扣(消)费初始化输入数据的起始位置;IndataLen:输入参数,inBuff数组中扣(消)费初始化输入数据的长度;扣(消)费初始化输入数据包含EAM-C发送的RSA签名数据,数据定义见表C.2161 GY/T220.6—2008表C.21扣(消)费初始化输入数据的数据结构说明长度(字节)DPK密钥索引号1交易金额4EAM-C标识6EAM-CRSA签名数据128outBuff:输出参数,输出的byte数组,包含为扣(消)费初始化输出数据准备的空间;OutdataOffset:输入参数,outBuff数组中为扣(消)费初始化输出数据准备空间的起始位置;OutDataLen:输入参数,outBuff数组中为扣(消)费初始化输出数据准备空间的长度;扣(消)费初始化输出数据的定义见表C.22表C.22扣(消)费初始化输出数据的数据结构说明长度(字节)电子钱包余额4电子钱包脱机交易序号2DPK密钥版本号1DPK算法标识1EPM-C伪随机数4返回值:执行成功,返回扣(消)费初始化输出数据的实际长度。功能:对指定的电子钱包进行扣(消)费初始化操作,并返回数据。异常:执行失败,抛出ISOexception异常。当输入参数OutDataLen小于扣(消)费初始化输出数据实际需要的长度时,会抛出ISOexception异常,异常原因是已定义的长度不足常量,并指明实际需要的长度。C.2.4扣(消)费原型:pubicshortEPM_Purchase(byte[]inBuff,shortEPIDOffset,shortEPIDLen,shortIndataOffset,shortIndataLen,byte[]outBuff,shortOutdataOffset,shortOutDataLen)throwsISOexception参数:inBuff:输入参数,输入的byte数组,包含输入的电子钱包ID和扣(消)费输入数据;EPIDOffset:输入参数,inBuff数组中EPID的起始位置;EPIDLen:输入参数,inBuff数组中EPID的长度;IndataOffset:输入参数,inBuff数组中扣(消)费输入数据的起始位置;IndataLen:输入参数,inBuff数组中扣(消)费输入数据的长度;扣(消)费输入数据的定义见表C.23。表C.23扣(消)费输入数据的数据结构说明长度(字节)EAM-C交易序号4交易日期4交易时间3MAC1462 GY/T220.6—2008outBuff:输出参数,输出的byte数组,包含为扣(消)费输出数据准备的空间;OutdataOffset:输入参数,outBuff数组中为扣(消)费输出数据准备空间的起始位置;OutDataLen:输入参数,outBuff数组中为扣(消)费输出数据准备空间的长度;扣(消)费输出数据的定义见表C.24。表C.24扣(消)费初始化输出数据的数据结构说明长度(字节)TAC4MAC24返回值:执行成功,返回扣(消)费输出数据的实际长度。功能:对指定的电子钱包进行扣(消)费操作,并返回数据。异常:执行失败,抛出ISOexception异常。当输入参数OutDataLen小于扣(消)费输出数据实际需要的长度时,会抛出ISOexception异常,异常原因是已定义的长度不足常量,并指明实际需要的长度。C.2.5取交易证明原型:pubicshortEPM_GetTransactionProve(byte[]inBuff,shortEPIDOffset,shortEPIDLen,shortTransID,byte[]outBuff,shortProvOffset,shortProvLen)throwsISOexception参数:inBuff:输入参数,输入的byte数组,包含输入的电子钱包ID;EPIDOffset:输入参数,inBuff数组中EPID的起始位置;EPIDLen:输入参数,inBuff数组中EPID的长度;TransID:输入参数,要取的交易证明所对应的电子钱包脱机消费交易序号;outBuff:输出参数,输出的byte数组,包含为输出交易证明准备的空间,输出交易证明TAC的长度为4Byte;ProvOffset:输入参数,outBuff数组中为输出交易证明准备空间的起始位置;ProvLen:输入参数,outBuff数组中为输出交易证明准备空间的长度;返回值:执行成功,返回输出交易证明的实际长度。功能:对指定的电子钱包进行取交易证明操作,并返回数据。异常:执行失败,抛出ISOexception异常。当输入参数ProvLen小于输出交易证明实际需要的长度时,会抛出ISOexception异常,异常原因是已定义的长度不足常量,并指明实际需要的长度。C.2.6取交易记录原型:pubicshortEPM_GetTransactionLog(byte[]inBuff,shortEPIDOffset,shortEPIDLen,shortRecordID,byte[]outBuff,shortRecOffset,shortRecLen)throwsISOexception参数:63 GY/T220.6—2008inBuff:输入参数,输入的byte数组,包含输入的电子钱包ID;EPIDOffset:输入参数,inBuff数组中EPID的起始位置;EPIDLen:输入参数,inBuff数组中EPID的长度;RecordID:输入参数,要取的交易记录所对应的记录序号;outBuff:输出参数,输出的byte数组,包含为输出交易记录准备的空间;RecOffset:输入参数,outBuff数组中为输出交易记录准备空间的起始位置;RecLen:输入参数,outBuff数组中为输出交易记录准备空间的长度;返回值:执行成功,返回输出交易记录的实际长度。功能:对指定的电子钱包进行取交易记录操作,并返回数据。异常:执行失败,抛出ISOexception异常。当输入参数RecLen小于输出交易记录实际需要的长度时,会抛出ISOexception异常,异常原因是已定义的长度不足常量,并指明实际需要的长度。C.2.7发送信令原型:pubicshortEPM_SendEPCommand(byte[]inBuff,shortEPIDOffset,shortEPIDLen,shortEPCOffset,shortEPCLen)参数:inBuff:输入参数,输入的byte数组,包含输入的电子钱包信令;EPIDOffset:输入参数,inBuff数组中EPID的起始位置;EPIDLen:输入参数,inBuff数组中EPID的长度;EPCOffset:输入参数,inBuff数组中电子钱包信令的起始位置;EPCLen:输入参数,inBuff数组中电子钱包信令的长度;输入的电子钱包信令的数据定义见附录B。返回值:执行成功,返回0,执行失败,返回-1。功能:对指定的电子钱包进行发送信令操作。C.2.8读取数据原型:pubicshortEPM_ReadData(byte[]inBuff,shortEPIDOffset,shortEPIDLen,shortDataType,shortRecordID,byte[]outBuff,shortDataOffset,shortDataLen)throwsISOexception参数:inBuff:输入参数,输入的byte数组,包含输入的电子钱包ID;EPIDOffset:输入参数,inBuff数组中EPID的起始位置;EPIDLen:输入参数,inBuff数组中EPID的长度;DataType:输入参数,需要读取的数据类型,取值见表C.25;64 GY/T220.6—2008表C.25需要读取的数据类型DataType的取值DataType取值说明参数说明0x0001读取增值交易记录0x0002读取扣(消)费交易记录0x0003读取电子钱包信令记录RecordID无意义,状态一0x0004读取电子钱包状态次性全部输出0x0005~0xFFFF保留RecordID:输入参数,需要读取记录所对应的记录序号;outBuff:输出参数,输出的byte数组,包含为输出数据准备的空间;DataOffset:输入参数,outBuff数组中为输出数据准备空间的起始位置;DataLen:输入参数,outBuff数组中为输出数据准备空间的长度;输出的交易记录和钱包状态数据定义参见相关部分。返回值:执行成功,返回输出数据的实际长度。功能:对指定的电子钱包进行读取数据操作,并返回数据。异常:执行失败,抛出ISOexception异常。当输入参数DataLen小于输出数据实际需要的长度时,会抛出ISOexception异常,异常原因是已定义的长度不足常量,并指明实际需要的长度。C.2.9读取记录成功确认原型publicbooleanEPM_RecordConfirm(byte[]inBuff,shortEPIDOffset,shortEPIDLen,shortDataType)参数:inBuff:输入参数,输入的byte数组,包含输入的电子钱包ID;EPIDOffset:输入参数,inBuff数组中EPID的起始位置;EPIDLen:输入参数,inBuff数组中EPID的长度;DataType:输入参数,需要确认的数据类型,具体定义见表C.26。表C.26需要确认的数据类型DataType的取值DataType取值说明0x0001确认增值交易记录0x0002确认扣(消)费交易记录0x0003确认电子钱包信令记录0x0004~0xFFFF保留返回值:执行成功返回true,执行失败返回false。功能:对指定的电子钱包进行数据确认操作,得到确认后,电子钱包删除对应的记录。C.3圈存交易C.3.1交易流程65 GY/T220.6—2008圈存交易的具体流程见图C.1。图C.1圈存处理流程ò发出INITIALIZEFORLOAD命令(步骤1.1)终端发出INITIALIZEFORLOAD命令,启动圈存交易,报文参数包含圈存金额等。ò处理INITIALIZEFORLOAD命令(步骤1.2)收到INITIALIZEFORLOAD命令后,电子钱包将进行以下操作:──检查是否支持命令中包含的密钥索引号。如果不支持,则回送状态码‘9403’(不支持的密钥索引),但不回送任何其他数据,同时终止命令的处理过程;──产生一个伪随机数(ICC),过程密钥SESLK和一个报文签别码(MAC1),用以供后台验证圈存交易及电子钱包的合法性。SESLK是用于电子存折或电子钱包圈存交易的过程密钥。该过程密钥是用DLK密钥按照附录描述的机制产生的。用来产生过程密钥SESLK的输入数据如下:SESLK:伪随机数(ICC)||电子存折联机交易序号或电子钱包联机交易序号||‘8000’MAC1的计算机制见附录。用SESLK对以下数据加密产生MAC1(按所列顺序):──电子存折余额(交易前)或者电子钱包余额(交易前);──交易金额;──交易类型标识;──终端机编号。66 GY/T220.6—2008电子钱包将INITIALIZEFORLOAD响应报文回送给后台处理,报文参数包括伪随机数和MAC1等。如果回送的状态码不是‘9000’,则交易终止。ò验证MAC1(步骤1.3)收到INITIALIZEFORLOAD命令响应报文后,终端把相应数据传给后台。将生成SESLK并确认MAC1是否有效。如果MAC1有效,交易处理将按步骤1.5中的描述继续执行。否则,交易处理将执行步骤1.4;ò回送错误状态(步骤1.4)如果不接受圈存交易,后台向电子钱包回送错误代码;ò交易处理(步骤1.5)在确认能够进行圈存交易后,EPM-S从持卡人相应帐户中扣减圈存金额。后台产生一个报文签别码(MAC2),用于电子钱包对后台进行合法性检查。附录中描述了后台用来生成MAC2的机制。用SESLK对以下数据加密产生MAC2(按所列顺序):──交易金额;──交易类型标识;──终端机编号;──交易日期(主机);──交易时间(主机)。成功地进行了圈存交易后,终端将电子钱包联机交易序号加1,并向电子钱包发送一个圈存交易接受报文,其中包括MAC2、交易日期(主机)和交易时间(主机);ò发出CREDITFORLOAD命令(步骤1.6)终端收到后台发来的圈存交易接受报文后,发出CREDITFORLOAD命令更新电子钱包余额。报文参数包括MAC2、交易时间、日期(后台)等;ò验证MAC2(步骤1.7)收到CREDITFORLOAD命令后,电子钱包应确证MAC2的有效性。如果MAC2有效,交易处理将执行步骤1.9。否则将向终端回送状态码‘9302’(MAC无效);ò回送错误状态(步骤1.8)电子钱包验证MAC2失败时,拒绝后续交易;ò交易处理(步骤1.9)电子钱包联机交易序号加1,并且把交易金额加在电子钱包的余额上。电子钱包应成功地完成以上所有操作或者一个也不完成。在电子钱包圈存交易中,电子钱包用以下数据组成的一个记录更新交易明细:──电子存折联机交易序号或电子钱包联机交易序号;──交易金额;──交易类型标识;──终端机编号;──交易日期(主机);──交易时间(主机)。TAC的计算机制见附录。TAC的计算不采用过程密钥方式,它用DTK左右8位字节异或运算的结果对以下数据进行加密运算来产生(按所列顺序):──电子存折余额(交易后)或电子钱包余额(交易后);──电子存折联机交易序号(加1前)或电子钱包联机交易序号(加1前);──交易金额;──交易类型标识;──终端机编号;──交易日期(主机);67 GY/T220.6—2008──交易时间(主机)。ò返回确认(步骤1.10)在成功完成步骤1.9后,电子钱包通过CREDITFORLOAD命令的响应报文将TAC回送给后台。后台能够根据TAC验证本次交易。C.3.2命令格式及其处理C.3.2.1INITIALIZEFORLOAD命令定义和范围INITIALIZEFORLOAD命令用于初始化圈存交易。命令报文INITIALIZEFORLOAD命令报文见表C.27。表C.27INITIALIZEFORLOAD命令报文代码值CLA‘80’INS‘50’P1‘00’P2‘01’或‘02’;‘01’用于ED,‘02’用于EP。其他值保留。Lc‘0B’Data见下表Le‘10’命令报文数据域表C.28定义了命令报文数据域。表C.28INITIALIZEFORLOAD命令报文数据域说明长度(字节)密钥索引号1交易金额4终端机编号6响应报文数据域此命令执行成功的响应报文数据域见表C.29。如果命令执行不成功,则只在响应报文中回送SW1和SW2。表C.29INITIALIZEFORLOAD响应报文说明长度(字节)ED或EP余额4ED或EP联机交易序号2密钥版本号(DLK)1算法标识(DLK)1伪随机数(电子钱包)4MAC14响应报文的状态码此命令执行成功的状态码是’9000’。表C.30描述了电子钱包可能回送的错误状态:68 GY/T220.6—2008表C.30INITIALIZEFORLOAD错误状态SW1SW2说明‘65’‘81’内存错误‘67’‘00’长度错误‘69’‘85’使用条件不满足‘6A’‘81’功能不支持‘6A’‘86’P1、P2参数不正确‘6D’‘00’INS不支持或错误‘6E’‘00’CLA不支持或错误‘94’‘03’密钥索引不支持C.3.2.2CREDITFORLOAD命令定义和范围CREDITFORLOAD命令用于圈存交易。命令报文CREDITFORLOAD命令报文见表C.31。表C.31CREDITFORLOAD命令报文代码值CLA‘80’INS‘52’P1‘00’P2‘00’Lc‘0B’Data见下表Le‘04’命令报文数据域表C.32描述了命令报文数据域。表C.32CREDITFORLOAD命令报文数据域说明长度(字节)交易日期(主机)4交易时间(主机)3MAC24响应报文数据域CREDITFORLOAD响应报文数据域见表C.33。如果命令执行不成功,则只在响应报文中回送SW1和SW2。表C.33CREDITFORLOAD响应报文数据域说明长度(字节)TAC4响应报文的状态码此命令执行成功的状态码是’9000’。表C.34描述了电子钱包可能回送的错误状态:69 GY/T220.6—2008表C.34CREDITFORLOAD错误状态SW1SW2说明‘65’‘81’内存错误‘67’‘00’长度错误‘69’‘01’命令不接受(无效状态)‘69’‘85’使用条件不满足‘6D’‘00’INS不支持或错误‘6E’‘00’CLA不支持或错误‘93’‘02’MAC无效C.3.2.3安全所有在JRT0025.1-2005中描述的安全要求适用于电子钱包应用。所有涉及到资金划转或修改智能卡中敏感数据的交易,应使用加密密钥来保证应用的安全性。对于使用初始化命令的交易,密钥索引号包含在初始化命令报文中。EPM-C收到初始化命令后,使用命令中所给的密钥索引号找到卡中的相应密钥进行运算。过程密钥只用于交易的特定阶段。交易类型不同决定了产生过程密钥的输入数据和密钥也不同。EPM-C上的密钥应安全存储。表C.35描述了存储在智能卡上用于电子钱包应用的密钥。表C.35电子钱包应用密钥密钥意义用途DLK圈存密钥。发卡方基于电子钱包的应用序列号用来产生圈存交易中使用的过程密钥。产生的一个双倍长密钥。DTKTAC密钥。发卡方基于电子钱包的应用序列号用来产生消费、取现和圈存交易中使用的产生的一个双倍长密钥。TAC。DPUKPIN解锁密钥。发卡方基于电子钱包应用序列应用产生解锁PIN命令的MAC。号产生的一个双字节密钥。DRPK重装PIN密钥。发卡方基于应用序列号产生的用于产生重装PIN命令的MAC。一个双字节密钥。DAMK应用维护密钥。发卡方基于应用序列号产生的用于产生应用锁定、应用解锁、卡片锁定和一个双字节密钥。更新二进制命令的MAC。C.4扣费交易扣费交易允许用户使用电子钱包的余额获取节目订购服务。EAM-C处理用户的订阅请求,找到相应的费率信息,在EPM-C中扣除指定的金额,然后在EAM-C中生成授权信息,完成整个扣费-授权交易。在这个交易过程中,无论是EAM-C端还是EPM-C端,都有若干步骤需要对现存的数据进行更新。所有这些更新应全部完成或一个都不完成,不允许出现部分数据更新的情况。C.4.1交易流程扣费交易流程见图C.2。70 GY/T220.6—2008图C.2扣费交易处理流程1.发出EPM_InitializeForPurchase调用(步骤1)EAM-C发出EPM_InitializeForPurchase调用,启动扣费交易。2.处理EPM_InitializeForPurchase调用(步骤2)EPM-C接到调用后,将进行以下操作:·检查是否支持命令中提供的密钥索引号。如果不支持,则不继续交易‘·检查电子钱包余额是否大于或等于交易金额。如果小于交易金额,则不继续交易。71 GY/T220.6—2008在通过以上检查之后,电子钱包将产生一个伪随机数(ICC)和过程密钥。过程密钥是利用DPK产生的。用于产生该过程密钥的输入数据如下:SESPK:伪随机数(ICC)||电子钱包脱机交易序号||EAM-C交易序号的最右两个字节3.产生MAC1(步骤3)使用伪随机数(ICC)和EPM-C回送的电子钱包脱机交易序号,EAM-C将产生一个过程密钥(SESPK)和一个报文认证码(MAC1),供EPM-C来验证EAM-C的合法性。用SESPK对以下数据进行加密产生MAC1(按所列顺序):·交易金额;·交易类型标识;·EAM-C标识;·交易日期;·交易时间。4.发出EPM_Purchase调用(步骤4)EAM-C发出EPM_Purchase调用。5.验证MAC1(步骤5)在接到EPM_Purchase调用后,EPM-C将验证MAC1的有效性。如果MAC1有效,交易处理将继续执行下一步骤。否则将中止交易。6.交易处理(步骤6)EPM-C从电子钱包余额中扣减扣费的金额,并将电子钱包脱机交易序号加1。EPM-C应成功地完成以上所有步骤或者一个也不完成。只有余额和序号的更新均成功后,交易明细才可更新。EPM-C产生一个报文鉴别码(MAC2)供EAM-C对EPM-C进行合法性检查。EPM-C将通过EPM_Purchase调用的输出回送以下数据给EAM-C,作为产生MAC2的输入数据,用SESPK对以下数据加密产生MAC2:·交易金额。EPM-C产生TAC,它将被写入EAM-C交易明细,以便将来进行交易验证。下面是用来生成TAC的数据,它们以明文形式通过EPM_Purchase调用的输出回送到EAM-C:·交易类型标识;·EPM-C脱机消费交易序号;·交易金额;·EAM-C标识;·EAM-C交易序号;·交易日期;·交易时间。EPM-C将用以下数据组成的一个记录更新交易明细。·交易类型标识;·EPM-C脱机消费交易序号;·交易金额;·EAM-C标识;·EAM-C交易序号;·交易日期;·交易时间。7.验证MAC2(步骤7)在收到从EPM-C传来的MAC2后,EAM-C要验证MAC2的有效性。如果无效,EAM-C发出EPM_GetTransactionLog调用,读取EPM-C中的最新一条交易明细并与EAM-C中保存的交易信息进行比较。如果不匹配,记录本次交易为失败交易,中止交易。72 GY/T220.6—20088.授权处理(步骤8)EAM-C生成授权,保存授权和交易明细(包括TAC),结束交易。C.4.2异常处理EAM-C将一个EPM_Purchase调用发给EPM-C以更新电子钱包余额时,EPM-C回送一个TAC,以证明更新已经发生。EPM-C应在更新余额前计算TAC,一旦余额更新成功,应保证EAM-C可以通过EPM_GetTransactionProve调用获得此TAC。接到EPM_InitializeForPurchase调用时,这些加密数据应被丢弃。如果在EPM-C端EPM_Purchase调用执行过程中,EAM-C还未接收到输出数据之时(步骤6),模块突然掉电,EAM-C将会处于不知EPM-C是否更新的不定状态。这种情况下,模块上电后,EAM-C将负责发出EPM_GetTransactionProve调用进行恢复。假如返回TAC,EAM-C即可跳过步骤7,直接执行步骤8完成交易处理;如果TAC无法回送,则说明EPM-C中的余额没有被修改。交易可以用EPM_InitializeForPurchase调用重新开始。C.5自授权过程EPM-C与EAM-C的自授权过程如图C.3所示。73 GY/T220.6—2008CA电子钱包应用ESG(1)ECM(2)查询节目授权信息(3)a有授权(3)b无授权,显示提示信息(4)获取订购信息(5)返回订购信息(6)显示订购信息(7)用户确认订购(8)费率分析(9)发起扣款请求(10)扣款及相关操作(11)返回扣款操作结果(12)解扰(13)发送解扰后的音视频数据图C.3电子钱包自授权流程图图中描述了使用电子钱包实现用户自授权的基本应用流程:a)CA模块接收到ECM;b)CA模块查询节目对应的授权信息;c)根据查询到的授权信息情况,向终端应用模块发送不同的消息;1)如有授权,发送消息给终端应用模块,然后可播放节目;2)如没有授权,发送消息给终端应用模块,显示给用户相关的信息;d)终端应用模块向ESG查询订购信息;e)ESG将业务对应的订购信息返回给终端应用模块;f)终端应用模块显示获得的业务订购信息;g)用户确认后,该确认信息被发送至CA模块;h)CA模块分析费率;i)向电子钱包模块发起扣款请求;j)电子钱包执行扣款和相关的操作;74 GY/T220.6—2008k)电子钱包将扣款结果返回给CA;l)扣款成功,CA输出控制字给解扰器,对节目解扰;m)将解扰后的视音频数据发给播放器。75 GY/T220.6—2008附录D(规范性附录)电子钱包应用密钥关系及相关文件D.1电子钱包应用密钥关系附录描述了与电子钱包应用相关的设备实体之间的密钥关系,此外还描述了密钥的推导方法和过程密钥的产生方法。D.1.1密钥关系表以下描述的所有密钥均为双倍长DEA密钥(128比特长)。为确保密钥的安全,密钥的产生和存放都应由一个专用的安全模块(HSM)来处理。下表概述了支持电子钱包应用的发卡方、EPM-C、EAM-C之间的密钥关系。电子钱包模块中存储的用于电子钱包应用的密钥,见表D.1。表D.1电子钱包应用的密钥密钥发卡方EPM-CEPM-S圈存密钥圈存主密钥(MLK)圈存子密钥(DLK)N/A离线充值密钥——————扣(消)费主密钥扣(消)费子密钥扣(消)费子密钥扣(消)费密钥(MPK)(DPK)(DPK)TAC密钥TAC主密钥(MTK)TAC子密钥(DTK)N/A信令密钥信令主密钥(MCK)信令子密钥(DCK)N/A口令密钥口令密钥————(PIN)说明:1、信令密钥应用于电子钱包信令载荷的加、解密运算和信令载荷MAC的计算和验证。信令根据其作用对象的不同,有针对所有EPM-C有效的全局信令和针对某个EPM-C有效的局部信令两种情况,全局信令使用每个EPM-C都存储的相同全局密钥计算MAC和加密载荷;局部信令使用每个EPM-C不同的局部密钥计算MAC和加密载荷。每个EPM-C存储全局和局部两类信令密钥,通过安全参数中的密钥标识致命。信令密钥的具体用法参见电子钱包信令流程。2、因为圈存和离线充值两种增值手段的安全性要求很高,所以使用多组,每组多个密钥,保证交易数据的完整性。可以使用1个字节标识此类分组密钥,该字节的高位4bits表示密钥分组标识,该字节的低位4bits表示密钥组内标识。因为4bits的取值范围为0~15,所以分组数目最大为16,一组个数最大为16。3、扣(消)费或圈存中使用的TAC密钥由指定的扣(消)费或圈存密钥标识一并确定,不再单独指定。D.1.2子密钥推导方法本章节描述了电子钱包中密钥的推导方法。下图描述了DPK推导的过程。D.1.2.1DPK左半部分的推导方法推导双倍长DPK左半部分的方法见图D.1,具体步骤如下:──应用序列号的最右16个数字作为输入数据──将MPK作为加密密钥──用MPK对输入数据进行3DEA运算76 GY/T220.6—2008InputDataDESMPK(Encryption)(LeftHalf)DESMPK(Decryption)(RightHalf)DESMPK(Encryption)(LeftHalf)LefthalfoftheDPK图D.1推导DPK左半部分D.1.2.2DPK右半部分的推导方法推导双倍长DPK右半部分的方法见图D.2,具体步骤如下:──将应用序列号的最右16个数字的求反作为输入数据──将MPK作为加密密钥──用MPK对输入数据进行3DEA运算InputDataDESMPK(Encryption)(LeftHalf)DESMPK(Decryption)(RightHalf)DESMPK(Encryption)(LeftHalf)RighthalfoftheDPK图D.2推导DPK右半部分上图描述的方法同样适用于ED的消费/取现、圈存和圈提、修改等子密钥的推导,及EP的消费和圈存子密钥的推导。D.1.3过程密钥的产生过程密钥是在交易过程中用可变数据产生的单倍长密钥。过程密钥产生后只能在某过程/交易中使用一次。图D.3描述了EP进行消费交易时产生过程密钥的机制。这方法也用于不同交易类型的过程密钥的产生,但输入的数据取决于不同的交易类型。77 GY/T220.6—2008InputDataDESDPK(Encryption)(LeftHalf)DESDPK(Decryption)(RightHalf)DESDPK(Encryption)(LeftHalf)SingleLengthSessionKeyforEPPurchase(SESPK)图D.3过程密钥的产生D.1.4MAC/TAC的计算MAC/TAC的产生使用以下单倍长DEA算法:第一步:将一个8个字节长的初始值(InitialVector)设定为16进制的’0x0000000000000000’。第二步:将所有的输入数据按指定顺序连接成一个数据块。第三步:将连接成的数据块分割为8字节长的数据块组,标识为D1,D2,D3,D4等等。分割到最后,余下的字节组成一个长度小于等于8字节的最后一块数据块。第四步:如果最后一个数据块长度为8字节,则在此数据块后附加一个8字节长的数据块,附加的数据块为:16进制的’0x8000000000000000’。如果最后一个数据块长度小于8字节,则该数据块的最后填补一个值为16进制’0x80’的字节。如果填补之后的数据块长度等于8字节,则跳至第五步。如果填补之后的数据块长度仍小于8字节,则在数据块后填补16进制’0x00’的字节至数据块长度为8字节。第五步:MAC的产生是通过上述方法产生的数据块组,由过程密钥进行加密运算,过程密钥的产生方法见图D.3。TAC的产生是通过上述方法产生的数据块组,由DTK密钥左右8位字节进行异或运算的结果进行加密运算。MAC或TAC的算法见图D.4描述。78 GY/T220.6—2008InitialVectorI2I3I4I5+KMADEAKMADEAKMADEAKMADEAI1=D101020304+++MACD2D3D4Legend:I=InputD=DatablockDEA=DataEncryptionAlgorithm(enciphermentmode)KMA=MACSessionKeyAO=Output+=Exclusive-OR图D.4MAC和TAC的单倍长DEA密钥算法第六步:最终值的左4字节为MAC或TAC。D.2电子钱包相关文件D.2.1电子钱包ID(应用序列号)命名规则电子钱包ID(应用序列号)为8个字节,第1、2字节为电子钱包地区代码,表示发卡所在地;第3字节为电子钱包类型代码,表示钱包类型;第4字节保留,缺省为0x00,为未来扩展使用;第5-8字节为随机生成或顺序增长的数值,可以使用卡ID或EAM-CID作为电子钱包ID的第5-8字节。应保证电子钱包ID的唯一性,即应保证第1、2字节相同的电子钱包ID,第5-8字节唯一。D.2.2电子钱包状态管理和查询文件见表D.2。表D.2电子钱包状态管理和查询文件数据元长度说明状态类型1Byte状态项的类型状态说明4Bytes状态项的说明电子钱包状态管理和查询文件中的数据元及说明见表D.3。79 GY/T220.6—2008表D.3管理和查询文件中的数据元及说明类型(0x)说明2字节已记录条数(与对应记11(增值记录状态)2字节总记录条数(常量,0x80)录文件对应项相同)2字节已记录条数(与对应记12(扣费记录状态)2字节总记录条数(常量,0x80)录文件对应项相同)2字节已记录条数(与对应记13(信令记录状态)2字节总记录条数(常量,0x80)录文件对应项相同)10(电子钱包增值状态)02(圈存状态)0D()0A(智能充值卡充值状态)前三字节忽略,最后一字节00有效,01无效,缺省为00。0B(充值码充值状态)0C(EMM充值状态)06(电子钱包消费状态)当已记录条数达到临界时,建议停止动作的处理,例如当消费记录达到80%(100/128)时,在终端界面上显示提示信息,要求用户回传记录;达到90%(115/128)时,在终端界面上显示警告信息,要求用户回传记录;达到100%(128/128)时,在终端界面上显示停止消费信息,强制用户回传记录。D.2.3电子钱包记录文件EPM-C使用三个文件分别存储三类记录,分别为消费交易记录、增值交易记录和信令记录。D.2.3.1EPM-C增值交易记录文件见表D.4。表D.4EPM-C增值交易记录文件记录总条数128(0x80,待定义,可扩展)已记录条数——记录长度23(0x17)Byte注:无论是圈存还是离线充值都使用同一个交易记录文件,在交易类型标识不同时,记录内容含义不同。圈存时记录项,见表D.5。表D.5圈存时记录数据元长度说明交易类型标识10x02EPM-C联机交易序号(加1后)2交易成功后自动加1。交易金额4终端机编号(联网主机)6主机交易日期4主机交易时间3保留3智能充值卡充值时记录项,见表D.6。80 GY/T220.6—2008表D.6智能充值卡充值时记录数据元长度说明交易类型标识10x0A交易金额4智能充值卡标识8智能充值卡应用序列号智能充值卡充值交易序号2与智能充值卡交互过程中获得EPM-C离线充值交易序号4TAC4智能充值卡计算注:1、不同的增值方式,无论是圈存,还是离线充值,使用同一文件存储增值交易记录,记录的第一字节标识交易类型。记录长度为23字节,如有需要,可以进行调整,充值码和EMM圈存的离线充值方式,因为报文格式没有定义,所以记录格式也无法定义。2、EMM充值记录在增值记录文件中存储,而不是在信令记录文件中存储。D.2.3.2EPM-C消费交易记录文件见表D.7。表D.7EPM-C消费交易记录文件记录总条数128(0x80,待定义,可扩展)已记录条数——记录长度44(0x2C)Byte消费交易记录项,见表D.8。表D.8EPM-C消费交易记录文件数据元数据元长度说明交易类型标识10x06EPM-C脱机消费交易序号2交易成功后自动加1。交易金额4EAM-C标识6EAM-C交易序号4交易日期4交易时间3D.2.3.3EPM-C电子钱包信令记录文件见表D.9。表D.9EPM-C电子钱包信令记录文件记录总条数128(0x80,待定义,可扩展)已记录条数——记录长度24(0x18)ByteEPM-C电子钱包信令记录文件数据元见表D.10。81 GY/T220.6—2008表D.10EPM-C电子钱包信令记录文件数据元数据元长度说明信令主类型2信令子类型1信令安全参数2电子钱包标识8信令管理对象标识2信令管理动作1信令随机数4信令MAC482 GY/T220.6—2008附录E(规范性附录)双向信道的授权和管理信息传输本部分定义授权信息在双向信道中的传输机制。目前,本部分定义了双向信道传输授权信息的以下两种方式:·IP链路;·OTA短信链路。E.1双向信道授权的基本流程双向信道授权流程基于MMB-CAS的技术体系,采用多级认证、即时授权,以实现双向信道的安全、快速授权,见图3。用户注册层:用户与前端系统使用双向信道进行相互认证,认证过程使用用户密钥(UK)。授权/安全管理层:前端根据用户订购关系(授权)将包含业务密钥SEK的EMM通过双向信道传送给用户。授权控制层:通过广播信道将控制字(CW)加密传送给终端,控制字用以对业务进行加/解扰。业务加扰层:使用控制字(CW)对业务加密后通过广播信道进行分发,终端使用解密过的控制字(CW)进行解扰。E.2双向信道的链路实现E.2.1基于IP链路的实现终端与前端利用双向IP网络进行交互授权。IP链路可基于无线网络如GPRS、Wi-Fi和WiMax等,以及基于有线网络如DSL和HFC等。E.2.2基于OTA短信链路的实现OTA短信在传输过程中需要通信运营商分配固定的短信接入号,通过短信网关来控制短信的收发来实现信道的交互。终端通过短信链路发送相关的认证信息,实现交互,获得业务密钥。在缺省的情况下,终端应用默认将短信下发到(U)SIM模块。为了实现OTA双向授权功能,需要修改终端应用。下面是修改终端应用,实现OTA短信双向授权的两个示例:示例1:通过特殊的短信DCS(DATA_CODING)来识别是否为MMB-CAS交互短信,例如采用0xF4表明为MMB-CAS交互短信,终端收到DCS=0xF4的短信,自动送达CAM-C。示例2:在CAM-C中创建MMB-CAS授权交互短信的特服号文件,在文件中写入MMB-CAS授权短信的特服号(1个或多个),当终端收到短信网关的短信时,根据特服号来判定是否转发给CAM-C。83 GY/T220.6—2008附录F(规范性附录)TLV数据格式每个TLV命令标识都对应不同分类的数据载荷,其结构如下文所述。F.10x01HTTPGET数据载荷包含的内容见表F.1。表F.1HTTPGET数据载荷字段长度描述请求的URL转化后的URL长度HTTPGET请求的URL例如,如果初始URL是http://127.0.0.1:3518/e-purse,那么HTTP客户端连接到本地主机端口3518并发送HTTP命令“GET/e-purseHTTP/1.1”,终端中的HTTP(S)客户端组件将http请求转化成以下的TLV数据结构:Tag=0x01,Length=0x000x000x08,Value=”/e-purse”F.20x02HTTPPOST数据载荷包括MMB-CAS终端模块执行HTTPPOST命令的信息,内容见表F.2。表F.2HTTPPOST数据载荷字段长度描述url_len(L1)1byteHTTPPOST请求的URL的长度urlL1bytesHTTPPOST请求的URLcontent_type_len(L2)1byteHTTPPOST内容类型头的长度content_typeL2bytes包含HTTPPOST内容类型头的字符串data_len(L3)4bytesHTTPPOST数据载荷的长度DataL3bytesHTTPPOST的数据载荷F.30x03HTTPHEAD数据载荷包含的内容见表F.3。表F.3HTTPHEAD数据载荷字段长度描述request_url转化后的URL长度HTTPHEAD请求的URL例如,如果初始URL是:http://127.0.0.1:3518/e-purse,HTTP客户端连接到本地主机的3518端口,发布如下的HTTP命令“HEAD/e-purseHTTP/1.1”。终端中的HTTP(S)客户端组件将HTTP请求转化成如下的TLV数据:Tag=0x03,Length=0x000x000x08,Value=”/e-purse”终端应支持HTTPHEADTLV,MMB-CAS终端模块可选。F.40x04HTTPPUTHTTPPUT用于终端向MMB-CAS终端模块上载数据,其数据载荷见表F.4。84 GY/T220.6—2008表F.4HTTPPUT数据载荷字段长度描述content_type_len(L1)1byteHTTP内容类型头的长度content_typeL1bytes包含HTTP内容类型头的字符串response_data_len(L2)4bytesHTTPPUT的数据长度response_dataL2bytesHTTPPUT的数据载荷终端应支持HTTPPUTTLV,MMB-CAS终端模块可选。F.50x05HTTPDELETE数据载荷包含的内容见表F.5。表F.5HTTPDELETE数据载荷字段长度描述request_url转化后的URL长度HTTPDELETE请求的URL例如,如果初始URL是:http://127.0.0.1:3518/somefile,HTTP客户端可以连接到本机的3518端口,发布如下的HTTP命令“DELETE/somefileHTTP/1.1”。终端中的HTTP(S)客户端组件将HTTP请求转换成如下的TLV数据结构:Tag=0x05,Length=0x000x000x09,Value=”/somefile”终端应支持HTTPHEADTLV,MMB-CAS终端模块可选。F.60x06HTTPRESPONSE数据载荷包含组成HTTP响应的数据,内容见表F.6。表F.6HTTPRESPONSE数据载荷字段长度描述result_code2bytesHTTP结果代码(i.e.200)content_type_len(L1)1byteHTTP内容类型头的长度content_typeL1bytes包含HTTP内容类型头的字符串response_data_len(L2)4bytesHTTP响应数据长度response_dataL2bytesHTTP响应的数据载荷F.70x07使用TLS的HTTPGET数据载荷与Tag=0x01的HTTPGET相似,但使用TLS分散密钥加密,见表F.7。表F.7使用TLS的HTTPGET数据载荷字段长度描述request_url转化后的URL长度经过加密的HTTPGET请求的URLF.80x08使用TLS的HTTPPOST数据载荷与Tag=0x02的HTTPPOST相似,但使用TLS分散密钥加密,见表F.8。85 GY/T220.6—2008表F.8使用TLS的HTTPPOST数据载荷字段长度描述url_len(L1)1byteHTTPPOST请求的URL的长度urlL1bytesHTTPPOST请求的URLcontent_type_len(L2)1byteHTTPPOST内容类型头的长度content_typeL2bytes包含HTTPPOST内容类型头的字符串data_len(L3)4bytesHTTPPOST数据载荷的长度DataL3bytesHTTPPOST的数据载荷F.90x09使用TLS的HTTPHEAD数据载荷与Tag=0x03的HTTPHEAD相似,但使用TLS分散密钥加密,见表F.9。表F.9使用TLS的HTTPHEAD数据载荷字段长度描述request_url转化后的URL长度HTTPHEAD请求的URL终端应支持HTTPHEADTLVwithTLS,MMB-CAS终端模块可选。F.100x0a使用TLS的HTTPPUT数据载荷与Tag=0x04的HTTPPUT相似,但使用TLS分散密钥加密,见表F.10。表F.10使用TLS的HTTPPUT数据载荷字段长度描述content_type_len(L1)1byteHTTP内容的长度-内容类型参数content_typeL1bytes包含HTTP内容的字符串-内容类型参数response_data_len(L2)4bytesHTTPPUT数据的长度response_dataL2bytesHTTPPUT数据的净荷终端应支持HTTPHEADTLVwithTLS,MMB-CAS终端模块可选。F.110x0b使用TLS的HTTPDELETE数据载荷与Tag=0x05的HTTPDELETE相似,但使用TLS分散密钥加密,见表F.11。表F.11使用TLS的HTTPDELETE数据载荷字段长度描述request_url转化后的URL长度HTTPDELETE请求的URL终端应支持HTTPHEADTLVwithTLS,MMB-CAS终端模块可选。F.120x0c使用TLS的HTTPRESPONSE数据载荷与Tag=0x06的HTTPRESPONSE相似,但使用TLS分散密钥加密,见表F.12。表F.12使用TLS的HTTPRESPONSE数据载荷字段长度描述result_code2bytesHTTP结果代码(例如:200)content_type_len(L1)1byteHTTP内容的长度-内容类型参数content_typeL1bytes包含HTTP内容的字符串-内容类型参数response_data_len(L2)4bytesHTTPResponse数据的长度response_dataL2bytesHTTPResponse数据的净荷86 GY/T220.6—2008F.130x0dTLS终端请求TLS终端请求应从终端发送给MMB-CAS终端模块,用以交换TLS的密钥,其数据载荷内容见表F.13。表F.13TLS终端请求数据载荷字段长度描述Random28bytes由终端生成的一个安全随机数在X.509中定义的以下认证流程:*认证终端唯一性certificate_listvariable*认证终端类型唯一性*认证终端厂商唯一性*认证CMMB的唯一性F.140x0eTLSMMB-CAS终端模块responseTLSMMB-CAS终端模块response应从MMB-CAS终端模块发送给终端作为TLS请求消息的响应数据,其数据载荷包含针对MMB-CAS终端模块的一个随机数和X.509的认证链路,内容见表F.14。表F.14TLSMMB-CAS终端模块response数据载荷字段长度描述Random28bytes由MMB-CAS终端模块生成的一个安全随机数在X.509中定义的以下认证流程:*认证MMB-CAS终端模块的唯一性certificate_listvariable*认证MMB-CAS终端模块类型的唯一性*认证MMB-CAS终端模块厂商唯一性*认证CMMB的唯一性F.150x0fTLSterminalfinishedTLSterminalfinished应从终端发送给MMB-CAS终端模块,作为终端收到TLSMMB-CAS终端模块响应的回复,其数据载荷内容见表F.15。表F.15TLSterminalfinished数据载荷字段长度描述Pre_master_secret48bytes用MMB-CAS终端模块的公钥加密的安全随机数由pre_master_secret计算master_secret的算法参见IETFRFC4346。F.160x10复用子帧复用子帧的数据载荷内容包含CMMB的ServiceID和子帧数据。如果整个子帧大于比MMB-CAS终端模块和终端之间协议的最大数据单元长度,终端应该将子帧分割成较小的数据单元,每一个单元的长度小于最大数据单元长度。数据载荷内容见表F.16。87 GY/T220.6—2008表F.16复用子帧数据载荷字段长度描述service_id2bytesCMMB复用子帧ServiceID定义了以下的内容:0x00–指示数据是一个完整的子帧partial_frame_information1byte0x01–指示是子帧的第一部分数据0x02–指示子帧的中间部分数据0x03–指示子帧的最后部分数据Sub_frame_data载荷长度–3复用子帧数据F.170x11SAC保护的复用子帧数据载荷与Tag=0x0a相似,但使用SAC密钥加密,见表F.17。表F.17SAC保护的复用子帧数据载荷字段长度描述service_id2bytesCMMB复用子帧ServiceID定义了以下的内容:0x00–指示数据是一个完整的子帧partial_frame_information1byte0x01–指示是子帧的第一部分数据0x02–指示子帧的中间部分数据0x03–指示子帧的最后部分数据Sub_frame_data载荷长度–3加密的复用子帧数据F.180xfeAcknowledgementAcknowledgement由MMB-CAS终端模块返回给终端用以指示终端的请求已经被成功处理,但没有专门的数据返回。例如当终端提交了EMM子帧后,MMB-CAS终端模块没有专门的数据返回。Acknowledgement的数据载荷为空,见表F.18。表F.18Acknowledgement数据载荷字段长度描述(empty)0数据载荷为空F.190xffErrorError用于从MMB-CAS终端模块向终端发送错误代码,其数据载荷内容见表F.19。表F.19Error数据载荷字段长度描述定义了以下的错误代码:0x00消息解析出错Errorcode1byte0x01MMB-CAS终端模块内部错误0x0ff未知错误可选的文本消息,用以描述错误原因。Text载荷长度-1本消息可被用做调试目的。88 GY/T220.6—2008附录G(资料性附录)移动多媒体广播条件接收系统终端模块参考模型本附录描述MMB-CAS终端的参考模型。其核心为CAM-C,包含EAM-C和EPM-C两部分。EAM-C划分成EAM-C固件模块和EAM-C软件模块两个部分。EAM-C固件模块处于安全硬件卡中,是MMB-CAS的安全核心,完成ECM处理、EMM处理、产品授权处理等核心功能。EAM-C软件模块是一个软件,运行在终端之中,向终端应用程序提供对EAM-C的访问接口。终端应用程序把接收到的ECM、EMM等数据送给EAM-C软件模块,由EAM-C软件模块交给EAM-C固件模块处理,并从EAM-C软件模块获取解密密钥送给解扰模块,对业务流解扰之后播放。EPM-C划分为EPM-C固件模块和EPM-C软件模块两个部分。EPM-C固件模块处于安全硬件卡中,是电子钱包的安全核心。EPM-C软件模块是一个软件,运行在终端之中,向终端应用程序提供对电子钱包的访问接口。终端应用程序可以与电子钱包进行接口,完成充值、记录查询回传等操作。EAM-C固件模块可以与EPM-C固件模块进行接口,完成指令送达、扣费等操作。G.1CAM-C模块的基本特性物理接口:可以采用SmartCard、SMD、SD、USB等多种形式实现。条件接收终端固件模块和软件模块之间的通信加密机制:通信加密提供第二层的数据保护,以防止EAM-C固件模块中的数据被篡改或攻击。加密处理器:EAM-C固件模块的体系结构可以选择是否支持多个加密算法,通过系统的注册指令可以将被选的加密处理器打开。物理保密:若不凭借特别的技巧和工具,无法对软件和硬件作增删或替换;只有通过特殊手段,才能对敏感数据进行输入、存储、访问与修改;任何部分的故障或破坏均不会导致敏感数据泄漏。逻辑保密:当处于一种敏感状态时,不许有两个以上的委托方的参与;口令的输入应以保护其他敏感数据的相同方式得到保护。密钥管理:EAM-C固件模块应严格保管密钥。G.2终端模块逻辑架构终端模块的参考模型见图G.1。89 GY/T220.6—2008图G.1终端模块参考模型EAM-C软件模块:对外提供CA相关接口。EAM-C固件模块:EAM-C固件模块主要完成ECM、EMM的处理;产品的订购处理等。EAM-C固件模块内保存授权记录。EPM-C软件模块:对外提供电子钱包相关接口。EPM-C固件模块:电子钱包主要完成充值处理、扣费处理等功能。G.3条件接收系统终端模块接口描述本部分描述了一种本地调用的接口模式,也可能采用其他模式。G.3.1接口A——终端应用程序与EAM-C软件模块接口通常的接口包括:·调度接口:终端程序对EAM-C软件模块进行进程管理。如:初始化等;·固件模块状态接口:终端程序把固件模块的状态改变通知EAM-C模块,如:插拔卡等。终端程序获取固件模块信息,如:获取卡号等;·EMM处理接口:终端程序把接收到的EMM数据给EAM-C软件模块处理;·ECM处理接口:终端程序把接收到的ECM数据给EAM-C软件模块处理;·产品处理接口:终端程序对产品进行订购、取消订购、查询等处理;·记录信息处理接口:终端进行授权记录查询、授权记录清除等处理。G.3.2接口B——EAM-C软件模块与CA适配层的接口通常的接口包括:·内存处理接口:内存相关API,包括内存的分配、释放、设置、拷贝等;90 GY/T220.6—2008·线程处理接口:线程相关API,包括任务注册、信号量管理等;·固件模块通信接口:在与固件模块的通讯过程中,终端向固件模块发送一串命令字节,固件模块会通过标准的协议与终端交互;·固件模块操作接口:对固件模块本身的操作,包括固件模块的打开、关闭、复位等。G.3.3接口C——终端应用程序与EPM-C软件模块接口通常的接口包括:·调度接口:终端程序对EPM-C软件模块进行进程管理。如:初始化等;·固件模块状态接口:终端程序把固件模块的状态改变通知EPM-C模块,如:插拔卡等。终端程序获取钱包信息,如:获取钱包号等;·充值处理接口:终端程序把接收到充值数据给EPM-C软件模块处理;·记录信息处理接口:终端进行充值记录查询、充值记录清除等处理。G.3.4接口D——EPM-C软件模块与电子钱包适配层接口通常的接口包括:·内存处理接口:内存相关API,包括内存的分配、释放、设置、拷贝等;·线程处理接口:线程相关API,包括任务注册、信号量管理等;·固件模块通信接口:在与固件模块的通讯过程中,终端向固件模块发送一串命令字节,固件模块会通过标准的协议与终端交互;·固件模块操作接口:对固件模块本身的操作,包括固件模块的打开、关闭、复位等。G.3.5接口E——EAM-C固件模块与EPM-C固件模块接口接口应该包括:·扣费;·查询钱包。G.4移动多媒体广播终端模块主要工作流程G.4.1不使用电子钱包的节目收看见图G.2。91 GY/T220.6—2008图G.2不使用电子钱包收看节目流程图在不使用电子钱包收看节目情况下,有两种场景,具体如下:a)节目未授权·前端:广播发送EMM授权信息;·终端:接收EMM,送固件模块;·EAM-C固件模块:对EMM进行处理,记录授权信息;·终端:接收ESG,显示节目单,用户选择收看某节目;·终端:接收该节目对应的ECM数据,送EAM-C固件模块;·EAM-C固件模块:对ECM进行解密。但因为本节目无授权,因此无法解密;·终端:无法收看,提示用户未授权。b)节目已授权·前端:广播发送EMM授权信息;·终端:接收EMM,送固件模块;·EAM-C固件模块:对EMM进行处理,记录授权信息;·终端:接收ESG,显示节目单,用户选择收看某节目;·终端:接收该节目对应的ECM数据,送EAM-C固件模块;·EAM-C固件模块:对ECM进行解密,因为本节目已授权,所以可以解密,将CW返回;·终端:将CW送给解扰模块,解扰后播放。G.4.2使用电子钱包的产品订购见图G.3。92 GY/T220.6—2008图G.3使用电子钱包产品定购流程图使用电子钱包的产品订购过程:·前端:广播产品信息,产品信息包含产品标识、扣费策略等数据;·终端:接收产品信息,显示产品列表,用户选择订购某产品;·终端:将用户订购的产品数据送EAM-C固件模块;·EAM-C固件模块:处理用户订购的产品数据,扣费,然后生成授权记录保存。G.4.3使用电子钱包的节目收看见图G.4。图G.4使用电子钱包节目观看流程图93 GY/T220.6—2008在使用电子钱包收看节目情况下,有两种场景,具体如下:a)有电子钱包的普通节目收看过程(已订购产品)·终端:接收ESG,显示节目单,用户选择收看某节目;·终端:接收该节目对应的ECM数据,送EAM-C固件模块。ECM中包含该节目所属的产品标识;·EAM-C固件模块:对ECM进行处理。获得对应的产品标识。寻找是否已经订购该产品并且没有过期(是)。因此对CW进行解密,返回CW;·终端:将CW送给解扰模块,解扰后播放。b)有电子钱包的普通节目收看过程(未订购产品)·终端:接收ESG,显示节目单,用户选择收看某节目;·终端:接收该节目对应的ECM数据,送固件模块。ECM中包含该节目所属的产品标识;·EAM-C固件模块:对ECM进行处理。获得对应的产品标识。寻找是否已经订购该产品并且没有过期(未)。因此不对CW进行解密;·终端:提示用户未订购产品。G.4.4使用电子钱包的产品密钥发送过程·前端:利用广播或组播发送产品密钥信息EMM;·终端:接收产品密钥信息EMM,送固件模块;。·EAM-C固件模块:对EMM进行处理,记录该产品密钥。G.4.5使用电子钱包的特殊节目(PPV/PPT)收看过程见图G.5。前端广播ECM信息,ECM包含特殊节目扣费策略终端接收ESG,显示节目单,用户选择收看某节目终端接收该节目对应的ECM数据,送EAM-C固件模块EAM-C固件模块对ECM进行处理,根据此扣费策略进行扣费检查是否钱包是否有余额?提示用户无余额EAM-C固件模块解密CW并返回终端将CW送给解扰模块,解扰后播放图G.5用电子钱包收看特殊节目流程图·前端:广播ECM信息,ECM包含特殊节目的扣费策略等信息;94 GY/T220.6—2008·终端:接收ESG,显示节目单,用户选择收看某节目;·终端:接收该节目对应的ECM数据,送EAM-C固件模块。ECM中包含该节目所属的产品标识;·EAM-C固件模块:对ECM进行处理。获得特殊节目的扣费策略,根据此扣费策略进行扣费,然后给出CW;·终端:将CW送给解扰模块,解扰后播放;·EAM-C固件模块:如果钱包费用不足,则不给出CW,终端不能播放。G.4.6电子钱包的充值(EMM)·前端:通过某种途径向终端发送EMM电子钱包充值数据;·终端:接收并将前端给出的EMM电子钱包充值数据送EAM-C固件模块;·EAM-C固件模块:将EMM中的电子钱包充值数据送电子钱包处理。G.4.7电子钱包的充值(充值码)·前端:每个充值卡上面有一串数字码,对应一定面额的充值金额。用户购买充值卡后,打电话或上网,向前端输入充值卡的数字码、电子钱包ID。前端检查数字码正确后,根据电子钱包ID,充值金额,时间戳等信息生成一个充值码,返回给用户。·终端:用户将充值码输入终端。终端将充值码送智能卡电子钱包。电子钱包解析充值码,获取充值金额,向对应钱包充值。G.4.8电子钱包的充值(智能充值卡)·前端:发行具备运算能力和前端授权的固定面值智能充值卡;·用户:购买智能充值卡,插入终端;·终端:在智能充值卡与电子钱包之间交换数据;·电子钱包:处理数据,将相应金额加入电子钱包。具体流程见图G.6。95 GY/T220.6—2008开始发送InitializeForCharge命令(步骤2.1)处理InitializeforCharge命令(步骤2.2)验证MAC1否(步骤2.3)是返回错误条件交易处理(步骤2.4)(步骤2.5)发送DebitforCharge命令(步骤2.6)验证MAC2否(步骤2.7)是返回错误条件交易处理(步骤2.8)(步骤2.9)验证MAC3否(步骤2.10)是返回错误条件充值处理(步骤2.11)(步骤2.12)结束图G.6智能充值卡充值处理流程·发出INITIALIZEFORCHARGE命令(步骤2.1)电子钱包发出INITIALIZEFORCHARGE命令启动充值交易,报文参数包含伪随机数1和消费金额等;·处理INITIALIZEFORCHARGE命令(步骤2.2)收到INITIALIZEFORCHARGE命令后,智能充值卡将进行以下操作:——检查消费金额是否等于智能充值卡余额。——产生伪随机数2,生成过程密钥,计算消息认证码(MAC1),供电子钱包验证充值交易及智能充值卡的合法性。——智能充值卡将INITIALIZEFORCHARGE响应报文回送给电子钱包处理,报文参数包括伪随机数2和MAC1等;·验证MAC1(步骤2.3)96 GY/T220.6—2008电子钱包根据两个伪随机数,生成过程密钥,验证MAC1的有效性。有效,交易处理按步骤2.5中的描述执行;否则,交易处理将执行步骤2.4;·回送错误状态(步骤2.4)如果验证MAC1失败,电子钱包向智能充值卡回送错误代码;·交易处理(步骤2.5)在确认能够进行充值交易后,电子钱包使用过程密钥,产生消息认证码(MAC2),用于智能充值卡检查电子钱包的合法性;·发出DEBITFORCHARGE命令(步骤2.6)电子钱包向智能充值卡发出DEBITFORCHARGE命令,消费智能充值卡上全部余额,报文参数包括MAC2等;·验证MAC2(步骤2.7)收到DEBITFORCHARGE命令后,智能充值卡应验证MAC2的有效性。有效,交易处理将执行步骤2.9;否则,交易处理将执行步骤2.8;·回送错误状态(步骤2.8)智能充值卡验证MAC2失败时,拒绝后续交易,错误计数器加1;·交易处理(步骤2.9)智能充值卡扣减交易金额,计算MAC3,对本次交易生成交易授权码(TAC);·验证MAC3(步骤2.10)电子钱包验证MAC3的有效性。有效,交易处理将执行步骤2.12;否则,交易处理将执行步骤2.11;·回送错误状态(步骤2.11)电子钱包验证MAC3失败时,拒绝后续交易;·充值处理(步骤2.12)电子钱包将智能充值卡金额加入电子钱包余额之中,交易流程结束。G.4.9按周期授权的自动生成过程见图G.7。97 GY/T220.6—2008图G.7按周期授权的自动生成过程图·终端开机后,EAM-C固件模块内部检查所有已订购的产品;·判断当前时间是否处于产品原结算周期之内。如果在,说明授权尚未过期,正常结束。如果当前时间已经超过原结算周期,则应该自动生成授权。首先向钱包扣费,如果成功则生成新一结算周期的授权记录;否则提示用户余额不足。98 GY/T220.6—2008附录H(资料性附录)基于SD物理接口的MMB-CAS终端模块基于SD的MMB-CAS终端模块应可以完全插入到终端中,其接口结构见图H.1,这种设备可有以下封装形式:·标准SD;·Mini-SD;·Micro-SD。基于Mini-SD,Micro-SD的MMB-CAS终端模块可以通过适配器(Mini-SD到SD,或者Micro-SD到SD)转换成标准SD接口。本部分中SD封装的MMB-CAS终端模块和终端之间采用SDIO接口协议进行数据交换。图H.1基于SDIO的MMB-CAS终端模块的接口结构图其中:·物理接口层为SDIO接口,终端和MMB-CAS终端模块的所有数据都通过SD接口,按照其接口协议进行传输;·MMB-CAS终端模块协议适配层,将终端或者MMB-CAS终端模块需要传输的数据,封装为符合SDIO传输协议的格式;·逻辑协议层,将终端和MMB-CAS终端模块之间需要传输的数据按照下本部分中TLV格式进行封装,实现数据分类传输。SDIO适配MMB-CAS终端模块应支持SDIO的四种传输模式:·基于字节的写操作;·基于字节的读操作;·基于块的写操作;·基于块的读操作。当传输HTTP命令时,如果出现读写错误,应重新传输数据。当传输CMMB子帧时,如果出现读写错误,可不重传子帧数据。H.1基于字节的读写操作本部分描述基于字节的基本传输模式。基于字节的写操作数据映射如图H.2所示:99 GY/T220.6—2008图H.2MMB-CAS终端模块的基于字节写操作示意图在字节写操作模式下,终端上写一段数据到MMB-CAS终端模块时,应先将将待传输数据顺序拆分成8字节为单位的数据块,如待传输数据不是8字节的整数倍,最后一个数据块无需补齐。拆分后,终端通过SDIO接口,将数据块顺序分块发送给MMB-CAS终端模块。当传输出现错误时,应按照标准的SDIO流程进行重传。基于字节的读操作数据映射如图H.3所示。图H.3MMB-CAS终端模块的基于字节读操作示意图在字节读操作模式下,终端上接收到一个MMB-CAS终端模块发出的中断信号后,开始读取数据包,读操作以8字节为单位,按数据块顺序读取。当传输出现错误时,应按照标准的SDIO流程进行重传。H.2基于块的读写操作基于块的写操作数据映射如图H.4所示。100 GY/T220.6—2008图H.4MMB-CAS终端模块的基于块写操作示意图在块传输的写操作模式下,终端上写一段数据到MMB-CAS终端模块时,应先将将待传输数据顺序拆分成8字节为单位的数据块,如待传输数据不是8字节的整数倍,最后一个数据块无需补齐。拆分后,终端通过SDIO接口,将数据块连续发送给MMB-CAS终端模块。当传输出现错误时,应按照标准的SDIO流程进行重传。基于块的读操作数据映射如图H.5所示。图H.5MMB-CAS终端模块的基于块读操作示意图在块传输的读操作模式下,终端上接收到一个MMB-CAS终端模块发出的中断信号后,开始读取数据包,读操作以8字节为单位,按数据块连续进行。当传输出现错误时,应按照标准的SDIO流程进行重传。101 GY/T220.6—2008附录I(资料性附录)基于USB物理接口的MMB-CAS终端模块基于USB的MMB-CAS终端模块的接口结构,除接口形式是USB物理通讯层外,其它与基于SD接口的MMB-CAS终端模块相同。另外,USB物理通讯层提供错误检测、重发等机制保障数据的完整性USB接口的MMB-CAS终端模块,设备描述符的bDeviceClass和bDevicePortocol应为0。I.1USB设备适配USB设备描述表见表I.1。表I.1USB设备描述表偏移量域长度值描述0BLength1数字描述表的字节数1BDecriptorType1常量设备描述表类型2BcdUSB2BCD码USB设备版本号4BDeviceClass1类设备类码5BDeviceSubClass1子类子类码6BDevicePortocol1协议协议码7bMaxPacketSize01数字端口0的最大包大小8IdVendor2ID厂商标识10IdProduct2ID产品标识12BcdDevice2BCD码设备发行号14IManufacturer1索引厂商信息索引15IProduct1索引产品信息索引16ISerialNumber1索引设备序列号索引17bNumConfigurations1数字可能的设置数接口描述符见表I.2,其bInterfaceClass应为0xff,bInterfaceSubClass和bInterfaceProtocol可以为0x10。表I.2USB接口描述符偏移量域长度值描述0BLength1数字描述表的字节数1BDescriptorType1常量接口描述表类型2BInterfaceNumber1数字接口号3BAlternateSetting1数字可选的索引值4BNumEndpoints1数字此接口用的端点数5BInterfaceClass1类类值6BInterfaceSubClass1子类子类码7BInterfaceProtocol1协议协议码8IInterface1索引接口描述表的索引值I.2基于字节的读写操作102 GY/T220.6—2008本部分描述基于字节的基本传输模式,其示意图如图I.1所示。长度TAG接口数据(L-4Bytes)(3Bytes)协议层适配层数据(8Bytes)数据(8Bytes)数据(8Bytes)数据(Lmod8Bytes)基于字节传输基于字节传输基于字节传输基于字节传输USB数据USB数据USB数据USB数据USB(8Bytes)(8Bytes)(8Bytes)(Lmod8Bytes)图I.1MMB-CAS终端模块的基于字节写操作示意图在字节写操作模式下,终端上写一段数据到MMB-CAS终端模块时,应先将将待传输数据顺序拆分成8字节为单位的数据块,如待传输数据不是8字节的整数倍,最后一个数据块无需补齐。拆分后,终端通过USB接口,将数据块顺序分块发送给MMB-CAS终端模块。当传输出现错误时,应按照标准的USB流程进行重传。基于字节的读操作数据映射如图I.2所示。长度ServiceID(3Bytes)(1Bytes)接口数据(L-4Bytes)协议层适配层数据(8Bytes)数据(8Bytes)数据(8Bytes)数据(Lmod8Bytes)基于字节传输基于字节传输基于字节传输基于字节传输USB数据USB数据USB数据USB数据USB(8Bytes)(8Bytes)(8Bytes)(Lmod8Bytes)图I.2MMB-CAS终端模块的基于字节读操作示意图在字节读操作模式下,终端上接收到一个MMB-CAS终端模块发出的中断信号后,开始读取数据包,读操作以8字节为单位,按数据块顺序读取。当传输出现错误时,应按照标准的USB流程进行重传。I.3基于块的读写操作基于块的写操作数据映射如图I.3所示:103 GY/T220.6—2008长度ServiceID(3Bytes)(1Bytes)接口数据(L-4Bytes)协议层适配层数据(8Bytes)数据(8Bytes)数据(8Bytes)数据(Lmod8Bytes)基于块传输USB数据USB数据USB数据USB数据USB(8Bytes)(8Bytes)(8Bytes)(Lmod8Bytes)图I.3MMB-CAS终端模块的基于块写操作示意图在块传输的写操作模式下,终端上写一段数据到MMB-CAS终端模块时,应先将将待传输数据顺序拆分成8字节为单位的数据块,如待传输数据不是8字节的整数倍,最后一个数据块无需补齐。拆分后,终端通过USB接口,将数据块连续发送给MMB-CAS终端模块。当传输出现错误时,应按照标准的USB流程进行重传。基于块的读操作数据映射如图I.4所示。长度ServiceID(3Bytes)(1Bytes)接口数据(L-4Bytes)协议层适配层数据(8Bytes)数据(8Bytes)数据(8Bytes)数据(Lmod8Bytes)基于块传输USB数据USB数据USB数据USB数据USB(8Bytes)(8Bytes)(8Bytes)(Lmod8Bytes)图I.4MMB-CAS终端模块的基于块读操作示意图在块传输的读操作模式下,终端上接收到一个MMB-CAS终端模块发出的中断信号后,开始读取数据包,读操作以8字节为单位,按数据块连续进行。当传输出现错误时,应按照标准的USB流程进行重传。104 GY/T220.6—2008附录J(资料性附录)基于SPI物理接口的MMB-CAS终端模块基于SPI的MMB-CAS终端模块应集成在终端中,这种终端模块的封装形式不限,通常是芯片方式。J.1系统结构MMB-CAS终端卡接口结构本附录中的MMB-CAS终端模块和终端之间采用SPI接口协议进行数据交换。系统结构如图J.1所示。图J.1基于SPI的MMB-CAS终端模块的接口结构图物理层为SPI接口,为终端和MMB-CAS终端模块的数据传输提供了物理链路。传输层将终端或者MMB-CAS终端模块需要传输的数据,转换为符合SPI传输协议的格式,并提供了命令等待机制和出错处理机制。逻辑协议层将终端和MMB-CAS终端模块之间需要传输的数据按照本部分中TLV格式进行封装,实现数据分类传输。当传输HTTP命令时,如果出现读写错误,应重新传输数据。当传输CMMB子帧时,如果出现读写错误,可不重传子帧数据。J.2字节顺序本附录中,数据以字节为单位在SPI总线上传输,字节应由高位到低位出现在总线上。J.3基于字节的写操作基于字节的写操作数据映射如图J.2所示。图J.2基于字节的写操作示意图写操作时,终端应先在SPI总线上写入一个起始字节;然后将待传输TLV数据顺序写入SPI总线;全部数据传输完成后,终端应将数据净荷的16位CRC值写入SPI总线。终端可以在任意两相邻字节间停止写入数据,并插入适当等待时间。终端在无数据传输时,可保持写入空闲字节,也可停止总线时钟。105 GY/T220.6—2008J.4基于字节的读操作基于字节的读操作数据映射如图J.3所示。MOSI空闲TagLengthDataPayloadMISO空闲起始字节数据净荷(TLV数据)CRC空闲空闲图J.3基于字节的读操作示意图读操作时,终端应在SPI总线上保持写入空闲字节,并读取SPI总线。当终端检测到起始字节时,开始顺序读入TLV数据(符合本部分7.1节定义)。终端应解析数据,获得传输数据长度。全部数据读取完成后,终端应读入两字节的CRC值,并判断已读入的数据净荷是否正确。终端可以在任意两相邻字节间停止读出数据,并插入适当等待时间。J.5特殊字节定义传输层使用特殊字节标识SPI总线状态,或进行特殊状态控制。表J.1规定了所有使用特殊字节。表J.1特殊字节定义字节值字节标识功能描述0x00-0xfa保留0xfb休眠字节命令芯片进入休眠节电状态0xfc重传字节请求重新传输上一次数据0xfd错误字节标识总线传输错误,终端应根据数据类型重传数据或放弃传输0xfe起始字节标识有效数据0xff空闲字节标志SPI输入/输出总线处于空闲态106 GY/T220.6—2008附录K(资料性附录)MMB-CAS终端模块应用场景K.1场景1这里假定终端和MMB-CAS终端模块进行了双向认证,初始化并且MMB-CAS终端模块已经将SAC密钥传送给了终端。a)用户在终端上选择某个加扰业务;b)终端发送一条HTTP业务选择POST命令给MMB-CAS终端模块,命令包含业务ID和相关的加扰参数;c)MMB-CAS终端模块用HTTPresponse作为响应,响应数据为业务列表,其中包含了收看该节目所需的所有子帧;d)终端从CMMB网络收到子帧,将他们打包成复用子帧TLV数据格式转发给MMB-CAS终端模块;e)MMB-CAS终端模块从子帧中提取相关的CA数据,对子帧中的视音频解扰,然后用SAC密钥重新加密,返回给终端;f)终端将收到的加密视音频数据子帧解密,然后将子帧解码播放。K.2场景2这里假定终端和MMB-CAS终端模块进行了双向认证,初始化并且MMB-CAS终端模块已经将SAC密钥传送给了终端。a)用户在终端上选择某个加扰节目;b)终端发送一条HTTP业务选择POST命令给MMB-CAS终端模块,命令包含业务ID和相关的加扰参数;c)MMB-CAS终端模块用HTTPresponse作为响应,响应数据为业务列表,其中包含了收看该节目所需的所有业务;d)终端从CMMB网络收到子帧,将他们打包成复用子帧TLV数据格式转发给MMB-CAS终端模块;e)MMB-CAS终端模块从子帧中提取相关的CA数据,判断在节目被解扰之前需要购买授权;f)MMB-CAS终端模块发送包含WML网页的HTTP响应给终端,该页面上包含了订购选项。例如:一个业务有三种购买方式,其中用户可以用50元包月,15元观看一周,5元每天;g)用户通过选择选项确认购买,用户确认的结果通过HTTPGET命令返回给MMB-CAS终端模块;h)CA密钥管理系统发送SIM_Decrease命令,该命令包含用户购买选项对应的费用;i)当CA密钥管理系统收到了SIM_Decrease命令的返回值表示扣款成功后,CA密钥管理系统更新授权信息;j)MMB-CAS终端模块从子帧中提取相关的CA数据,对子帧中的视音频解扰,然后用SAC密钥重新加密,最后返回给终端;k)终端将收到的加密视音频数据子帧解密,然后将子帧解码播放。107 GY/T220.6—2008附录L(资料性附录)Java卡中EAM-C和EPM-C应用的下载流程卡片提供方在向卡片发行方提供Java卡时,卡中已建有一个主SecureDomain,并在此基础上,建有一个子SecureDomain,两个SecureDomain使用相同的初始密钥下载应用。EPM-C应用下载到主SecureDomain中,EAM-C应用下载到子SecureDomain中。由三方(卡片发行方、EAM-C提供方、EPM-C提供方)参与的下载流程如下:a)卡片发行方将主SecureDomain的下载权限开放给EPM-C提供方,EPM-C提供方将EPM-C应用下载到主SecureDomain中;卡片返回给卡片发行方;b)卡片发行方使用个人化指令,将EPM-C的个人化数据(EPM-C标识和EPM-C密钥等)写入EPM-C应用中;c)卡片发行方修改主SecureDomain的密钥;d)卡片发行方将子SecureDomain的下载权限开放给EAM-C提供方,EAM-C提供方将EAM-C应用和EAM-C密钥下载到子SecureDomain中;e)EAM-C提供方修改子SecureDomain的密钥;卡片返回给卡片发行方;f)卡片发行方将卡片状态更改为SECURED(Readytoissure);g)卡片发行方向最终用户发行卡片。108 中华人民共和国广播电影电视行业标准移动多媒体广播第6部分:条件接收GY/T220.6-2008*国家广播电影电视总局广播电视规划院出版发行责任编辑:王佳梅查询网址:www.abp.gov.cn北京复兴门外大街二号联系电话:(010)8609342486092923邮政编码:100866版权专有不得翻印'